Channel 是一种解决区块链扩容问题的方案,是一个点对点(p2p)网络或者协议,它允许通道双方可以进行多笔交易,将最后处理和计算的结果提交链上, 在链上进行签名验证和结算。通道区分为支付通道和状态通道,状态通道是在支付通道基础上衍生而来的
本系列文章: 以太坊Layer2扩容方案之State Channel 以太坊Layer2扩容方案之Sidechain 以太坊Layer2扩容方案之Plasma 以太坊Layer2扩容方案之Rollup 以太坊Layer2扩容方案之Validium
一 什么是通道,为什么需要通道?
1.1 为什么需要通道?
区块链随着用户量和交易量的增加,导致交易拥堵,交易速度慢,费用较高。因此,需要增加区块链的扩展性,那么通道就是扩展方案之一。
第一: 通道是一种解决区块链扩容问题的方案,是一个点对点(p2p)网络或者协议,它允许通道双方可以进行多笔交易,将最后处理和计算的结果提交链上, 在链上进行签名验证和结算。通道区分为支付通道和状态通道,状态通道是在支付通道基础上衍生而来的
第二: 通道通过链下交易,来减少与主链的直接交互,减轻主链的负担,也可以减少用户的成本
第三: 每一条通道,由主链上的多签智能合约管理,要打开一个通道,双方需要在链上部署合约,然后存入一定数量的资产
第四: 当通道建立时,双方创建一个初始状态,记录双方的初始余额(例如,Alice 5 ETH,Bob 5 ETH)。双方对初始状态进行签名并各自保存一份签名状态。初始状态可能存储在双方的本地数据库或安全存储中
第五: 当关闭通道的时候,需要双方确认最终状态,生成最终状态签名。然后提交最终状态到区块链,区块链进行签名验证和结算,正式关闭通道。
L1主链需要部署多签合约来管理通道,该合约需要交易双方存入一定资金,并且锁定,直到通道关闭,结算完成,释放资金
合约部署之后或者已经部署了,那么交易双方需要各存入一定数量的资金,然后资金会锁定在当前多签合约
当通道建立时,双方创建一个初始状态,记录双方的初始余额(例如,Alice 5 ETH,Bob 5 ETH)。双方对初始状态进行签名并各自保存一份签名状态。初始状态可能存储在双方的本地数据库或安全存储中。
Alice向Bob支付1 ETH。 交易后,新的余额状态为:Alice 4 ETH,Bob 6 ETH。 双方对新的余额状态签名确认。
双方可以继续进行多次交易,每次交易后更新余额状态并签名确认。例如,Bob向Alice支付2 ETH后,新的余额状态为:Alice 6 ETH,Bob 4 ETH。 这些交易数据保存在Alice和Bob的本地,不立即提交到区块链
Alice和Bob需要确认当前最新的交易状态,并确保双方都同意这个状态。这个状态记录了最新的余额分配情况(例如,Alice 6 ETH,Bob 4 ETH)。
双方对最终状态进行签名,生成包含最终余额和双方签名的信息
Alice和Bob中的任何一方都可以将最终状态提交到区块链。提交的内容包括最终状态的余额分配和双方的签名。
在区块链上验证提交的签名,确保提交的最终状态是双方认可的。验证逻辑通常包括检查签名的有效性以及签名是否匹配最终状态。
验证通过后,智能合约按照最终状态的余额分配,将资金从多签名地址释放给双方。资金按最终状态的余额分配给Alice和Bob,例如:Alice 6 ETH,Bob 4 ETH。
智能合约将通道状态标记为已关闭,防止再次提交状态。
通道合约设计成多签合约主要是为了确保双方的资金安全,并且需要双方共同同意才能进行资金转移。这种设计提供了一层额外的安全保障,防止任何一方在没有得到对方同意的情况下独自操作资金。以下是为什么通道合约设计成多签合约的几个关键原因:
在多签合约中,资金的转移需要得到多个签名的授权(通常是双方的签名)。这确保了单方面无法擅自转移资金,增强了资金的安全性。
多签合约可以有效防止任何一方试图进行欺诈操作。因为任何资金的移动都需要双方签名确认,这确保了所有交易都是双方同意的。
多签合约允许在链下进行多次交易,每次交易后通过签名确认更新状态。最终状态在双方同意后提交到链上结算。这种机制需要双方的签名确认,确保每一步操作都是透明和被认可的。
在关闭通道时,多签合约确保最终状态的提交和结算需要双方的同意。这避免了任何一方单方面关闭通道并获取不公平的余额分配。
第一: 交易成本低,提升了交易效率 第二: 数据不上链,具有较强的隐私性 第三: 存在挑战期,具有较强的安全性
第一: 存在挑战期,提现速度慢 第二: 链下不支持智能合约 第三: 要求交易双方必须同时在线 参与方需要保持连接,在线的话能够及时接收和处理交易状态更新以及参与争议解决;如果一方试图恶意关闭通道或提交错误的状态,在线的另一方可以及时介入,通过链上的争议解决机制 第四: 参与主体有限 一个通道一般就2个参与方,不能太多人参与 第五: 不适用于大规模网络,扩展性较差
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!