火星链 火星链
Ctrl+D收藏火星链

ROLL:混合 Layer 2 协议的曙光

作者:

时间:1900/1/1 0:00:00

编者按:本文来自链闻ChainNews,撰文:VitalikButerin,链闻编译,Odaily星球日报经授权转载。

当前以太坊Layer2扩容解决方案正从理论走向实践。但与此同时,我们越来越明显的看到这些技术存在内在挑战,离成熟的以太坊扩容技术还有一定距离。在很大程度上,以太坊是成功的,因为以太坊的开发者体验很不错:编写程序、发布程序、任何人都可以与之交互。另一方面,设计一个状态通道或Plasma应用,依赖于很多关于激励和应用特定用例开发复杂性的明确推理。状态通道适用于特定用例,例如在两个交易者或两个游戏玩家之间发生的多笔重复支付,但是更加通用的用例似乎依然存在一定难度。Plasma可以用于支付场景,但想要实现通用用例存在一定程度的挑战:即使是部署一个去中心化交易所,也需要客户存储更多的历史数据,而且在Plasma上部署以太坊式通用智能合约似乎也非常困难。但与此同时,一个被遗忘的「半Layer2」的协议类别再次出现了——这一类型虽然无法提升可扩展性,但能实现更加泛化和安全的模型。在2014年发布的一篇博客文章中,我介绍了「影子链」的概念,它是一种在链上发布区块数据的架构,但在默认情况下并不会验证区块。相反,区块会被暂时接受,然后在一段时间之后才最终确认。在这两周内,临时被接受的区块可能会受到挑战,通过挑战验证区块,如果区块最终被证明是无效的,那么该区块所在的链将会被恢复,同时原始发布者的保证金会被扣除作为惩罚。合约不会追踪系统的完整状态,只会追踪状态根,用户自己也可以从头至尾处理提交给区块链的数据来计算状态。而最近出现的一个叫做ZKRollup的提案,通过使用ZK-SNARKs验证区块的有效性,虽然没有挑战期,但是可以达到同样的效果。

Elliptic:Atomic Wallet黑客已将资金发送到加密混合商Sinbad.io:金色财经报道,区块链合规分析公司Elliptic报告称,其调查团队已经追踪到3500万美元的Atomic Wallet损失资金被发送到加密货币混合商Sinbad.io。该混合服务之前被用来清洗朝鲜Lazarus集团盗窃的超过1亿美元的加密货币资产。

Elliptic没有具体说明向混合器发送多少,但指出赃物正在被交换为比特币。[2023/6/6 21:18:37]

上图:发布在链上的ZKRollup包剖析图。影响ZKRollup系统状态的数百笔“内部交易”被压缩成一个包,其中包含约占10个字节大小的每笔内部交易,以及用于证明相关转移过程全部有效性的SNARK,约100-300字节。在上述情况下,主链用于验证数据可用性,但不会验证区块有效性或执行任何重要的计算。因此,这种技术在扩容上并没有什么关键优势,因为链上数据负载最终会成为瓶颈,但不可否认,它依然是一个非常重要的手段。数据比计算更便宜,而且市场上也有很多大幅压缩交易数据的方法——主要是因为交易中绝大部分数据都是签名数据,而且很多签名可通过多种形式的聚合压缩为单个签名。ZKRollup承诺每秒可以处理500笔交易,这个效率比以太坊本身提升了三十倍,这是因为它将每个交易压缩到了仅仅10个字节,交易有效性由零知识证明验证,因此不需要包含签名。另一方面,使用BLS聚合签名可以在「影子链」中实现类似的吞吐量。即将推出的伊斯坦布尔硬分叉会将数据的gas成本从每字节68个单位减少到每字节16个单位,同时还会将吞吐量提升四倍。那么,相比于Plasma这样的链下扩容技术,像ZK/OptimisticRollup这种数据链上技有什么好处呢?首先,ZK/OptimisticRollup无需「半可信」运营商。在ZKRollup中,因为交易有效性是通过加密证明来验证的,所以package的提交者其实没有太多办法「动坏心思」。在OptimisticRollup中,恶意提交者可以发布「坏区块」,但下一个提交者可以在发布自己的区块之前立即挑战该区块。在ZKRollup和OptimisticRollup中,会有足够多的数据会发布到链上,允许任何人计算完整的内部状态,需按顺序处理所有提交的delta即可,而且没有取消此属性的「数据扣留攻击」。也就是说,成为一个运营商可以是完全「无需许可」的,所需的保证金也仅仅是用于反垃圾邮件的目的而已。其次,OptimisticRollup的实现更加泛化,OptimisticRollup系统中的状态转换函数可以在单个区块的gas上限中用来进行更加通用的计算。理论上,ZKRollup也可通过相同方式实现通用计算,但实际操作中,将ZKSNARKs用于通用计算是非常困难的,至少到目前为止是这样。再次,OptimisticRollup更容易构建客户端,因为它对Layer2网络基础设施的需求较少,只需扫描区块链即可完成很多工作。不过,像ZK/OptimisticRollup的优势是什么呢?实际上,这是一个高度技术性的问题,也就是所谓数据可用性问题。基本上,有两种方法可以在Layer2系统中「作弊」:第一种是将无效数据发布到区块链上,第二种是根本不发布数据。发布无效数据其实很容易处理,因为一旦数据在链上发布,有许多方法可以确定它是否有效,并且将提交的无效数据标记为无效,提交者也会因此受到严厉的惩罚。另一方面,不可用数据相比而言会更难处理,因为即使遇到挑战也无法检测到不可用性,也无法精准确定这些未发布的数据到底是谁的错误,尤其是在数据被默认保留的情况下,仅当某些验证机制试图验证其可用性时才按需显示。这一点在「渔夫困境」中得到了说明,即在一个挑战响应游戏中,无法区分恶意提交者和恶意挑战者:

BiKi混合合约行情播报:合约多空持仓量占比为69%:31%:据BiKi合约官方数据,截至今日14:00(GMT+8),合约多空总量持仓占比为69%:31%。BTC多空持仓占比为76%:24%;ETH为79%:21%;BCH为55%:45%;EOS为77%:23%;XRP为66%:34%;BIKI混合合约为75%:25%;JST混合合约为75%:25%;ODIN混合合约为55%:45%。

混合合约指用户可使用任意币种作为保证金来交易主流永续合约品种,盈亏均以保证金币种进行结算。作为全球最大的混合合约交易平台,目前平台已开放BIKI、VDS、ETH、TRX、HT、YTA、JST、ODIN、OKS、LINK、DMCH等币种,更多币种持续开放中。[2020/8/26]

上图:渔夫困境。如果你仅在T3时刻开始观察给定的特定数据,那么就无法知道自己是在Case1还是在Case2里,因此也就不知道到底是谁的错。通过将问题推给用户,Plasma和状态通道有效地解决了「渔夫困境」问题:如果你是一个用户,并且决定与另一个用户进行交互,假设该用户没有向你发送他们应该发布的数据,那么你就会退出,并转移到下一个交易对手/操作员。作为用户,你拥有所有以前的数据和由你签署的所有交易数据,这一事实使你可以在区块链中证明自己在Layer2协议中拥有的资产,从而安全地将这些资产带出系统。另外,你还需要有接收资产的操作证明,同时,没有其他人可以证明你把相关资产发送给其他人,那么你就获得了这笔资产。这个技术的确很优雅,但却依赖一个关键性的假设:每个状态对象都有一个逻辑「所有者」,而且在未经该所有者同意的情况下,对象状态是不能被更改的。所以,该技术适用于基于未花费交易输出的支付交易,甚至可以用于去中心化交易所,但这种「所有者」的属性还远远不够。一些应用并没有自然所有者,即使在那些拥有所有者的应用程序中,也经常出现多个人可合法地对相关对象进行编辑。如果不引入拒绝服务攻击的可能性,就没有办法允许任意第三方退出资产,因为没有人能够证明发布者或提交者是否有过错。此外,Plasma和状态通道还分别存在一些其他问题。对于那些还没有加入状态通道的用户,不允许进行链下交易。Plasma要求用户用户存储大量的历史数据,当不同的资产相互交织时,这些数据会变得更大买单机制的去中心化交易所中发生的那样)。因为数据链上计算链下的Layer2技术没有数据可用性问题,所以不存在上述弱点。ZKRollup和OptimisticRollup会非常谨慎地在链上放置足够的数据,以便允许用户计算Layer2系统的完整状态,确保如果任何参与者消失,新的参与者可以轻而易举地顶替。Layer2技术的唯一问题是不进行链上计算的情况下验证计算,但这其实是一个很容易解决的问题。而且,扩容会带来更大的效益:ZKRollup中每个交易大约10个字节,通过使用BLS聚合签名,OptimisticRollup也能达到类似的级别。理论上,每秒最高可达500次交易,而在伊斯坦布尔升级之后该指标数字可以达到每秒2000次。但是,如果你想获得更高的可扩展性呢?实际上,数据链上Layer2和数据链下Layer2协议之间存在很大的中间地带,许多混合解决方案较好地利用了两者的优势。举个简单的例子,通过在链上发布一个订单撮合映射,就可以防止部署在PlasmaCash上的去中心化交易所出现历史存储爆炸问题:

BiKi混合合约行情播报:合约多空持仓量占比为74%:26%:据BiKi合约官方数据,截至今日14:00(GMT+8),合约多空总量持仓占比为74%:26%。BTC多空持仓占比为90%:10%;ETH为58%:42%;BCH为46%:54%;EOS为43%:57%;XRP为93%:7%;BIKI混合合约为51%:49%;JST混合合约为88%:12%;ODIN混合合约为93%:7%。

混合合约指用户可使用任意币种作为保证金来交易主流永续合约品种,盈亏均以保证金币种进行结算。作为全球最大的混合合约交易平台,目前平台已开放BIKI、VDS、ETH、TRX、HT、YTA、JST、ODIN、OKS、LINK、DMCH等币种,更多币种持续开放中。[2020/8/21]

上图左:拥有一个代币的PlasmaCash用户需要存储的历史数据;上图中:当拥有一个代币且该代币是通过原子交换获得时,PlasmaCash用户需要存储的历史数据;上图右:如果订单撮合被发布在链上,PlasmaCash用户需要存储的历史数据;在去中心化交易所用例之外,为了减少用户需在Plasma中存储的历史数据量,则可以让Plasma链定期在链上发布每个用户的一些数据。我们还可以想象一个平台在某些状态有逻辑「所有者」的情况下像Plasma一样工作,或者在某些状态没有逻辑「所有者」的情况下,像ZKRollup或OptimisticRollup一样工作。Plasma开发人员已开始着手这些优化工作。其实,现在有必要为Layer2扩容解决方案的开发者提供一个强有力的用例,让他们更愿意在链上发布每个用户的数据:这样会极大地提升开发便捷性、通用性和安全性,并减少了每个用户的负载。这么做也会提升效率,即使在完全链下的Layer2架构中,用户在不同交易对手方和提供商之间存、取款和转账也将是不可避免且经常发生的,因此,会产生大量的用户数据。显然,混合路由为实现在准Layer2架构内部快速部署完全通用的以太坊式智能合约打开了一扇门。

BiKi混合合约行情播报:合约多空持仓量占比为57%:43%:据BiKi合约官方数据,截至今日14:00(GMT+8),合约多空总量持仓占比为57%:43%。BTC多空持仓占比为43%:57%;ETH为65%:35%;BCH为91%:9%;EOS为77%:23%;XRP为9%:91%;BIKI混合合约为40%:60%;JST混合合约为90%:10%;ODIN混合合约为81%:19%。

混合合约是指用户可使用任意币种作为保证金来交易主流永续合约品种,盈亏结算均以保证金的币种进行结算,可轻松实现以币赚币。目前平台合约已开放BIKI、VDS、ETH、TRX、HT、YTA、JST、ODIN、OKS、LINK、DMCH混合币种,更多混合合约币种持续开放。[2020/8/17]

BBKX平台\"0手续费\"混合合约上线次日交易额突破13亿BBK:据BBKX数据显示,BBKX平台已于7月9日上线BBK混合合约,首创0交易手续费。截止今日17时(UTC+8),BBK混合合约交易用户数已达516人,交易额为13.6亿枚BBK,当前持仓量为2750万枚BBK,用户最高收益92656枚BBK,已为用户累计节省手续费11093USDT。

BBKX混合合约是基于永续合约推出的第二代合约产品。首期上线BBK混合合约,后续将根据用户需求陆续上线其他币种。

BBKX成立于2019年6月,已获得节点资本与链上基金联合投资,现货交易手续费低至0.05%。[2020/7/11]

标签:ROLLROLLASLASMTROLLER价格AgrolifeCoinatlas币未来前景LASM价格

以太坊最新价格热门资讯
NBT:BTC整理、主流币领涨,整体反弹行情并未到来

周末两天,主流币在EOS带领下,全线上涨,EOS涨幅将近20%,ETH涨幅10%,BCH涨幅9%,LTC涨幅10%。与此相对的是,大盘BTC却并没有表现,依旧在小区间震荡走势.

1900/1/1 0:00:00
SDT:比特币反弹面临压力,投资者需端正心态

今天在某个项目方的微信群里,看到有人宣传该项目代币即将上线头部交易所的公告,截图明显是PS的,只要去官网查下就知道真假,但仍然有人选择相信,觉得是无风不起浪,静观其变.

1900/1/1 0:00:00
EOS:留给EOS的时间不多了?

编者按:本文来自白话区块链,作者:木沐,Odaily星球日报经授权转载。最近,去年的热度王EOS风波不断,就在前几天,EOS生态海外社区的一个知名DApp开发者突然发难表示:“EOS超级节点几乎.

1900/1/1 0:00:00
AKI:OKEx矿池负责人Alina:OKEx矿池的破局之路是成为数字加密资产管理公司

首先来聊一下有关于共识机制的迭代。所谓的Staking是由PoS这个说法衍生出来的,PoS其实也是一个新的领域,首先我们来聊一聊PoS机制的迭代.

1900/1/1 0:00:00
加密货币:比特币站稳MA60日均线,上涨只差量能配合

进入了9月,币圈的消息依旧缺陈乏新,除了9月23日即将上线的Bakkt期货交易所,和近期央行数字货币工程的快速推进外,其他都是小消息,对市场的影响微乎其微.

1900/1/1 0:00:00
ALA:我们到底需要什么样的共识算法?

编者按:本文来自橙皮书,作者:任之劼博士,星球日报经授权发布。“我们之所以需要区块链,是因为对于中心化系统最大的担忧不是作恶代价的大小,而恰恰是作恶成本无法估计、无法量化.

1900/1/1 0:00:00