您的位置:IT爆料网 > 互联网

技术贴:浅谈阿希币asch系统的共识机制与容错性

发布时间:2022-11-17 10:39:02  来源:互联网     背景:

1 AC0.5与DPOS

我们之前分析过,DPOS的主要问题在于受托人的权力过高,而其他节点对区块的有效性验证过于简单,这就很容造成一个局面,即不同内容、但相同高度的区块共存于网络中的不同节点,也就是所谓的分叉,进而造成双重支付。

PBFT算法的本质则是让每一个节点都尽可能知道其他节点的决策,并以此来确定自己的决策。

因此,PBFT带来额外的流量消耗就可以理解了,其根源也找到了。在AC0.5算法中,这个额外的流量或者说“其他节点的决策”指的就是每个节点对下一个区块的投票信息,投票信息主要内容有4个部分,即区块高度、区块ID、签名、公钥,其中区块高度和区块ID的长度可以忽略不计,签名的长度为64字节,公钥的长度为32字节,一个区块达成共识需要全部受托人总数的2/3的投票,在asch系统中受托人总数为101人,也就是说需要至少67个投票。一个区块的大小大约是200字节,相当于2个投票的大小,因此AC0.5中流量消耗是原始DPOS的30多倍(在没有交易的空block情况下,如果有交易则交易不会消耗额外的流量)。

2 AC1.0做了哪些改进2.1 序列化方法

AC0.5中服务器之间的消息传递使用json格式,二进制字段则是转化为hex编码后再进行传输,投票中的二进制字段包括公钥和签名,之前我们算的是100字节,转化为hex编码后则翻1倍,变成200字节了。

另外json的字段信息和冗余的分隔符所占的字节数也不少。

AC1.0对这一点做了改进,使用了protobuf作为序列化方法,效果很不错,带宽降为原来的60[%]左右。

2.2 算法流程

AC0.5的流程为

广播一个待确认区块

收集选票(以广播的形式)

收集确认信息(以广播的形式)

确认区块

AC1.0的流程为

propose (广播一个区块的元信息及当前generator的ip信息)

collect votes (其他节点采用一对一的方式直接将选票发送给当前generator)

commit and broadcast(广播一个已经确认的区块并携带投票信息)

通过对比可以发现,AC0.5需要三次广播,AC1.0仅需要两次广播,并且在propose环节,只广播了区块的元信息,不包括交易信息,只广播元信息有个好处,可以防止在区块无法达成共识的情况下白白浪费流量,因为如果连元信息都无法通过,那就没必要广播交易信息了。

2.3 广播协议

AC0.5使用的广播协议为最朴素也最粗暴的gossip算法,即随机选取一定数量的相邻节点然后将消息广播给它们, 这个一定数量固定为100. 任何一个节点在收到一条信息后,会计算这个消息的hash,如果发现没有收到过,就会继续广播给它的相邻节点。也就是说一轮广播需要进行100 * N次通讯,在N小于100的情况下,相当于复杂度为O(N^2), 在这里N为整个网络的节点个数。

AC1.0把这个固定数量改为sqrt(N), 也就是说假如有100个节点,每个节点只需要广播给10个相邻节点。

这个改动很小,但是参数的设置却是非常需要经验的,我们做过了大量的测试后,认为sqrt(N)可以达到比较理想的效果,一次广播需要的通讯次数略高于N * sqrt(N)。

除此之外,我们还实现了一个基于一致性哈希的广播算法,性能达到了极致,算法复杂度降低到了O(N), 但是这个算法需要更多的测试,其稳定性和可靠性也不如更简单的随机算法。

算法的demo版本在这里,有兴趣的可以研究下。

3 容错性

关于容错性,我认为可以从内因和外因两个方面来说。

从内因的角度来说,系统应该能容忍正常节点出错,这些错误主要是指服务器宕机、硬件错误、网络拥塞等。Asch系统能够容忍最多1/3的受托人节点同时出错,假如某个受托人的节点出错了,那轮到该受托人生产区块的时候,就会缺失一个,并顺延到下一个10秒。假如超过1/3节点同时出错,那么系统将暂停工作,等到足够的节点恢复正常后,系统就可以立即恢复正常。

假如1/3以上的节点永远无法恢复(这种情况是存在的,比如他们的密钥丢了),那么系统必须要通过一次软件升级来恢复,并且这个升级不强制所有节点执行,只要部分节点升级,区块生产恢复正常后,通过受托人投票把那些不正常的节点撤销掉,系统就恢复如常了。

从外因的角度来说,系统应该能够容忍黑客攻击、受托人作弊的情况。这里的黑客攻击不是说DDOS,DDOS造成的后果最多是部分服务器宕机,我们已经归到内因里去了,这里的黑客攻击主要是指通过入侵拿到部分受托人密钥并获取权限,然后利用这些权限获利。获利的手段无非是广播多个版本的区块,在短时间内造成分叉,然后进行双重支付。在asch系统中,黑客必须要同时获得1/3以上节点的密钥,才能够发动连续攻击,使网络的分叉持续下去,否则系统将通过最长链同步算法迅速消除分叉,分叉之间的差距不会超过1个区块高度,也就是说2次确认以上的交易基本上不可能被回滚了。

从现有的使用DPOS算法的系统来看,包括bitshares、crypti、lisk在内,这些系统出现的分叉都是内因造成的,甚至大多数是算法实现上的bug所导致的。黑客攻击DPOS的案例还没有听说过,虽然存在理论上的漏洞,但要想真正的攻击,需要高超的技术和昂贵的资源,成本和收益不对等,因此也不会有人去攻击,当一个DPOS系统的市值慢慢增大,我们可以继续提高受托人节点的数量,进一步提高攻击的成本,因此外因的风险基本可以忽略。

最后,我想解释一下分叉这个词,分叉来源于英文的fork,fork根据上下文的不同,我认为可以翻译成两种意思,一个是分叉,另一个是分裂。

分叉指的是在社区成员团结一致的情况下系统因为bug或被攻击造成的不一致性,而分裂是指社区成员因观念分化造成软件走向不同的方向。

分叉强调的是系统的bug和不一致性,强调了物的因素,分叉后系统可能还是一个系统,并且是很可能被复原的;而分裂则是强调了人为的因素,一旦社区分裂,则系统一分为二,变成两个系统。

从这个角度来说,asch对于分叉可以做到事前的预防和事后的修复,但无法应对社区的分裂,任何一个区块链系统也无法解决分裂的问题,包括比特币和任何一个声称可以避免分叉的PBFT系统。


本文标题:技术贴:浅谈阿希币asch系统的共识机制与容错性 - 互联网
本文地址:www.itbaoliao.com/hlw/6440.html

返回网站首页

本文评论
王峰十问罗永浩 分别有哪十问罗永浩是怎么回答的?
新浪科技讯 5月22日凌晨消息,蓝港互动创始人王峰21日晚间在“3点钟火星财经区块链学习成长群”对话锤子科技创始人罗永浩。这是罗永浩在鸟巢发布会后首次公开露面发声。在十个问题的对答中,罗永浩谈到了锤...
日期:08-09
李开复微博讲述亲身经历:如何正视癌症?
李开复微博讲述亲身经历:如何正视癌症?7月1日,创新工场董事长兼首席执行官李开复在微博上宣布,经过近两年与病魔的积极抗争,自己的淋巴癌已经康复,并首次晒出治疗照,自称“李康复”。之后,很多网友向李开复提问:癌症...
日期:11-08
相声作品被制成Flash 演员起诉新浪索赔12万
信报讯(实习记者李丽)昨天上午,一段段由湖南方言演绎的相声段子从海淀法院第十七厅传出。因自己的相声作品被制作成flash在新浪网上传播下载,相声演员奇志、大兵状告新浪侵犯著作权一案昨天上午正式开庭审理,4段相声flash动画...
日期:11-09
方舟子微博对话腾讯网友文字实录
腾讯科技讯 7月7日消息,著名科普人士方舟子今日下午15:00做客腾讯微博,参加由腾讯科技推出的“名人微距离”栏目。“名人微距离”是腾讯科技推出的国内首个微博类对话栏目。目前,新华都总裁唐骏、奇虎360董事长周鸿祎、思科全球副...
日期:10-11
刷卡买包烟欠3亿 原来真相是这样的
刷卡买包烟欠3亿 原来真相是这样的 5月20日,成都市民吴先生出门购物,却收到系统提示信用卡无法继续使用,短信显示欠款311720168.39元刷卡买包烟欠3亿 原来真相是这样的热点背景导读刷卡买包烟欠3亿...
日期:11-05
龙腾世界不删档揭秘 职业选择与区别
据传洪水之神“共工”撞翻不周山后,天门洞开,洪水滔天。女娲不忍生灵涂炭,便从九重天下凡来制止来自天门的洪水。女娲集五色石,炼补天石,将天门重新补上。  ——《龙腾世界》炎黄神话之“女娲补天”  2010开篇...
日期:11-11
纳税服务网在京正式开通 提供专业财税服务
【赛迪网讯】近日,国内首家为纳税人提供防伪税控技术支持、财税咨询等专业财税服务和商务资讯服务的网站——纳税服务网(www.cnnsr.com.cn)在京正式开通。   纳税服务网由航天信息股份有限公司旗下的航天在线主...
日期:11-08
财付通与去哪儿网合建商旅平台 提供机票服务
财付通机票新版界面(TechWeb配图)【TechWeb报道】6月18日消息,近日财付通宣布与去哪儿网达成战略合作,整合去哪儿网平台机票资源,与南航、东航、海航、深航、川航等合作航空公司,共同打造一站式商旅机票服务平台。合作达成之后,...
日期:10-10
《Hon》国人心目中的竞技游戏天堂
纵观竞技游戏史从“帝国时代”到“星际争霸”到“魔兽争霸3”,这些无疑都是世界竞技游戏领域的顶级之作,备受赞扬的它们已经陪伴我们走过了十多年的漫长竞技游戏之路了,虽然他们经久不衰的品质已经被我们所见证,但是无论多经典的游戏终究也逃不过被替代的...
日期:11-04
长虹U钻手机就电视购物广告声明:将整改
近日,有消息称,一些电视购物广告存在夸大宣传的问题,其中,对长虹U钻手机电视购物广告个别用语持有异议。我公司对此高度重视,特声明如下: 1、由于长虹U钻手机电视购物广告个别用语存在异议,我公司本着对消费者负责的态度,立即着手...
日期:11-12
快车游戏频道全面改版
【TechWeb消息】8月6日消息,业界闻名的快车网游戏频道(http://game.kuaiche.com)经历了一系列重大改版后重装登场。与之前的游戏频道相比,新版快车游戏不仅将首页内容、布局全面优化,更在内容上强调互动性和...
日期:10-05
蓝黑裙子原图 仅此一张
有网友将一条裙子图片贴上网,让大家说说是什么颜色。万万没想到,引发了一场撕逼大战,有人说是黑+蓝,也有人说是白+金,为什么会有不同的色呢?敢说说你看到的是什么色吗?不过,有一点大部分人已经达成共识,就是这个裙子真是丑哭了。蓝黑裙子原图...
日期:09-28
人魔网招聘事件:是哗众取宠还是魄力十足
近日,正处于风口浪尖的人魔网再出大动作,开出日薪3000人民币的价码在全国范围内招募10个游戏化体验“测试员”。尤其是招聘条件令人大跌眼镜。该举动被业内解读为人魔网为20日网站正式开站造势。但也有人认为人魔网是在哗众...
日期:11-09
绝地求生客服中心中文官网上线 PUBG客服中心网址分享
绝地求生客服中心中文官网上线,PUBG客服中心网址是什么?5月15日PUBG官方微博宣布上线中文的客服中心。玩家能在上面提交问题或是进行投诉举报,那么绝地求生客服中心网址是什么呢?下面就来看看吧。...
日期:11-13
360快资讯《不吐不快》辩论赛火出圈 李银河犀利观点引发热议
4月27日,由360快资讯发起的线上辩论类节目《不吐不快》首期甫一上线,便凭借犀利的观点输出,引发......
日期:05-07
淘宝开放API接口  打造网上购物生态链
昨日,淘宝网正式发布...
日期:10-30
松下将关闭北京工厂并裁员1300人
腾讯财经讯 北京时间8月27日晚间消息,据BusinessInsider网站报道,日本电器巨头松下公司周四表示其位于北京的工厂将于本月停止生产锂离子电池,并裁员1300人,作为公司“致力于生产诸如电动汽车电池等更高利润产品&rd...
日期:11-10
台湾18岁少年玩《暗黑3》40小时猝死
凤凰科技讯 北京时间7月18日消息,据《澳大利亚人报》(The Australian)报道,台湾18岁少年因为连续玩《暗黑破坏神3》游戏40小时而猝死。该少年7月13日在台南的一家网吧定了一个包间,然后就开始玩动视暴雪的流行游戏《暗黑3》...
日期:11-09
华为东莞松山湖园区研发实验室起火 回应称火势已得到控制(图)
9月25日下午消息,今日网传华为东莞一实验室起火。华为相关人士称目前火势已得到控制。网络上流传的图片和视频显示,华为东莞一实验室起火,现场浓烟滚滚。华为相关人士对此表示,东莞松山湖园区有起火,现在浓烟比较大,不过消防车已到现场,火势得...
日期:11-12
万万没想到 欧盛一次发布3款8核大屏手机
从2007年开始,已仙去的苹果创始人乔布斯先生每年新产品的发布总是会吸引全球消费电子关注者的目光,目前国内的小米也有类似趋势,两者都是以每半年左右的速度发布一款新的产品。由于高阶智能手机产品从外形设计到元器件采购,再到稳定性适配测试方面都有...
日期:11-12