木星链 木星链
Ctrl+D收藏木星链
首页 > Gate.io > 正文

COL:星云研究院:Avalanche论文解读(一)

作者:

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

本文作者:星云研究院资深研究院汤载阳博士。华中科技大学计算机博士,日本会津大学和法国南巴黎国立电信学院访问学者,研究方向包括分布式系统、无线网络和区块链共识,在TPDS、ICDCS等顶级期刊会议上发表过论文。上一篇介绍了Hyperledger相关工作,这一周我们来看看permissionlessblockchain有什么最新的研究。这篇论文“Avalanche:ThePowerofMetastableConsensus”实际上还没有被正式接收,来自于Cornell的RobertKleinberg和EminGunSirer研究组。虽然还没被接收,但仍然是一篇质量非常高的论文。个人觉得整个论文架构有一些说不上的奇怪,前半部分风格比较偏系统,后面的证明部分又略显晦涩。同事告诉我这篇论文其实是由两个同学共同完成,一个早期提出了理论模型,一个负责系统实现。这也是为什么我打算分两篇来解读的原因,不过很有可能后面的理论证明部分我看不懂就放弃写第二篇了。Basics首先还是介绍下文中的一些基本概念。在任何基于复制状态机的分布式系统,都需要满足两个特性,即安全性和活性,文中定义如下:P1.Safety.Notwocorrectnodeswillacceptconflictingtransactions.P2.Liveness.Anytransactionissuedbyacorrectclient(akavirtuoustransaction)willeventuallybeacceptedbyeverycorrectnode.在很多其他论文中,这两个特性又称之为consistency和liveness,这里就不纠结了。Slush论文首先提出了名为Slush的共识算法,也是整个协议簇中最简单最基础的部分。Slush是非拜占庭协议,意味着其不能容忍作恶节点的存在。作者抽象出一个“染色”问题:任何时刻所有节点可能处于{red,blue,⊥}三种状态之一,共识就是如何通过节点间的通信使得所有节点最终的颜色一致。Slush算法描述如下:

星云链节点参与OKExChain节点竞选 启动阶段投票100%收益返还:星云链发布消息称,已于1月18日宣布新星节点NOVA参与OKExChain节点竞选并进入启动阶段,新星节点NOVA是由星云基金会旗下的星云实验室提供技术支持和运维,旨在为OKExChain网络提供基础设施服务,连接星云链与OKExChain的生态,并为参与支持的用户获取最大化收益。

据悉,启动阶段将持续到1月31日24:00(UTC+8),期间委托OKT给节点的用户不收取服务器成本和委托费用,长期100%收益返还。当OKChain主网支持EVM后,NOVA节点将提供给用户公开投票的合约交互入口,通过合约投票的用户,前2个月收取5%运维费,之后收取10%运维费,在收益派发时扣除。

公告资料显示,星云链是开源公链,星云是自治元网络,专注于处理复杂数据和交互、复杂的协作关系,致力于通过区块链等技术手段,实现让每个人从去中心化协作中公平获益的愿景。[2021/1/25 13:25:36]

算法解释:在起始时刻,所有节点都是uncolored状态;节点u循环发起Query,总共m轮,每轮随机选择k个样本发送包含自身color的Query;当其他节点v收到一个Query时,则返回一个包括自己color的Respond,如果此时节点v还是uncolored状态,则先将Query中的color更新为自己的color再Respond;一旦收集到k个Responds,节点u判断是否存在某个color数大于等于αk,α>0.5表示一个协议参数。如果存在某个color满足该阈值则将自身color更新为该color;如果没有在限定时间收集到k个Responds,则u重新抽样发送Query,直至收集到k个Respondsslush有如下优点:memoryless,每轮之间节点除了自身color不记录额外信息;小样本抽样,不同于其他算法需要对所有节点发送请求,slush只需要发送k个请求;抗亚稳态,即便是50/50的初始状态,也可以通过抽样的随机扰动打破平衡,然后反复抽样放大优势;如果m足够大,算法可以保证所有节点都有同等机会被染色;但是slush并不能提供足够强的拜占庭安全保证,如果存在拜占庭节点故意将自身color变成和主流color不一样,则可能打乱平衡。因此slush并不是BFT,但为后续机制提供了基础。Snowflake相比slush,第二个算法snowflake做了进一步改进,其中轮询部分如下:

动态 | 星云社区投票决定将全额剩余3400万社区预留星云币:据官方消息,星云链通过社区投票决定,全额销毁剩余3,400万社区预留星云币。此次销毁将于24小时内执行。加上10月8日第一批销毁的100万NAS,至此,3,500万社区预留星云币将全额销毁。销毁之后,NAS当前总量(加上DPoS出块奖励部分)约为7,021万NAS,总流通量约为5,500万 NAS。[2019/10/29]

详细分析:每个节点引入了一个计数器cnt变量,初始cnt=0,每当一轮Query返回的k个Responds某个color满足≥αk,则将其cnt+1;如果满足条件的color和自身color不同,则将自身color设定为该color,并且重置cnt;引入另一个安全系数β,当cnt大于β时,则最终确定该节点color,而不需要执行m次询问。当给定一个ε-guarantee的拜占庭环境,Snowflake可以保证Safety和Liveness。Snowballsnowflake中每次color翻转时cnt都会重置,理论上来说已经足够安全。Snowball进一步作出改进,通过引入confidencecounter保证更加持久的可信度,使协议更难被攻击。算法具体如下:

动态 | 星云链联合创始人离开团队:星云链联合创始人王冠在社区留信称要离开星云团队。在信中说:“本次联签,并不存在一群人的博弈,大家都想把星云做好,理念不同,内部沟通不畅,自要说明,避免误解,那样只会在未来羁绊星云的发展速度。早前,我个人在三会结构推进过程中,已经退出了基金会内部工作。今天,我在此明确表示,我不参加星云基金会主席竞选,从此亦不再出任星云团队任何内部职位。[2019/7/1]

详细分析:对每个color都增加一个confidencecounter,例如d、d;每当一轮Query返回的k个Responds某个color'满足≥αk,将该color'的d+1,如果d最大,则将自身col更变为该col’;进一步地,如果col’和上次Respond通过阈值的lastcol不一样,则更新lastcol为col’,并且重置cnt;如果col’和上次Respond通过阈值的lastcol一样,则cnt+1,当cnt大于β时,则最终确定该节点color。总的来说,Snowball中仍然是连续β满足阈值条件的color才可能成为最终color,但confidencecounter的引入保证了最终确定的color同样具有高信任度。AvalancheDAG作为论文中协议簇的最终版本,Avalanche将Snowball拓展为multi-decreeprotocol。为了适用于资产交易这样的真实场景,Avalanche相比前三个算法引入了很多新概念,具体如下:

星云官方APP钱包测试网公测启动公告:在星云主网和Web钱包配套上线后,星云技术团队开发官方APP版钱包应用——NAS Nano,提供储存NAS、进行交易、私钥备份等功能。现已在测试网上发布,进入公测阶段。[2018/5/11]

图中,每个方块表示一笔交易,具有一对<chit,confidence>,可以看到颜色更深的方块confidence更高。而每个交易都有一个冲突交易集,例如T9、T6和T7属于同一个冲突交易集,即PT9=PT6=PT7,但由于T9具有更高的confidence,因此该交易集的preferredtx=T9。上面提到每个PT包括了pref和cnt两个属性,初始化的PT只有T本身,因此PT.pref=T,PT.cnt=0。当后续收到更多冲突交易后,PT集合增加,pref和cnt的更新则发生在收到Respond后。

Avalanche发送Query和收集Responds流程如下:

详细分析:节点u找到新交易T(还未确定的交易,即

最后,跟比特币一样,Avalanche也把对最终交易的确认时间点和决定权交给了应用层。应用层通过自己定义的谓词,把接受交易的风险加入考虑。确认一笔交易可以通过一个叫做“safeearycommitment”的动作来完成。对于诚实交易T(virtuoustransaction),如果它是在包含它的冲突交易集PT中的唯一交易,并且受到的Chit超过阈值β1,那么就认为T是可以接受的。如果一个诚实交易T由于liveness问题没被接受,那么它依然可以通过重新选择不同的parents交易来被接受。由于不同的交易只会消费和生成自己的UTXO,彼此互不相干,因此,任何交易都可以重新选择parents。至此,Avalanche整个流程介绍完毕,抽象而言,节点间的通信如下所示:

星云主网将于3月30日上线:据星云官方公众号消息,星云主网将于北京时间3月30日13:00上线,为了使开发者能够在和主网一致的环境中进行开发测试,星云团队计划重置整个测试网络,使其升级到和主网一致的版本。[2018/3/27]

Experiments实验部分主要包括了对Throughput和Scalability测试,这里简单放下结果。

总结下来就是,Avalanche可以保证在节点规模在2000左右时,仍然有将近7000TPS。如此之高的性能得益于三点:Avalanche本质上来说就是DAG,在只需要保证偏序的情况下,可以允许更多的并发,而传统的BFT策略则是需要保证Linearizability,开销更大。PS:很难简单地评价两者那种更好,因为在有智能合约运行的场景下,只保证偏序是显然不够的。Avalanche不存在Leader,后者则可能成为性能瓶颈;每个节点通过采样只和k个其他节点通信,因此在网络规模增加时通信开销也不会增加太多。难得的是,论文复现了Algorand和Conflux的实现,并且做了横向比较,为了统一,这里全部采用Bitcoin的transaction平均数据规模。结果如下:TPS:Bitcoin为3~7,Algorand为874,Conflux为3355,Avalanche为3400;Latency:Bitcoin为10~60mins,Algorand为50s,Conflux为7.6~13.8mins,Avalanche为1.35s;Thinking:可以发现,同样都为DAG,Avalanche和Conflux在TPS上几乎一样,实际上最原始的GHOST也能达到这个级别的性能。所以个人认为单从TPS上而言,Avalanche并没有太大提升。论文中作者承认cryptographicverification是当前一个主要性能瓶颈,但个人认为另一个瓶颈在于节点处理Query的环节,当中需要判断交易TisSTRONGLYPREFERRED,而这一步实际上需要遍历T所有的祖先交易的冲突交易集合,随着交易的增加这个开销将会变得非常大。尽管作者不愿意在论文中引用IOTA的工作,但两者确实有很多相似之处,核心思想都是优先保证诚实节点的liveness。但两者都缺少economicincentive,并不能消除拜占庭节点的作恶动机。

标签:COLOLOCOLORLORInverse ProtocolPoloniexfivecolorstoneGlory Token

Gate.io热门资讯
比特币:有趣的「零知识有条件支付」:真正完美的“一手交钱一手交货”是什么样的?

编者按:本文来自橙皮书,作者:安比实验室创始人郭宇,星球日报经授权发布。假如我们现在要做一笔交易,我想把自己的数据卖给你,怎样交易才是最安全的?显然这里会有两个问题:1、因为我卖的是数据,肯定不.

1900/1/1 0:00:00
区块链:315晚会曝光的黑幕,区块链能做什么?

编者按:本文来自巴比特,作者:邱祥宇,星球日报经授权发布。一年一度的315晚会如期而至,揭露了许多行业黑幕。原以为币、虚拟货币平台这些和区块链沾边的东西会被点名,结果再一次失望.

1900/1/1 0:00:00
区块链:币圈凉凉,传统证券交易所入场却是蛮拼的

文|秦晓峰编辑|卢晓明加密货币热潮降温,传统机构的入局却开始不断升温。自2008年诞生以来,区块链已经走过了十余年的漫漫风雨路。关于区块链以及加密货币,一直争论不休.

1900/1/1 0:00:00
BTC:行情周报|连续3周上涨,但看空主流币种后续走势

周报摘要本周全球数字资产市场趋稳,市值涨幅达2.88%,交易量涨幅达12.47%。EOS周内最大跌幅达30.97%,波动性较大。全球30家代表性交易所,新上交易对11个.

1900/1/1 0:00:00
区块链:区块链与AI融合将催生新型终端应用平台

编者按:本文来自链捕手,作者:邓仰东,清华大学副教授、MATRIX首席AI科学家,Odaily星球日报经授权转载.

1900/1/1 0:00:00
区块链:德国区块链市场繁荣,政府开始探索区块链战略部署

据路透社,2月18日,消息人士表示,德国政府已就如何开发区块链技术的潜力展开磋商,并将在夏季前提出相关策略.

1900/1/1 0:00:00