当前位置: 首页 > 科技观察

为区块链构建有效的安全层需要考虑哪些要素?

时间:2023-03-14 13:50:34 科技观察

我已经写了很多关于创新执行层的文章——StarkNet和zkSync2.0是最让我惊讶的两个项目。得益于Volition,智能合约行业有望在未来一年左右在全球范围内广泛实施。但是,关于这两个项目我不能写太多。我意识到我从未真正解决过如何构建有效安全层的问题。这里要澄清的一件事是,我只谈论安全性和身份验证,而不是数据可用性。相反,我说的是一个经过验证且有弹性的分散式强大安全层,在该层上运行汇总、意志和验证(以及执行层中的未来创新)。我没有谈论这个的主要原因是它是一个乏善可陈的空间,目前只有两个项目专注于它——所有其他链都不同程度地牺牲安全性和去中心化以方便执行。这篇文章非常主观,因为安全性和去中心化很难量化。在本文中,我将尝试对它们进行量化,并按照重要性对它们进行排序。用户自验证文化(我认为与本文提到的其他几点相比最重要的一点)是最终用户、开发者、钱包、交易所、基础设施提供商和生态系统中的其他参与者运行非验证(non-validating)全节点文化。(译者注:这里的non-validating是指不参与出块。因为全节点肯定会验证区块的有效性,否则就不是全节点。造成这种混淆的原因是一些PoS算法在表达式,参与出块的也称为“验证者”,所以失去了动词和名词的关系:做过验证工作的不一定是“验证者”。读者也会遇到这种困惑。)有有很多方法可以做到这一点:首先,将开销控制在一定范围内——优先考虑运行节点的便利性而不是可扩展性。一个高效的客户端,可以更好地同步和存储数据。无状态和状态有效性等密码解决方案。目前,比特币仍然是最容易验证的主流网络——任何人都可以在笔记本电脑上运行比特币节点。相比之下,以太坊的门槛要高很多,虽然可以支持一些智能硬件配置(主要是需要固态硬盘)。用户自我验证的文化并没有消亡。无状态和状态有效性是目前最主要的两个任务,可以有效降低以太坊节点的运行难度。短期内,Eth1和Eth2合并后,我们将拥有高效的轻客户端。我只知道这两个专注于安全和去中心化的项目。稍后我将解释为什么这如此重要。请注意,如果网络不允许用户运行自己的节点,则该网络不是免许可的。你只是用一组有限的验证者取代政府和银行家。广泛的代币分布特别是对于权益证明网络,广泛的代币分布至关重要。目前,我认为没有一个网络的代币分发足够去中心化,尽管比特币和以太坊遥遥领先,而莱特币则遥遥领先。可笑的是,一些较新的项目仍然是中心化的,比如Solana和Avalanche——我认为最好信任信誉良好的银行。有人可能会争辩说,这些项目最终会去中心化,但没有实现去中心化的切实可行的方法。权力下放与他们采用的委托共识机制(通过抵押获得收入)不一致。全球范围内参与者的数量和类型越多,网络的弹性就越大。从长远来看,随着以太坊转向PoS机制,比特币的机制将成为最去中心化的机制。用户自我验证的文化和广泛的代币分发是安全层中最关键的两个要素。还有一些其他的要素,虽然不是那么关键,但也很重要。经济安全正如JustinDrake在他的必读Bankless三部曲中指出的那样,经济安全是可以量化的,但比乍看起来要棘手。我们可以将经济安全定义为攻击网络的成本。在工作量证明网络的情况下,经济安全是获得51%的计算能力的成本。这些计算能力可以通过租赁和收购ASIC获得。我们可以通过将租用算力的价格乘以算力的51%来估算攻击成本。虽然这只是一个假设性的估计,但根据crypto51.app的数据,以太坊的经济安全性排名第一,比特币排名第二,其他网络都望尘莫及。当然,要达到51%的算力是不切实际的,实际成本也很难计算。在股权证明的情况下,由于共识机制之间的许多差异,计算可能会很复杂。安全的共识机制虽然这样说可能会引起争议,但我认为共识机制对一条链的安全性来说是最不重要的。相比之下,用户自我验证和广泛的令牌分发更为重要。如果不满足这两个标准,共识机制之间的细微差别就无关紧要了。这是因为验证器为网络服务——共识规则由运行节点的用户强制执行。如果你有大量的用户参与验证,它会对验证者起到威慑作用。即使在受到攻击的情况下,网络也不会崩溃或被彻底摧毁。然而,共识机制之间的差异确实很重要。例如,以太坊和Algorand等网络使用非委托共识机制,该机制优于委托共识机制(在财阀政权中选举验证者)。后者是一种反乌托邦的观点,认为网络的安全是由“鲸鱼”决定的,其他利益相关者并不关心它——他们只是想通过抵押(更准确地说,“预贿赂”)来为此付出代价)分享。当然,如果代币分布充分去中心化,这并不是什么大问题——再次强调了拥有广泛分布的代币的重要性。当然,有人可能会争辩说,即使是在没有委托的情况下建立在“真正的”权益证明之上的委托池也有优势。例如,RocketPool和SSV的自动化和随机化系统可以完全规避由财阀政治选举和授权机制引入的贿赂等攻击媒介。最后,能够在不委托或寻求鲸鱼许可的情况下运行验证节点尤为重要。这里还有许多其他细微差别需要考虑,例如典型的BFT委托共识机制无法抵御33%的攻击,信标链和工作量证明链可以抵御高达50%的攻击;网络能否从大多数攻击中恢复得更好;组长选举是否私密;是否可以快速实现确定性等。最后还有社区在社会协调和从成功攻击等边缘场景中恢复的力量。花了这么多时间,我想说的核心点是——共识机制之间有很多细小的差异,但这些差异并不那么重要。如果有数百万用户在验证并且有多达10亿代币持有者,即使是只有1000个验证者的不合标准的委托共识机制也是可以接受的。(译者注:再次让读者感受到混合术语带来的危害:前面“百万用户参与验证”中的“验证”指的是运行一个全节点来验证区块的完整性;后者“1000validators”其中“validator”是指协议的出块人。)还有两点同样重要,但不符合上述机制。林迪效应与网络效应、去中心化开发、生态支持对于安全链来说,经过验证的弹性网络、高代币溢价、数万开发者参与建设都是理想的特性。重申一下,比特币是第一,但以太坊正在迎头赶上。以太坊在开发者采用和多客户端开发方面遥遥领先。多客户端网络比只有一个开发团队构建单个客户端的单客户端网络更具弹性。当然,有人可能会争辩说,与其将人力资源分配给多个客户,不如让他们都致力于打造一个完美的客户。ZKP友好吗?如果你仔细想想我在这篇文章中讨论的内容,你会得出这样的结论:在区块链行业中只有两条安全链可以相互竞争——比特币和以太坊。可悲的是,比特币不能做一件事:它没有验证ZKP(零知识证明)的能力。甚至没有人提到这一点,但我认为引入这一功能是轻而易举的事,它是比特币可以做出的最具影响力的升级,远比Taproot好。以太坊确实能够验证zk-SN(T)ARK。EIP1679确实有帮助,但是EVM对ZKP验证还是很不友好的。现在,我没有足够的ZKP密码学来理解细节,但一些预编译可以使zkRs、validiums和volitions更容易在以太坊上解决——尤其是STARKs。幸运的是,像MatterLabs、Aztec和StarkWare这样的执行层开发人员已经展示了通过创新来规避EVM限制的天赋。然而,在最大化距离效率方面还有改进的余地。希望核心研发人员在Eth1和Eth2合并完成后,实现相关的预编译和操作码,因为以太坊对rollup的依赖越来越强。当然,我知道EVM有些死板,很难实现大的改变——我有灵感从头开始构建一个虚拟机分片链,专门用来验证ZKP,或者把这个功能做成信标链。(尽管实际上,执行层的开发现在主要集中在(信标链质押者)取款,(PoW-PoS)合并后清理和无状态。)奖励:海量数据可用性层合格的安全层也有可能带来一个看不见的好处:海量数据可用性层。例如,以太坊最初将有64条分片链,然后扩展到1024条分片链,根据摩尔定律和尼尔森定律,其数据可用性可能扩展到数GB。如此惊人的数据可用性增长在集中式一体化区块链上永远无法实现,有效解决了区块链的三难困境。我预测rollup可能会在10年内将以太坊的TPS扩大到1500万。届时,如果有其他数据可用性方案,以太坊的TPS甚至可能会更上一层楼。结论遗憾的是,安全层空间缺乏竞争。基本上只有以太坊,一体式区块链仍然专注于执行和可扩展性。我希望看到解决安全层挑战的新项目出现。但是,我不知道该怎么做!最好的选择似乎是为比特币增加ZKP验证功能,但也有可能一些全球科技巨头联盟会发布一个安全层来服务数十亿个币。用户,成为本次竞争的黑马。考虑一下。也许未来会诞生一些革命性的安全机制,PoS就会被淘汰。但现有的解决方案似乎还不够。