如何内行地评价公链 | 从真正的不可能三角谈起_以太坊:TPS

最近几期,Conflux计划推出一系列的科普文章,从一些简单的技术原理开始,帮助大家辨别一些项目宣传的概念中,哪些概念是可能实现的,哪些概念如果要实现,是需要有妥协的。在第一期,我们从区块链的“不可能三角”谈起,谈一谈如果要追求极致的效率,究竟要牺牲什么。目前在区块链媒体中,有一个流传很广的概念叫“不可能三角”,即效率、安全、去中心化三者不可并存。和“不可能三角”出现同样频繁的概念,是“不可能三角”被公链某个项目打破。在一些媒体宣传Conflux的时候,也曾经使用过这个说法。不过,Conflux从未在官方宣称“打破不可能三角”,我们认为这并不是一个严谨的概念。只能说,这个概念被提出来的时候,还没有人把这三件事情同时做好,并没有人通过严谨的分析证明它不可能。今天,我们来介绍另一个不可能三角。无论一个区块链是公有链还是联盟链,是PoW还是PoS,是采用中本聪共识还是BFT还是其他的什么方式,都绕不开它。这个不可能三角包括三个目标。1.全部节点同步与验证

Parity发布ink! 3.0:基于Rust的WASM智能合约语言的重大更新:金色财经消息,Parity基于Rust用来编写Web Assembly(Wasm)智能合约的一种编程语言ink!刚刚推出了迄今为止最大的更新。Polkadot和Substrate生态中的开发者可以使用ink!为Wasm虚拟机构建高效、高性能的智能合约和去中心化应用程序,它们是以太坊 (EVM/Solidity)智能合约的一种替代方案。

除了发布了ink! 3.0版本,团队还改进了合约模块(Contracts pallet)以提高平行链性能,并添加了一些新功能以提高跨合约调用和性能提升,使开发者更容易编写更复杂的逻辑。最后,随着 `cargo-contract` 1.0的发布,开发者使用的工具也发生了一些变化。(PolkaWorld)[2022/3/18 14:05:09]

在公链网络中,公链网络的正确性与安全性依赖于一些节点的背书。例如,在比特币或以太坊中,根据协议,每一个矿工挖出区块时,要保证新区块和历史上的每一个区块每笔交易都是正确的。也就是说,比特币矿工出块时,在为之前所有的区块进行正确性背书。在EOS中,超级节点通过签名对区块的正确性背书。我们这里称为“参与共识的节点”。“全部节点同步与验证”要求每一个被确认的交易,都得到过所有参与共识的节点的同步与验证。这个目标是和安全相关的。我们想象一个场景,有一个人想通过伪造无效签名,制造非法交易,盗走你的资产。如果只有一小部分参与共识的节点同步和验证了这个交易,而其他节点不同步这个交易,直接采信那一小部分节点的判断结果。如果这样的话,将一笔非法交易混入交易历史的可能性,就会高于每个参与共识的节点都进行同步和验证。二者的安全性是不一样的。2.超高吞吐率

Venus将更新其清算智能合约界面:1月23日消息,据官方消息,Venus将根据Venus V3代币经济学更新其清算智能合约界面,以适应清算激励的变化,升级将分两阶段进行。目前10%的清算激励将分为两部分:一半的清算激励和被没收的抵押品将被发送至清算人。因此,清算人将以抵押品vToken的形式获得清算后借款金额的105%,而不是目前的110%。清算激励的另一半(清算后借款金额的5%)将被发送至Venus财库。

Venus将提供一个新的界面来解释这一变化:清算人合约。Venus将有30天的宽限期,在此期间,旧界面和新界面都将可用。宽限期过后,Comptroller合约将被升级,以阻止来自其他发送者的清算借款请求。[2022/1/23 9:07:50]

最终确认交易的平均吞吐率超过11000TPS称之为超高吞吐率。3.低带宽要求

Moskovski Capital首席投资官:智能合约中ETH供应量达28%:10月23日消息,Moskovski Capital首席投资官Lex Moskovski援引Glassnode数据称,智能合约中ETH供应量达28%,创历史新高。[2021/10/23 6:09:26]

对于每一个参与共识的节点,网络带宽的最低配置要求不高于20Mbps(2.5MB/s)。这个目标是和去中心化相关的,参与的门槛越低,能参与共识的人就越多,越有利于去中心化。以上就是这个不可能三角的三个目标。原因理解起来也很简单,如果一个节点只有20Mbps的带宽,那么每秒只能下载2.5MB的数据,大约是10000笔交易。如果网络中最终确认交易的平均吞吐率超过11000TPS,这个只有20Mbps带宽的节点是没有能力同步和验证每一笔交易的。那么面对这个困难,做出取舍的方案又有哪些呢?1.放弃全节点同步与验证在这些方案中,Sharding是一个很著名的解决方案。Sharding方案的大体思路是,整个区块链在逻辑上分出若干个Shard,将没有关联、互不冲突的交易分到不同的Shard中去,每个Shard由一部分矿工负责同步和验证。对于矿工来说,不需要为其他Shard中的交易正确性负责。Sharding方案是一个提高吞吐率的思路,但这个思路牺牲了一部分的安全性。毕竟,如果有一个人想通过伪造签名,制造非法交易盗窃你的资产,全网中每一个节点都帮你防范非法交易,和只有一小部分节点帮你防范非法交易,二者的安全程度是不同的。不过,对于只是存个零花钱的账户地址,相对于安全性,可能用户对交易成本更敏感。所以这一方向是非常有探索价值的。但如果用Sharding方案下的TPS和别人全节点同步与验证下的TPS比,就很不科学了。另外一个思路是,通过零知识证明或可验证计算等密码学工具,允许一个节点不必同步每一个交易,只需要同步区块头及一些密码学的元素,也可以验证一个区块的MerkleRoot是正确的。当然,这个思路上有很多坑需要去解决,如果有机会,我们会写一篇文章展开讨论一下。2.放弃高TPS这里的放弃高TPS,是指在现有的网络条件下,放弃10000TPS以上的吞吐率。Conflux保留了去中心化和安全性,就需要保留全节点同步与验证和低带宽要求,以实现家用网络条件也可以当矿工,每一笔交易都得到了每一个矿工的验证。如果要保留这两点,效率是有天花板的。3.低带宽要求在一些共识机制中,普通用户不参与对交易的同步与验证,而是通过一些方式选出少数特殊的节点来进行共识。这时,我们可以假设每一个参选的节点都准备了足够的计算机资源,例如更好的CPU,更大的硬盘,更大的网络带宽。这时,也就没必要将“最低配置要求”设的很低了。下一次,如果您看到一个项目声称大于10000TPS,甚至是喊出无限可扩展的口号时,您就需要来看一下在这个不可能三角中,它放弃了哪一角。是放弃了第一点还是第三点?如果是放弃第一点,项目是采用了Sharding方案?还是做出了其他的修改?这种修改会不会带来安全性问题,如何解决?如果是放弃第三点,高TPS是否基于更高的网络带宽要求?还是说在网络带宽无限的条件下无限可扩展?顺便推荐一下我们的线下活动~在本期ConfluxMeetup,我们为大家邀请到了ConfluxCTO伍鸣、Conflux研究总监杨光、TOPNetworkCo-founder&CEOSteveWei来一起聊一聊《下一代公链和DApps生态前景》。点击报名

动态 | 微软公布新开源形式验证工具VeriSol,旨在优化智能合约质量:据Crypto Globe消息,6月3日,微软研究院(Microsoft Research)在博客中揭示了一个新的开源形式验证工具。该工具旨在提高使用Solity(为以太坊区块链构建的编程语言)子集编写的智能合约的质量。 新工具名为VeriSol(即Verifier for Solidity),曾出现在一篇概述微软Azure区块链智能合约验证的设计和应用的学术论文中。博客文章称,尽管VeriSol迄今仍然是一个主要由Azure智能合约驱动的原型,但研究人员对其期望很高,同时也在鼓励开放协作以促进形式验证发展并引入主流智能合约开发中。[2019/6/4]

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:31ms0-3:695ms