摘要
我们提出了一种新的Layer-2可扩展技术“zkPorter”,可以将zkRollup和分片结合在一个高度可扩展且原子化可组合的区块链网络中。
问题#1:交易吞吐量≠可扩展性???
交易吞吐量是用全网处理的总交易数量来度量的;而可扩展性是单个节点处理的交易数量。zkRollup可以被认为是满足了安全性和有用性的终极Layer-2扩展方案。但是zkRollup相对于主网仅仅提供了约100倍的可扩展性提升,因为交易数据还是需要广播到所有全节点。有人可能会说,zkRollup只是线性提升了吞吐量,但并没有提供指数级的可扩展性。
zkRollup在Eth1上的处理速度可达3000TPS,但保守估计——取决于Eth2实现的细节——在分片化的Eth2上的处理速度至少是20000TPS。相比于Visa最高可达24kTPS的吞吐量,这已经是个巨大的成就了,但因为我们想要帮助今天还不能享受到银行服务的数十亿人,我们还要争取更多。
问题#2:孤立的可扩展性是死胡同?
DeFi的崛起意味着可组合性是成功的关键。作为可以自由组合的“货币积木”,DeFi应用证明了把免信任的协议层层叠加可以解锁的潜在价值。如果一个项目只盯着自己的扩展方案,最终他们会发现自己孤立于由社区共享的、可组合的扩展机制所创造的安全性和网络效应之外。
介绍zkPorter?
在本文中,我们要演示一种新的、基于零知识证明的扩展方案,它有望能解决上述所有问题:zkPorter。
解释zkPorter?
zkPorter是一个账户模式的、基于简洁的零知识证明来保障安全性的免信任型扩展协议。类似于zk家族的其它扩展方案,zkPorter中的计算可以指数级扩展:任意多的交易都可以用几乎恒定的开销来验证。每一笔交易都会由Layer-1上的智能合约来验证,所以zkPorter中的账户状态的正确性与Layer-1上的状态有同样的安全性保证。
孙宇晨:格林纳达WTO职务任期即将结束,将继续专注数字经济和加密货币监管:据官方消息,3月31日晚间,波场TRON创始人、火必Huobi全球顾问委员会成员孙宇晨在推特宣布,作为格林纳达常驻WTO代表、特命全权大使的任期于2023年3月31日结束。接下来几个月,他将专注于这一职位的移交工作。孙宇晨还表示,计划在休息一段时间后继续公务员生涯,特别关注数字经济与加密货币监管。
孙宇晨表示:“自2021年11月就任此职以来,我有幸代表格林纳达出席WTO并与一个优秀的专业团队共事。我们一起在各个方面取得了重大进展,从谈判到政策倡导。我的任期中的一个亮点是担任格林纳达代表团团长出席WTO第12届部长级会议(MC12)。我有机会在会议上发表讲话,并与来自世界各地的代表讨论贸易问题。通过这些互动,我获得了有关全球贸易形势的宝贵见解和观点。”[2023/4/1 13:38:17]
另一方面,基于零知识证明的扩展方案仍不能直接解决数据可用性问题:如果状态数据变得不可用,资金就会被冻结。zkRollup和Validium是用不同的方法来处理数据可用性问题的。
zkPorter使用了一个结合zkRollup理念和分片理念的混合方法来解决数据可用性问题。它可以支持任意多数量的分片,每一个分片都有自己的数据可用性方案。同时,对分片的选择是在个体账户层面上控制的。
zkPorter将对状态有效性和数据可用性的顾虑分离开来。状态有效性——有效的状态转换才能发生——由零知识证明工具来统一实现,这就能提供指数级的可扩展性,同时继承Layer-1的安全性保证。另一方面,数据可用性则委托给各分片自己解决,可以自由实验不同的解决方案。必要之处求联合,未决之事任自由!
zkPorter中的可组合性:打了激素的区块链互联网?
同步的跨分片互操作性公认是非常难的。这就是为什么现有的分配解决方案都选择了更简单的异步互操作性,用交易收据方法来实现。但是从同步模式转变成异步互操作性,会在协议交互和用户体验上产生许多令人头疼的麻烦,尤其是对那些对时间敏感的应用。
声音 | 新华社:警惕“区块链”成“区块乱”:据新华社消息,在一些极端案例中,区块链成为集资、的敛财旗号;而更多的时候,是“搭便车”的投机者利用时髦概念浑水摸鱼、蹭热点,今年以来,个别上市公司披露有关区块链的“忽悠式公告”,谈起了“链爱”,投资者需要擦亮双眼。
据专家介绍,近来“区块链”类案件频发,不法分子常以“投资虚拟货币周期短、收益高、风险低”为借口,取用户信任并诱使其转账进行投资。同时,他们往往隐藏网站域名和联系方式,使受者无法验证公司资质,因而轻信套路。[2018/7/11]
那就让zkPorter来试试!zkPorter里面的所有账户都共享同一个地址空间,而且可以通过运行在zkPorter中的基础分片shard0上的zkRollup与其它账户互操作。一个对流量有很高要求以及/或者特定数据可用性需求的协议可以将自己的协议接口放在自己的分片里面。其中的安全性、成本和吞吐量权衡,我们下文再说。
zkPorter让任意数量的协议都可以平滑地互操作。单笔原子交易可以在不同的zkPorter分片上调用任意数量的智能合约。不仅如此,分片内的交易将可以访问整个zkPorter的状态?——包括其它分片上的数据。这一特性可被用于读取来自某个信息输入机制的信息。
你可以把zkPorter模式想象成打了zk激素的区块链互联网。
zkPorter分片:安全性与开销?
zkPorter的Shard0就是一个zkRollup,有完整的数据可用性和以太坊的安全性保证。Shard0会成zkPorter内部运行的分片中最贵的一个,交易成本大约是主网交易的1/100。
Shard0以外的分片会在自己的智能合约中定义自己的数据可用性方案。这些其它分片,牺牲了链上数据可用性,换来了进一步的10~100倍的交易成本节约和吞吐量提升。zkPorter会引入一个可选的验证者机制,我们称之为“zkPorter卫士”,它让协议可以邀请协议的利益相关者作为协议分片的数据可用性保证人而参与进来。使用卫士机制的分片会运行一种权益证明共识机制,因此,只要1/3的参与验证者保持诚实,该分片的用户就能随时带着自己的数据退出。
新华社:希腊的比特币社区在加密货币风险的警告中成长: 据新华社报道,近年来,由于对传统银行系统实行的资本管制,希腊的比特币社区发展十分迅速。雅典比特币社区的共同组织者之一Tsapakidis告诉新华社,希腊全国至少有2000人对比特币和加密货币感兴趣,他们已经在社区注册并定期参加会议,要求提供信息或正在交易。大约有70家企业接受比特币和其他加密货币作为全国范围内的支付手段,从餐馆和咖啡店到牙医和律师以及比特币自动取款机。希腊资本总裁Haralambos Gotsis市场委员会早些时候在一份声明中警告了密码货币的风险。Tsapakidis表示,“猜测会发生什么事情还为时过早,希腊将遵循欧洲的法律规定,所以很大程度上取决于欧盟政府如何决定处理加密货币,是否会使其成为可接受的付款方式,取决于他们将如何征税,现在它更像是一种商店价值,而不是一种支付形式。”[2018/3/1]
各协议可以自由选择自己的数据可用性方案,可以包括zkPorter卫士,也可以不使用这种机制。协议所选数据可用性方案的效率就会影响到所在分片的吞吐量和交易成本。
灵活的数据可用性就是zkPorter的核心设计目标。允许了各协议自行设计方案,zkPorter就能支持非常多不同的方案,可以适应每个人的需要。安全假设以受信任的中心化参与者作为保证人的应用可以实现权威证明共识机制。而带有治理代币的应用可以实现自己的权益证明共识机制来保护自己的分片——只不过要避免让分片内的资金体量超过已锁定的验证者押金体量。纠删码机制可以用于证明验证者没有删除数据。比如,考虑到比特币网络相对比较简单、交易数量也低,一个zkPorter分片的验证者完全可以在他们的分片内创造一个比特币实现,运行基于工作量证明的中本聪共识。所有这些都可以与zkPorter的卫士验证者设置相结合,也都可以与之独立运行。
zkPorter在一开始设计时就把扩展当成目标。zkPorter协议将每一个分片的数据可用性和有效性开销降低到了一个很低的水平。增加新分片的边际成本比起在基础的zkRollup上包含嵌套数据所引起的成本是对数级别的。这就让zkPorter可以高效地扩展到支持数亿个账户。
新华社:坚决纠正脱离实体经济需要的伪金融创新:新华社:比特币等所谓“虚拟货币”危害和风险不断显现,招致监管重拳。“虚火”过旺且乱象丛生,“虚拟货币”形成的金融和社会风险隐患不容忽视。金融是实体经济的血脉,为实体经济服务是金融的天职,是金融的宗旨,也是防范金融风险的根本举措。金融创新要服务于实体经济,要符合监管要求,对那些披着“创新”外衣的伪金融创新行为甚至是非法金融行为必须重拳出击、及时遏制。[2017/9/17]
最后,用户的隐私可以得到零知识证明技术的保护。使用一个zkRollup作为zkPorter的基本元素有一个内在的优势,就是状态转换的有效性是可以被证明的,而且可以不用公开这些交易的内容。
架构?
究其实,zkPorter很像zkRollup和Validium。一个放在Layer-1上的智能合约托管着资金、保存着一份对账户状态默克尔根的记录。实际状态数据由zkPorter验证者和各分片的数据保证人保存在链下:我们也管它叫“状态树”。
一个分片的智能合约定义了自己的状态转换规则。当一个zkPorter区块被接受的时候,该块会引起一次状态转换:一笔在Layer-1上的交易会把默克尔根替换成新值。这笔交易必须验证用于证明新值有效的零知识证明:即,要验证该区块中的每一笔交易都是有效的。
在zkPorter中,每个分片的账户都必须存储状态树的一棵独立的子树中。此外,每一个分片子树都必须包含关于自身分片类型的信息,并引用定义其状态可用性策略的智能合约账户。
假设一个分片的类型是zkRollup,那么该分片中每一笔改变账户状态的交易都必须把对状态的更改作为Layer-1的calldata发布出来。
所有会同时修改两个及以上分片状态的交易都必须用zkRollup模式来执行。
而所有其它仅会影响特定一个分片内账户的交易都可以用正常的分片模式来执行。如果一个区块包含了分片S内的一些分片交易,那必须遵循下述规则:
声音 | 宾夕法尼亚大学教授Kevin Werbach:区块链技术为人类提供一种全新的信任:据Bitcoin Exchange Guide消息,3月26日,宾夕法尼亚大学教授Kevin Werbach在普林斯顿大学的一次演讲中表示区块链技术为人类提供了一种全新的信任。其认为区块链技术拓宽了信任维度,同时也降低信任的难度,使系统能够公平地为各方服务。[2019/3/27]
分片S子树的根哈希必须公开一次,作为calldata放到Layer-1上。这是为了让所有其它分片的用户能够重构自己的状态
该分片配套的智能合约必须被调用来执行额外的要求
案例分析?
我准备用4个案例来展示zkPorter的潜能,演示它是如何无缝组合不同的应用、同时扩展交易量来满足每个应用的需要的。
案例1:Reddit社区积分
2020年6月,Reddit启动了TheGreatRedditScalingBake-Off计划,让各个社区有机会通过一个社区积分系统来主持自己的子论坛,也让各Layer-2方案能一展身手。显然,社区积分系统的解决方案必须是安全的、去中心化的和易用的,同时还能保持与其它第三方应用的互操作性,还有,能处理数以十万计的交易。社区积分可以用zkPorter来实现,有三种不同的方式。
选项1:运行在zkSync上
为让社区积分连接到以太坊主网,Reddit可以直接在zkSync上使用现有的zkRollup功能。zkSync在Eth1上可达到3000TPS。假设所有5亿Reddit月活用户都踊跃参与。再假设平均每个用户在每个月里要发送一笔铸币交易、一笔销毁交易和两笔转账,则社区积分系统要求的平均负载是:
5亿×4/约等于700TPS
这只占zkRollup当前吞吐量的1/4。
选项2:放到一个Reddit专属的分片上,由zkPorter卫士来验证
若有意提高交易吞吐量的弹性并降低用户的使用成本,Reddit可以将Reddit交易从基础分片下放到一个Reddit专属的分片上。Reddit可以自己选择向用户提供数据可用性保证的方案。最简单的办法就是现有的zkSync卫士实现,向用户提供由权益证明实现的数据可用性保证。我们会建议Reddit除了使用卫士模板,还要把数据存储在Reddit的服务器里。在这种模式下,即使卫士遭受2/3多数攻击,Reddit也能应付下来,这样用户就高枕无忧了。相应地,用户的数据也不会因Reddit服务器出错、被攻击而倾覆。
选项3:放到一个Reddit专属分片上,使用专属的数据可用性策略
第三种方法是,Reddit可以选择最大化交易吞吐量、最小化用户成本,就是将Reddit社区放到一个专属分片上,同时使用一个定制化的数据可用性方案,而不用卫士机制。一种基于权益证明共识的可行方案是,基于社区驱动的数据可用性,再加上2/3的多签名机制。
设想一种可能的方案实现:Reddit和Reddit的用户会发送签名来见证每一个状态转换的有效性。Reddit可以,比如说,占据1/3的总签名权重,把2/3分发给用户。再加上一个签名权重的2/3多数机制,足以保证Reddit分片上的状态转换是有效的。可以激励用户发布关于自己所见无效转换的证明,比如扣减该无效状态转换的发布者的押金。
交易成本在这种方案中会变成仅覆盖零知识证明的生成所需的成本
互操作性
在所有这些场景中,Reddit社区积分的持有者都能够:
容易地与其它分片上的智能合约互动,比如使用部署在zkSync上的DeFi协议来交易/出借/贷款
把他们的社区积分转移给一个zkRollup分片上的用户
快速取出他们的代币到以太坊主网上,与zkSync以外的智能合约互动
案例2:智能钱包/密码学货币银行
智能钱包就是用智能合约来实现的钱包,可以帮助用户获得隐私功能和互操作功能。一些智能钱包比如Argent,甚至在引导新用户的过程中会选择性地为用户补贴一定比例的交易手续费。以当前的GasPrice和以太坊价格来算,一笔交易就是0.5美元。智能钱包可以使用智能合约调用zkRollup函数来降低整体的Gas开销。
这里提供一种可能的实现方案,分3个简单的步骤。
步骤1:zkRollup分片
智能钱包的账户可以迁移到一个zkRollup解决方案上。zkSync内部的钱包之间的转账是很便宜的,虽然从zkSync发送到主网的交易会稍微贵一点,而且耗时也更久。
步骤2:zkSync卫士钱包运营者分片
在引入足够多的新用户之后,在zkRollup上运营的成本可能会让钱包运营者考虑开启一个专属分片。在上文的Reddit部分中,我们就详细讲解过这种方案:把用户基础迁移到一个独立的、由zkSync卫士和钱包运营者来保证其数据可用性。只要钱包运营者或者zkSync卫士中的大部分没有被攻破,分片就是安全的。这一选项也为钱包运营者的灵活手续费分享方案打开了可能性。
步骤3:钱包DAO分片
到了某一刻,钱包的用户基础可能会变得非常大,达到钱包需要迁移到一个由治理代币来治理的分片上。这个分片仍会是zkSync网络的一部分,而且可以用zkRollup模式访问所有其它分片上的服务。
隐私考虑
还需进一步说明的是:隐私功能在上述任一步中都很容易实现。没有零知识证明,就很难实现隐私性。但zkRollup的好处就在于,账户可以即时获得隐私性、大幅降低参与网络的费用,而且无需牺牲安全性和去中心化。
案例3:DeFi协议和DEX
预见到了未来会出现的吞吐量瓶颈,多个主流的DeFi应用都投资于部署自己的可扩展性解决方案。这是很聪明的一步,因为这一方面给了他们在GasPrice高企时候的竞争优势,另一方面也给了他们对可扩展性技术/牺牲的更深刻理解。
不仅如此,对于渴望支持高频交易的去中心化交易所来说,单笔交易的费用必须尽可能小,因为吃下一个单需要非常高的交易数量。
不过,这一方法面前横亘着两大问题:
孤立的可扩展性缺乏可组合性,或者说网络效应。
随着零知识证明技术的潜力完全展现,越来越多人意识到,零知识证明是大规模普及的关键。与此同时,ZKP领域的创新速度很快,以至于要跟上节奏必须有自己专门的研究开发团队。但是,如果不能很好地审计和实现复杂的密码学算法,等待他们的可能是严重的安全漏洞。密码学领域的黄金法则还是对的:不要闭门造车搞一套只有你自己知道的密码学。
zkPorter就解决了这个问题。DeFi协议可以建立在先进的可扩展性技术和强大的网络效应上,同时控制交易成本。要拥有这些,一个协议可以在zkPorter内创建一个自己的分片,用协议代币持有者的共识来保护它。这也为灵活的手续费共享提供了机会。
案例4:微交易
需要处理大量低价值转账的协议可以实现一个类似于Validum的分片,让交易手续费低到弥补零知识证明的生成成本即可。
如此整合微交易平台,则用户还可以在余额超过一定额度之后自动将余额转移到一个zkRollup分片中。
前进的道路?
zkPorter将作为zkSync路线图的一部分而初步实现。
对于这一愿景,接下来我们要做的有:
为zkSync提供对通用的智能合约的支持
实现一种多验证者的共识机制
分发zkSync代币来启动卫士保护型分片
zkSync已经上线以太坊主网,现在就可以使用免准入的zkRollup模式了。我们相信它的吞吐量对于满足以太坊社区接下来两年内的需要是足够的了。不过,我们欢迎大家讨论和实现定制化的分配解决方案、缔结密切的合作伙伴关系。
请在这里联系我们。
提醒
zkSync现在还没有发行过代币,暂时也没有销售和分发计划。请警惕局。
原文链接:
https://medium.com/matter-labs/zkporter-composable-scalability-in-l2-beyond-zkrollup-2a30c4d69a75
作者:?AlexGluchowski
翻译:?阿剑
人生中能见证庞大的、分布式的多客户端区块链创世的机会是非常难得的。不久前的7月30日是以太坊1.0区块链创世的五周年——真正重大的创世事件很罕见且相隔甚远.
各位朋友们,你们好,我是阿帆老师(aftb88888)。阿帆本着负责、诚恳、认真的态度用心写好每一篇分析文章,特点鲜明,不夸张,不含糊,力求能让大家看懂大的趋势分析以及小范围的多空搏杀力度!本内.
尊敬的LBank用户: 自LBank上线BAL「币生息」产品以来,收到了社区热烈的反馈。为了回馈用户,LBank「币生息」将重新启动BAL年化30%持币生息。无需锁仓,持有即得,每日结息.
亲爱的大币网(Dcoin)用户:SSX代币的映射将按照以下流程进行,请各位用户进行确认。SSX交易停止时间:2020年8月18日(周二)15:00(UTC8);SSX交易停止后,未成交的订单将会.
★今天的文章不是鸡汤,而是一篇很严肃的议论文。因为这篇文章虽然可能很生动,但它探讨的是一个非常严肃的问题,你是什么时候赚到人生第一个100万的?如果没有,你打算在什么时候,以何种方式赚到?今天故.
2020年8月5日,现货黄金价格首次突破2000美元,创下历史最高,年内大涨近38%。受新冠病肺炎及全球经济衰退影响,贵金属价格今年迎来飞涨,黄金避险优势凸显,成为全球表现最佳的主流资产之一.