Ethereum Layer 2 Scaling Solution: State Channel

All articles5个月前更新 wyatt
38 0 0
通道区分为支付通道和状态通道,状态通道是在支付通道基础上衍生而来的。

撰文:张乐辉

一 什么是通道,为什么需要通道?

1.1 为什么需要通道?

Blockchain随着用户量和交易量的增加,导致交易拥堵,交易速度慢,费用较高。因此,需要增加Blockchain的扩展性,那么通道就是扩展方案之一。

1.2 什么是通道?

  • 第一: 通道是一种解决Blockchain扩容问题的方案,是一个点对点 (p2p) 网络或者协议,它允许通道双方可以进行多笔交易,将最后处理和计算的结果提交链上, 在链上进行签名验证和结算。通道区分为支付通道和状态通道,状态通道是在支付通道基础上衍生而来的

  • 第二: 通道通过链下交易,来减少与主链的直接交互,减轻主链的负担,也可以减少用户的成本

  • 第三: 每一条通道,由主链上的多签智能contract管理,要打开一个通道,双方需要在链上部署contract,然后存入一定数量的资产

  • 第四: 当通道建立时,双方创建一个初始状态,记录双方的初始余额 ( 例如,Alice 5 ETH,Bob 5 ETH)。双方对初始状态进行签名并各自保存一份签名状态。初始状态可能存储在双方的本地数据库或Safety存储中

  • 第五: 当关闭通道的时候,需要双方确认最终状态,生成最终状态签名。然后提交最终状态到区块链,区块链进行签名验证和结算,正式关闭通道。

二 状态通道工作原理和流程

2.1 创建和部署多签contract,建立通道

2.1.1 部署多签合约

L1 主链需要部署多签合约来管理通道,该合约需要交易双方存入一定资金,并且锁定,直到通道关闭,结算完成,释放资金

2.1.2 存入资金

合约部署之后或者已经部署了,那么交易双方需要各存入一定数量的资金,然后资金会锁定在当前多签合约

2.2 链下交易

2.2.1 生成初始状态

当通道建立时,双方创建一个初始状态,记录双方的初始余额 ( 例如,Alice 5 ETH,Bob 5 ETH)。双方对初始状态进行签名并各自保存一份签名状态。初始状态可能存储在双方的本地数据库或Safety存储中。

以太坊 Layer2 扩容方案之 State Channel

image.png

2.2.2 进行交易

Alice 向 Bob 支付 1 ETH。交易后,新的余额状态为:Alice 4 ETH,Bob 6 ETH。双方对新的余额状态签名确认。

以太坊 Layer2 扩容方案之 State Channel

image.png

2.2.3 多次交易

双方可以继续进行多次交易,每次交易后更新余额状态并签名确认。例如,Bob 向 Alice 支付 2 ETH 后,新的余额状态为:Alice 6 ETH,Bob 4 ETH。这些交易数据保存在 Alice 和 Bob 的本地,不立即提交到区块链

以太坊 Layer2 扩容方案之 State Channel

image.png

2.3 关闭通道

2.3.1 准备关闭通道

2.3.1.1 确认最终状态

Alice 和 Bob 需要确认当前最新的交易状态,并确保双方都同意这个状态。这个状态记录了最新的余额分配情况 ( 例如,Alice 6 ETH,Bob 4 ETH)。

2.3.1.2 生成最终状态签名

双方对最终状态进行签名,生成包含最终余额和双方签名的信息

以太坊 Layer2 扩容方案之 State Channel

image.png

2.3.2 提交最终状态到区块链

Alice 和 Bob 中的任何一方都可以将最终状态提交到区块链。提交的内容包括最终状态的余额分配和双方的签名。

2.3.3 验证和结算

2.3.3.1 验证签名

在区块链上验证提交的签名,确保提交的最终状态是双方认可的。验证逻辑通常包括检查签名的有效性以及签名是否匹配最终状态。

2.3.3.2 余额结算

验证通过后,智能合约按照最终状态的余额分配,将资金从多签名地址释放给双方。资金按最终状态的余额分配给 Alice 和 Bob,例如Xiaobai Navigation:Alice 6 ETH,Bob 4 ETH。

2.3.3.3 标记通道关闭

智能合约将通道状态标记为已关闭,防止再次提交状态。

三 为什么通道要设计成多签合约?

通道合约设计成多签合约主要是为了确保双方的资金Safety,并且需要双方共同同意才能进行资金转移。这种设计提供了一层额外的Safety保障,防止任何一方在没有得到对方同意的情况下独自操作资金。以下是为什么通道合约设计成多签合约的几个关键原因:

3.1 确保资金安全

在多签合约中,资金的转移需要得到多个签名的授权(通常是双方的签名)。这确保了单方面无法擅自转移资金,增强了资金的安全性。

3.2 防止欺诈

多签合约可以有效防止任何一方试图进行欺诈操作。因为任何资金的移动都需要双方签名确认,这确保了所有交易都是双方同意的。

3.3 实现链下交易的签名确认机制

多签合约允许在链下进行多次交易,每次交易后通过签名确认更新状态。最终状态在双方同意后提交到链上结算。这种机制需要双方的签名确认,确保每一步操作都是透明和被认可的。

3.4 确保通道关闭的正确性

在关闭通道时,多签合约确保最终状态的提交和结算需要双方的同意。这避免了任何一方单方面关闭通道并获取不公平的余额分配。

四 状态通道优缺点比较

4.1 优点

第一: 交易成本低,提升了交易效率第二: 数据不上链,具有较强的隐私性第三: 存在挑战期,具有较强的安全性

4.2 缺点

第一: 存在挑战期,提现速度慢第二: 链下不支持智能合约第三: 要求交易双方必须同时在线参与方需要保持连接,在线的话能够及时接收和处理交易状态更新以及参与争议解决;如果一方试图恶意关闭通道或提交错误的状态,在线的另一方可以及时介入,通过链上的争议解决机制第四: 参与主体有限一个通道一般就 2 个参与方,不能太多人参与第五: 不适用于大规模网络,扩展性较差。

The article comes from the Internet:Ethereum Layer 2 Scaling Solution: State Channel

相关推荐: BitgetPoolX:全年无休的被动收益

越质押,越富有。 PoolX 是 Bitget 最新推出的Staking Mining平台,质押指定币种,赚取热门Token,按用户质押数量占比,每小时分发代币。自4月8日上线首个项目CHATAI至今,Bitget PoolX共上线了10个项目,几乎每一天都有一个项目上线PoolX,平…

share to
© 版权声明

相关文章