月亮链 月亮链
Ctrl+D收藏月亮链
首页 > 火必下载 > 正文

区块链:区块链公链如何才能快起来 ?_BFT

作者:

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

编者按:本文来自链闻ChainNews,作者:王嘉平,创新工场执行董事,Odaily星球日报经授权发布。从2008年11月中本聪SatoshiNakamoto发表论文「Bitcoin:APeer-to-PeerElectronicCashSystem」算起,比特币即将迎来第一个十周年。这十年中,比特币与其背后的区块链技术蓬勃发展,以去中心化技术之名,大有变革整个在线数字世界的气势和雄心。不过,雄心归雄心,正蓬勃发展的区块链技术,尤其是公链领域,有一个瓶颈却一直有待突破:以当今数字世界的规模和体量,任何一个在线系统,如果没有一个大容量、高吞吐的基础设施,就无法承载哪怕仅仅一个互联网级别的应用。很可惜,中本聪的论文中完全没有考虑到这个问题,也许是走出这第一步实属不易,他也没想太多之后的事情,也许是这样的一个高性能的设计,在彻底去中心化的系统中难度太大。总之,近10年过去了,为了提高区块链系统的性能,前赴后继出现了大把项目,但到今天为止,并没有出现能够承载互联网级别应用的解决方案。这是一个世界性的难题,全世界最聪明的学者、开发者都在尝试解决这个问题。我曾在微软工作多年,担任微软研究院主管研究员,很长一段时间专注于分布式系统方面的研究;离开微软之后,我又在创新工场担任负责区块链和人工智能投资方向的执行董事。多年在分布式系统方面的研究心得,以及在区块链投资领域评估多个公链项目的经验,让我深深明白,在彻底去中心化的系统中实现高性能设计,是一项难度极高、极具挑战的工作。我看到行业内存在大量对于区块链公链性能瓶颈及解决方法的讨论,有些充满洞见,令人受益匪浅,但也有不少谬误,更有很多为了自身项目宣传而编造的似是而非的见解,颇有把讨论引入歧途的风险。在和多位该行业顶尖的学者、开发人员、投资人多次深入交流之后,他们都鼓励我把自己的看法分享出来。再三思索之后,我决定把自己对该话题的一些拙见记录下来,这样既可以让自己的一些思考能够沉淀,同时,也希望能和对该话题感兴趣的更多同仁进行一些探讨。不要只关注性能瓶颈,而忽略了容量瓶颈

华为基数区块链首席战略官张小军:区块链赋能政务服务创新:9月27日消息,由中国信息通信研究院、中关村区块链产业联盟、中关村安信网络身份认证产业联盟主办的“链网创新数智未来一一区块链创新应用发展论坛”于9月27日下午在国家会议中心召开。华为基数区块链首席战略官张小军在论坛上表示,区块链发展到现在应用的方向不多,虽然区块链要赋能千行百业,但是赋能千行百业有几个行业是主体,政务服务是一个主体,金融是一个主体,工业互联网是一个主体,医疗是一个主体,这四个主体里面大家会发现行业里面有个共性,这四个行业里面数据是共性点,有了数据才能形成这些应用的共识,才能有溯源、共享一系列的内容出现,所以说基本上来看,区块链在现在应用里面,特别在政务应用里面数据对它的作用性很大,而且随着政府的需要,也就需要有数据的打通。[2021/9/27 17:10:01]

先说一下我的一个结论:在当前以类金融为主流应用场景的情形下,区块链系统最首要的性能瓶颈是区块数据的广播延迟造成的,本质上受限于互联网的带宽和通讯延迟,这一点直接制约了吞吐量TPS。只要是「ChainofBlocks」的系统,无论具体采用了什么共识算法,无论是工作量证明PoW、权益证明PoS、拜占庭容错BFT,还是委托权益证明DPoS,在出下一个区块之前,都需要保证前一个区块在全网有一定的同步率,从而约束了每个区块不能太大,出块频率也不能太高,然后,这个问题无解。请注意,这里说的区块链系统特指「ChainofBlocks」的系统,其特征是要保证系统能最终收敛到一条单一的链表结构,并只有这条链上面的区块才是被确认的,反例是「GraphofBlocks」系统,例如所采用的DAG结构IOTA。假设物理网络的带宽和延迟可以被忽略,例如基于数据中心高速链路的EOS,系统第二个瓶颈是受限的账簿容量,本质上受限于单台全节点的内存容量,这一点直接制约了链上可以承载多少个用户地址以及多少个DApp。无论具体采用了什么共识算法,只要交易验证/执行过程随时可能涉及到任何一个用户,那么单台全节点就必须随时保持全网每一个用户、每一个DApp相关的状态在内存里面,以供交易验证实时访问。当前所有主流的「ChainofBlocks」的系统,包括比特币区块链、以太坊、EOS等,都有这个问题,并且同样的,这个问题也是无解的。多级缓存的数据库技术,例如RocksDB,可以稍微改善一下这个限制,使得只有活跃用户受到内存限制,而总用户基数受限于硬盘的容量。但是这并不从根本上解决问题。「容量」这个问题的关注度远远少于吞吐量,原因很简单:因为吞吐量这个短板还没解决,所以容量问题被掩盖住了。请记住,一旦吞吐量实现了大幅提升,容量问题马上就会出现:在一个高吞吐的系统上,如果用户量上不去,很可能高性能根本跑不满。一个典型的例子是EOS。当EOS以丧失去中心化特性为代价而解决了吞吐量问题之后,容量的问题马上就凸显出来了。然后,EOS把账簿容量瓶颈这个问题包装成了一个稀缺资源,并将其代币化,成了EOSRAM虚拟币。当然除了内存,单台全节点CPU也会成为容量的瓶颈,所以也被代币化,成了EOSCPU虚拟币。不过,在类金融应用场景中,通常计算复杂度非常低,所以,内存会是主要瓶颈。另外,我的另外一个观点是:共识算法其实帮不了解决性能和容量的瓶颈,试图从标新立异的共识算法出发,提升「ChainofBlocks」系统性能的努力,基本上不会让系统性能有实质上的大幅提升。总之,解决上面所提及的两个瓶颈问题,需要的是分布式系统设计上的巧思妙想,这和共识算法相关,也和密码学相关,但是本质的出发点不是共识算法和密码学。性能瓶颈:一个出块节点在做什么

声音 | 国家行政学院教授:要把区块链等新技术引入到电子政务建设中:12月6日 “2019数字政府服务能力暨第十八届中国政府网站绩效评估结果发布会”在北京举行,国家信息化专家咨询委员会委员、国家行政学院教授汪玉凯在会上作主题演讲,汪玉凯表示技术进步与基础设施的保障,我们政务信息化为数字政府建设提供了强大的保障。每一次新的技术出现以后,很快就被应用到政府管理合作中,包括云计算、大数据、移动互联网、区块链,总书记都说话了,局学习专门学习区块链,是过去很多人完全不可想象的,我们把最先进的东西能够引入到电子政务建设中,强大的基础设施保障,我们网络规模全球第一,宽带规模全球第二,仅次于美国,我们的手机拥有量都是全球第一,所以这些东西在一定意义上讲确实保障了我们数字政府的建设。(人民网)[2019/12/6]

首先出块节点也是全节点,接受全网的已确认区块以及未确认交易,并构造成链,不断维护账簿的最新状态,然后抓紧机会试图在链尾追加新的区块。无论采用哪种共识算法,都会历经以下几个步骤:第一个步骤,根据账簿的最新状态,在未确认交易集合中选出若干验证合法的交易,然后构造一个新的区块;第二个步骤,为这个新的区块,参与出块的权力的竞争或者候选,在这个阶段,大概率会因为账簿状态更新了即其他节点成功出块了而中断,回到第一步;第三个步骤,获得出块的权力之后,向全网广播这个新的区块,更新账簿状态,回到第一步。不同的共识算法,其核心差异在于如何完成其中的第二个步骤的出块权的竞争或者候选。但是无论哪种共识算法,都有一个不可调和的性能矛盾,本质上由区块数据的广播延迟导致。这个矛盾使得如果每次出块比较大可以包含更多的交易,就必须有比较长的出块间隔,以保障该区块在下一次出块之前,在全网被充分传播如果传播不充分,在PoW和PoS系统中,将表现为较高的分叉率出了无效的块,而在BFT系统中则表现为较高的失败率区块拿不到2/3的同意票。Proof-of-Work和Proof-of-Stake

动态 | 上海仁济医院通过区块链初步实现上海、宁波两地电子病历共享:据第一财经报道,上海仁济医院副院长王育表示,医院自去年底试运营以来,通过医联体平台的区块链技术,已初步实现了上海、宁波两地电子病历的共享,比如影像、肿瘤切片数据对接等;未来长三角地区乃至全国的医院或单位也均可以接入。[2019/5/10]

PoW通过设定一个HashTarget,要求Hash值必须小于一个特定的值例如,将256位的Hash值当成一个大整数看待。而Hash值必须根据新区块数据拼合一个Nonce数据计算而得。找到满足HashTarget对应Nonce的任何一个节点,便获得了出块的权力。由于只能通过随机穷举的方式找Nonce,所以这个竞争就转换成了计算Hash的算力的竞争。PoS如Peercoin是PoW的一个变种,引入了消耗CoinAge来增大HashTarget的机制,使得出块权力的竞争可以部分地被数字货币持有的时间和数量所代替。可以看到,PoW机制最大的好处是用一个简洁的算法,实现了完全非许可premissionless的出块权随机指定,竞争节点之间完全不需要协同和通讯,可以轻松支持任意数量的出块节点共同竞争,具有极佳的去中心特性。也正是由于这一点,这个算法导致了区块广播延迟和出块间隔之间的矛盾。当出块间隔较短时,一个新的区块尚未充分全网广播之前,就有另一个矿工在同样的高度出了另一个新的区块,即发生了所谓的分叉Fork。这种情况下,最终其中一个区块会被抛弃掉ophaned。发生这种情况的概率不能太高,否则会显著降低原为51%的算力攻击基准SelfishMining,极端情况甚至会导致分叉始终无法到达稳定收敛。区块广播延迟主要由区块大小和全网各个节点间的带宽决定。当前的互联网环境,大致需要10秒可以广播到90%以上的节点。所以在比特币网络中,10分钟左右的出块间隔使得区块分叉的概率极其低。2018年整个上半年,仅出现两次分叉。而在以太坊网络中,15秒左右的出块间隔使得区块分叉的概率始终保持在10%左右,即使其区块远小于比特币的区块。要注意一点,PoW的出块间隔是统计意义上的,实际情况是出块间隔时大时小,而统计期望是10分钟。这个并不是全网算力波动造成的,而是因为搜索Nonce的过程是个随机刺探过程撞大运,所以很多矿池都给出了自身的运气值曲线。对于比特币网络来说,10分钟的出块间隔其实在现今的互联网环境中是有很大保留的,要知道,毕竟这是在10年前提出的方案,这使得扩大区块大小就可以实现简单的扩容方案,但是由于区块广播延迟这一根本矛盾的存在,这种提升只在一定程度上有效。另外,值得提一下GHOST协议。该协议给出了一个新的准则来判定分叉的时候,哪个叉是被接受的。其将中本聪最初提出的最长链原则,改成了包含算力最多的子树。两个准则在分叉概率很低的时候是完全等价的,但是当概率比较高的时候,比如ETH的10%分叉,GHOST协议可以规避SelfishMining,提高安全性。但是无论采用GHOST协议与否,对公链的性能无实质帮助。PoW带来算力竞争,即所谓的挖矿,确实消耗了大量能源。不过这也为PoW系统发行的每一个币奠定了一个基础成本,使之价值有个底线。需要指出的是,PoW的算力和区块链系统的性能没有任何联系,任何加速hash算法的软件或者硬件都不会提高区块链系统单位时间的吞吐量。这就是为什么比特币区块链的全网hash算力提高了万亿倍,但是其吞吐量一直是7TPS左右。另外,任何宣称节省挖矿能源的公开技术,都是不可能在实际上减少能源消耗的。因为投入挖矿的能源总量在一个个矿场建立的时候已经确定,当有更高能效的挖矿技术或者设备出现时,算力竞争将导致所有矿工都应用新的技术,最终哄抬了全网的挖矿难度罢了。所以实际的总能源消耗,在宏观上,只和币价、电价以及数字货币的投资信心相关,和挖矿效率无关。拜占庭容错BFT

动态 | 区块链初创公司20|30在伦敦证交所运营平台上筹集300万英镑:据Coindesk报道,区块链初创公司20|30通过在伦敦证券交易所集团(LSEG)运营的一个平台Turquoise上出售通证化的股票,筹集了300万英镑(合393万美元)。据此前报道,LSEG和英国金融市场行为监管局(FCA)曾表示,他们正在与20|30和分布式账本技术初创公司Nivaura合作,试图首次证明,一家英国公司的股权可以在完全符合监管、清算和结算体系的情况下进行通证化并发行。目前看来,该计划的第一阶段似乎已经成功实施。LSEG表示,该项目旨在探索“帮助企业以更高效、更精简的方式筹集资金的工具”。(注:该公司是去年7月公布的FCA监管沙箱的第四批成员之一。)[2019/4/15]

拜占庭容错类共识算法采用随机算法确定每一次出块的节点,根据账簿上的数字货币地址,而不是IP地址。所有参与出块候选的节点无须竞争。新的区块将被委员会一组验证者所有成员验证并签名投票,然后广播全网,继而开始下一个出块的流程。与PoW不同的是,BFT出块候选是一个协作的过程,期间至少涉及O(n^2)的通讯复杂度,而PoW在出块竞争过程中无须任何通讯代价。基于BFT的协作过程将不会导致分叉,也不需要消耗稀缺资源算力或者CoinAge,但是由于这个协作的过程涉及到相当多的数据通讯,所以这个过程无法在全网候选,验证并签名的过程无法在全网展开。这就是为什么BFT类算法一定会涉及到一个委员会的构建过程,并且验证签名只在一个小范围里面发生,剩下的人相信他们就好了。最近出现的很多基于BFT的公链项目,比如Algorand,在如何安全公平的选出这个委员会方面做了很多工作,虽然这些工作对系统性能的提升没有直接关系。BFT类算法的投票通常是有权重的,以规避女巫攻击SybilAttack。而这个权重多与参与者的权益相关,和PoS的精神类似,进而现在很多人将BFT的这类投票算法称为了PoS算法。而事实上,BFT类共识算法和一开始提出的PoS算法是本质不同的机制。上面我们提到,不同的BFT类算法其具体选定出块节点以及委员会成员的过程和系统的性能关系不大。和PoW/PoS类似,其吞吐性能同样决定于每次出块的大小,以及出块的周期。在BFT系统中,如果想要允许每次出块比较大,就需要出块的周期也比较大,从而大概率保证新出的块及其委员会的签名数据在委员会内部完全传播。如果这个传播不充分,将可能导致委员会成员无法达成2/3以上的投票,进而使得委员会内部验证并签名过程超时,最终在本出块的周期内出块失败。理论上说,委员会的规模远小于全网,BFT类算法中的广播延迟会比同等规模的PoW/PoS网络小。事实上也确实如此,但是基于Gossip协议的广播延迟和网络规模的对数成正比而不是线性,所以广播延迟并没有小很多。加之BFT类算法依赖一些额外的周期性全局同步等安全措施,使得实际效果中,BFT类算法并没有比PoW/PoS系统有太多性能优势。无论哪种算法,均无法大幅提升性能

独家 | 中国通信工业协会会长王秉科:区块链技术或将成为新一代技术的发展方向:金色财经9月5日现场报道,今日,链改行动第二次联席会议暨中国通信工业协会区块链专业委员会第一届第五次主任委员(扩大)会议在北京召开。中国通信工业协会会长王秉科在会上接受金色财经独家专访时表示:“区块链技术是非常有前途的。一方面总书记在两院会议上对区块链技术的未来前景作出了充分的积极肯定,这背后也包含了很多专家学者对区块链技术深入研究后的结果。另一方面从技术发展方向上看,下一代电子信息技术一定要向更深入的方向发展,而区块链技术很可能成为新一代技术的发展方向。中国通信工业协会组建区块链专委会是基于对区块链技术及对‘链改’发展前景的认可,希望能够给大家提供一个平台,共建区块链命运共同体,赋能实体经济转型升级。”[2018/9/5]

PoW/PoS系统每个出块周期需要充分传播一个区块,BFT类系统每个出块周期也需要充分传播一个区块,加上所有委员会成员的签名。但是PoW/PoS系统的广播范围是全网(例如几万个节点),而BFT系统的范围限于委员会成员,这一点使得后者充分传播的时间较短一些。不过,基于Gossip协议实现充分传播的时间,和传播的数据量呈线性关系,和传播的节点数量呈对数关系,所以BFT在传播时延上也没有太大的优势。结果就是,无论哪种算法,都有不可调和的区块大小和出块间隔之间的矛盾,从而无法大幅提升性能。容量瓶颈:一个不出块的全节点在做什么

单链的「ChainofBlocks」的系统中,大致有三种角色的节点:出块的全节点,不出块的全节点和轻量节点。全节点无论出块与否,都会验证并接力广播新的区块和未确认交易,这里的广播工作占据了主要的通讯量以及磁盘I/O的负荷,对于TPS只有十几的以太坊geth来说,这个通讯量约为1.5Mbps。为了可以实时完成对新区块和未确认交易的验证,所有用户的账簿以及所有智能合约状态都需要驻留在内存中,这个占据了主要的内存开销,当前规模的以太坊会占用将近4GB的内存。每一个全节点都会需要承担这样的一个负荷,如果要出块PoW的挖矿节点或者PoS的验证节点还需要做额外的事情。这些负荷的代价,换来的是安全的彻底去中心化,任何一个全节点不需要预先信任任何其他节点,任何全节点也没有能力去其他全节点。普通全节点的价值体现在两个方面:接力广播合法的数据和维护全网账簿的最新状态以供用户或者轻量节点查询。例如手机钱包这样的轻量节点不验证也不接力广播区块数据或者未确认交易,它依赖并信任预先设定好的一个或者多个全节点,通过这些全节点来获取特定用户的状态,例如账户余额,以及发起转账交易。轻量节点自身完全没有验证信息真伪的能力,更像是区块链世界里的一个终端而已。对于单链的「ChainofBlocks」的系统,如果系统的吞吐量TPS提升100倍,需要150Mbps的通讯量;或者用户规模都扩大100倍,需要400GB的内存,那么基本上大部分互联网上的普通服务器都无法顺利部署一个全节点了。全节点的参与门槛,是影响区块链系统去中心化程度重要因素。如果全节点只能由专业矿场操作,普通人无法独立部署一个全节点的话,那么整个系统就会退化成一个多地部署的中心化云服务了,而变得容易被攻击,也容易被封禁。所以,这两个瓶颈不仅仅对于出块节点需要解决,对于普通全节点也需要解决。何不换种思路,寻找新的出路

前面已经说到性能瓶颈和容量瓶颈,在现在单链的「ChainofBlocks」的系统中,很难有大的提升,尤其是容量瓶颈。这就是所谓的区块链不可能三角的由来。纵观计算机技术发展史,大容量高吞吐的设计范式,屡获大规模成功的只有一个:横向扩展Scale-Out。举个例子,GPU用了几千个性能普通的Core一起并行工作,实现超越CPU计算性能几个数量级的性能提升,而GPU所依赖的半导体技术并没有和CPU芯片有什么本质的不同。再如,现今的在线云服务系统,是用几千甚至上万台性能普通的服务器一起并行工作,来支持大容量高吞吐的在线服务。我在这里不妨大胆设想:也许一个大容量高吞吐的区块链系统会是类似的方案,即,让成千上万个同质的单链实例一起并行工作,切分全网的工作量,以实现整体上的大容量和高吞吐。这样的一个系统,可以在大幅提高TPS的同时,支持10亿以上级别的用户量,并且保持每一个参与到这个网络的中的全节点仅有一个合理的负荷,让大部分互联网上的普通服务器都可以轻松部署一个全节点,共同参与网络的维护和治理。不过,在这样一个彻底去中心化的设定下,如何一起并行工作,如何切分工作量,又如何保证每个单链实例的安全,都是极具挑战的问题。这样的系统似乎并不容易实现,但也绝非不可能实现。我先抛出这个想法,也欢迎所有有兴趣的同仁共同思考,或批判,或贡献聪明的设想。

标签:区块链BFTPOWPOS区块链工程专业张雪峰bft币多少钱一个Over Powered CoinPOST

火必下载热门资讯
区块链:走!去第三世界建银行_layer币的价值

编者按:本文来自橙皮书,作者:orangefans,星球日报经授权转载。我在区块链行业里最经常碰到两类人:子和理想主义者。子割韭菜,理想主义者造梦。后者是真的想用技术创造更好的世界.

1900/1/1 0:00:00
比特币:如何七步搞定比特币纸钱包?_ESS

纸钱包,顾名思义就是将比特币地址和私钥等信息记录到一张“纸”上面——当然,这张“纸”既可以是那种能够打印的纸张,也可以存放在网络里.

1900/1/1 0:00:00
XRP:星球行情 | 比特币向下突破,短期风险升级_zec币减半时间2024

一、市场行情回顾全球数字资产从昨日下午开始小幅下跌,而后在今日早间开始快速下跌,最终稳定在2100亿美元附近.

1900/1/1 0:00:00
区块链:首例比特币“挖矿机”纠纷在杭州互联网法院宣判_ECA

10月10日,一例涉及区块链“挖矿”的纠纷在杭州互联网法院宣判,据悉,这是首例宣判的比特币“挖矿机”纠纷案。这起纠纷是原告陈某与被告浙江某通信科技有限公司在网络购买矿机上产生的合同纠纷.

1900/1/1 0:00:00
MBL:Mimble-Wimble:区块链的黑魔法_RIN

编者按:本文来自哈希未来,作者:陈致佳、蒙绎泽、江泽武,星球日报经授权发布。报告摘要:Mimble-Wimble提供了一种对比特币进行显著优化的方法.

1900/1/1 0:00:00
AIN:小明学习笔记 | 一文看懂区块链跨链机制_HAI

跨链是什么?第一种是有一组同时承担两条链节点的个人或联盟,也有可能是一条单独的链,告诉B链A链上发生什么事,或者告诉B某个消息的真的.

1900/1/1 0:00:00