请选择 进入手机版 | 继续访问电脑版
智能合约 +关注 已有2人关注 +发表新主题

以太坊的混合二层扩容协议曙光(二)

发表在 2019-10-17 10:44 来自PC 复制链接 手机看帖 扫一扫!手机看帖更爽 0 601

(接上文)

该技术非常优雅。然而它依赖于一个关键的假设:每个状态对象都有一个逻辑“所有者”,未经所有者同意,对象的状态不能更改。这对于基于utxo的支付(但不是基于账户的支付,你可以在未经他人同意的情况下向上修改他人的余额;),甚至可以让它为分布式交易所工作,但这种“所有权”属性远非普遍性。有些应用程序(如Uniswap)没有自然所有者,甚至在那些有所有者的应用程序中,通常有多个用户可以合法地对对象进行编辑。没有办法允许任意第三方退出资产而不引入拒绝服务(DoS)攻击的可能性,恰恰是因为无法证明发行人或提交人是否有过错。

Plasma和通道还存在其他特殊问题。通道不允许非该通道的用户进行脱链交易(参数:假设存在一种在通道内部可以向任意新用户发送1美元的方式,那么该技术可以与向系统中资金不足的用户发送1美金,已经违反了其安全保证)Plasma要求用户存储大量的历史数据,当不同的资产可以交织在一起时,历史数据就会变得更大。

因为链上计算链下二层技术不存在数据可用性问题,所以它们没有这些弱点。zk和optimistic rollup非常小心地将足够多的数据放在链上,以允许用户计算第二层系统的完整状态,确保如果任何参与者消失,一个新的参与者可以轻松地代替他们。他们唯一的问题是验证计算而不在链上进行计算,这是一个容易得多的问题。ZK rollup中每个事务约10个字节,通过使用BLS聚合来聚集签名,在乐观汇总(optimistic rollup)中可以实现类似级别的可扩展性。从理论上讲,伊斯坦布尔之后的2000多个交易每秒最多可以进行约500笔交易。

但是如果您想要更大的可扩展性怎么办?然后链上数据第二层协议和链外数据第而层协议之间有很大的中间地带,许多混合方法为您提供了这两种协议的一些好处。举个简单的例子你可以通过发布链上哪些订单与哪些订单相匹配(每个订单少于4个字节)的映射来防止在Plasma Cash上实现的去中心化交易所中的历史存储爆炸:



左:如果Plasma cash用户拥有1枚代币,则需要存储历史数据。中:Plasma cash用户需要存储的历史数据,如果他们拥有1枚代币,该代币已通过原子交换与另一枚代币交换。右:如果订单匹配在链上发布,Plasma cash用户需要存储的历史数据。

即使在去中心化交易所环境之外,也可以通过使Plasma链定期在链上发布某些按用户数据来减少用户需要在Plasma中存储的历史记录量。还可以想象一个平台,在某些状态确实具有逻辑“所有者”的情况下,其工作方式与Plasma类似,而在没有状态的情况下,其工作方式与ZK或乐观汇总(optimistic rollup)类似。Plasma开发人员已经开始着手进行此类优化。

因此第二层可扩展性解决方案的开发人员有一个很好的理由,至少在某些时候更愿意在链上发布每个用户的数据:它大大提高了开发的易用性、通用性和安全性,并减少了每个用户的负载(例如不需要用户存储历史数据)。这样做的效率损失也被夸大了:即使在完全的外链二层架构中,用户可以在不同的用户之间的存放、撤回和转移将是不可避免的且频繁发生的,因此无论在哪种情况下都会有大量的每个用户的链数据。混合路由为在准二层架构中相对快速地部署完全通用的以太坊式智能合约打开了大门。


扫描二维码,手机查看本帖
显示全部楼层 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部
快速回复 发贴