2017-07-22

3.共识算法(DPOS)

EOS.IO软件架构中采用目前为止唯一能够复合上述性能要求的区块链共识算(DPOS)。根据这种算法,全网持有代币的人可以通过投票系统来选择区块生产者,一旦当选任何人都可以参与区块的生产。

DPOS:共识算法?全网持币的人可以票选区块生产者,当选人可以参与区块生产?为什么?

EOS.IO里预计每3秒生产一个区块。任何时刻,只有一个生产者被授权产生区块。如果在某个时间内没有成功出块,则跳过该块。

3秒一块,出不来做费。

EOS.IO架构中区块产生是以21个区块为一个周期。在每个出块周期开始时,21个区块生产者会被投票选出。前20名出块者首选自动选出,第21个出块者按所得投票数目对应概率选出。所选择的生产者会根据从块时间导出的伪随机数进行混合。以便保证出块者之间的连接尽量平衡。

EOS架构中21个区块为一个周期。开始就票选区块生产者,前20名自动选出,第21名按票数对应概率选出。生产者根据区块导出时间的伪随机数进行混合,保证出块者之间的连接平衡。复杂好?!

如果出块者错过了一个块,并且在最近24小时内没有产生任何块,则这个出块者将被删除。这确保了网络的顺利运行。

不是3秒就一块吗?24小时会出多少块啊,没有任何产出,这不是怠工吗?删除保证网络运行。

在正常情况下,DPOS块链不会经历任何叉,因为块生产者合作生产区块而不是竞争。如果有区块分叉,共识将自动切换到最长的链条。具有更多生产者的区块链长度将比具有较少生产者的区块链增长速度更快。此外,没有块生产者应该同时在两个区块链分叉上生产块。如果一个块生产者发现这么做了,就可能被投票出局。

合作而不是竞争,区块分叉,共识将自动切换到最长的链条。如果块生产者同时在两个链分叉上生产块,可能投票被出局。

交易确认

由DPOS共识算法维护的区块链一般出块者都是100%在线的。这就是说一个交易平均1.5秒后,会被写入区块链中,同时被所有出块节点知晓这笔交易。这就意味着只需要1.5秒,一笔交易可以认定为99.9%被区块链接收了。

票选的当然都会在线,一个交易平均1.5秒后被写入区块链,同时进行广播,1.5秒一笔交易就99.9%被区块链接受了。

有一些非常情况下例如,软件bug,Internet拥塞或恶意出块者出现,区块链可能出现分叉。为了确保一个交易是不可逆转的,可以等待15个区块确认。根据EOS.IO软件的配置,在正常情况下15个区块确认平均需要45秒。

意外情况下区块链可能分叉,为了保证一个交易是不可逆转的,可以等待15个区块确认。根据软件配置,45秒会确认成功。

在分叉产生的9秒钟内,出块节点就可能发现这个分叉可能并警告用户。一个节点观察网络的时候如果发现连续2次的丢块事件,这意味着改节点由95%可能性在区块链的分叉分支上。有出现3个连续的丢块以后,该节点有99%的可能性在一条分叉出来的区块链上。可以生成一个预测模型,它将利用节点丢失的信息,最近的参与率以及其他因素来快速地警告用户出现什么问题。

分叉发生的9秒内,出块节点就会发出警告。一个节点观察网络的时候,如果连续丢失2块、3块区块,那么该节点分别有95%、99%在分叉的区块链上。

对这种警告的反应完全取决于业务交易的性质,但最简单的反应是等待15/21确认,直到警告停止。

还有警告机制:15/21

交易证明(TaPoS)

EOS.IO软件要求每个交易都包括最近的区块头的哈西。 这个哈希有两个目的:

1.防止分叉区块链上出现大量交易记录;

2.使得系统能感知到用户是否在分叉出来的区块链上

随着时间的推移,所有用户最终直接确认块链,这使得难以伪造假冒链,因为假冒将无法从合法链路迁移交易。

太难了,理解不了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,711评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,079评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,194评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,089评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,197评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,306评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,338评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,119评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,541评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,846评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,014评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,694评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,322评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,026评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,257评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,863评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,895评论 2 351

推荐阅读更多精彩内容

  • 草案:2017 年 6 月 26 日 (@dayzh (https://steemit.com/@dayzh)) ...
    区块链生存指南阅读 1,958评论 0 4
  • xls批量转换为xlsx vb代码 注意:.xlsx 不在存储宏,所以将xls转为xlsx后会导致原工作簿中的宏丢...
    函数啊阅读 2,922评论 0 2
  • 一、进程与线程进程是指在系统中正在运行的一个应用程序;线程是进程的基本执行单元,一个进程(程序)的所有任务都在线程...
    大兵_iOS阅读 116评论 0 0
  • 她脱下了长裙,洁白无瑕的肌肤暴露在空气中,她喝了点酒,发了会儿呆,于是鼓起勇气走向床边。 猫耳躺在床上,目光带着垂...
    多多掌柜阅读 323评论 1 2