如何内行地评价公链 | 从真正的不可能三角谈起_SHA:区块链技术就业前景

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

美联储主席鲍威尔:很难判断银行危机如何造成经济软着陆预期发生变化:金色财经报道,美联储主席鲍威尔表示,经济衰退风险是非线性的;很难判断银行危机如何造成软着陆预期发生变化;美国仍然存在软着陆机会,正设法找到那样的机会。[2023/3/23 13:20:40]

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

大咖零距离 | 减产在即 如何把握接下来的行情节奏:2月13日16:00,金色盘面邀请币圈KOL币姥爷做客金色财经《大咖零距离》直播间,将分享《减产在即,如何把握接下来的行情节奏》,敬请关注,欲进群观看直播扫描海报二维码报名即可![2020/2/13]

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

对于每一个参与共识的节点,网络带宽的最低配置要求不高于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生态前景》。点击报名

声音 | 埃森哲报告:银行目前正评估如何使用区块链支付:据bitcoinexchangeguide消息,埃森哲(Accenture)最近进行的一项调查发现,近90%受访银行高管表示,他们各自的银行目前正在评估使用区块链技术执行支付的想法。大多数高管认为区块链必须提供的长处包括:降低加工成本、错误数量减少、业务处理速度更快。报告还指出,中国26家上市银行中有12家已经在治理框架内实施了区块链技术,其中包括中国银行和招商银行等大银行。[2018/11/3]

现场 | 以太坊行业峰会第一场圆桌 如何应对智能合约安全问题:金色财经9月8日现场报道,Loi Luu (KyberNetwork 创始人)、Shawn Douglass

(Amberdata 联合创始人兼CEO)、Jay Zhou (Loopring Protocol 联合创始人)、Alan Li (FBG X 研发部负责人)、Antoine Cote (Enuma Technologies 联合创始人兼CEO) 参与了讨论,嘉宾们一致认为,由于智能合约涉及资产交易且不可篡改,一旦发生安全问题将引起资产严重受损,关注智能合约安全是必要的。Loi Luu指出,区块链行业项目方,需要为开发者设立预警机制。开源代码要引入第三方检测,避免犯一些显而易见的错误。

Jay zhou认为,需要更有经验的开发者去开发用户易用、以人为本的合约,同时也有必要引入交叉审计。

Shawn Douglass说:“因为智能合约的不可篡改性,在程序员开发前,就必须告知开发者未来可能造成的后果,特别是在涉及资产的领域必须确保事前万无一失甚至考虑保险。”

Antoine Cote表示,可以在早期时候引入悬赏机制让黑客或者社区成员共同发现漏洞。大家讨论后得出共识,每一个开发者都必须在开发速度和安全性之间做一个平衡。在区块链领域,注重安全和责任心是必须的。[2018/9/8]

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

水星链

[0:15ms0-0:836ms