Part 5: Consensus, confirmation confidence, and the coordinator

part4,我们提到了“双花”问题,作为系列文章的最后一章,本文会分析Tangle是如何具体解决该问题,又是如何确认历时交易的。

为了说明该问题,我们通过图1-1的用例来研究:

图1-1

正如图1-1的用例所示,Alice 有 5i,并且同时向Charlie 和 Bob转账5i。这就导致了一个问题,我们不能同时认为这两笔转账交易时有效的,并且,根据Tangle 现有的技术方案,我们无法使用新交易来同时认证这【Alice gives Bob 5i】和 【Alice gives Charlie 5i】两笔交易,因为这会导致Alice的余额变成负数。

在学些the weighted random walk 的tip 选择算法过程中,我们知道会有一条分支其权重越来越大,而权重较小的分支则会被抛弃。因此,iota 中的共识则是围绕着 交易的有效性展开。然而,还是有一个问题,对于Bob 或Charlie来说,他们怎么知道Alice 究竟将钱转给了谁。在解决完“双花”问题后,最后需要解决的交易确认问题。

我们结合生活场景来举一个例子。我们假设 Bob 和 Charlie 都是一个恐龙模型贩卖商,而Alice需要向他们其中一个人购买一个霸王龙。如果Bob 和 Charlie看见tangle 中的转账交易后,立马都将霸王龙模型发给Alice,可最后他们俩当中只有一个人收到Alice的真实转账。这可以是一个严重的问题,事实上,比特币是第一个解决该问题的区块链技术。而Tangle通过引入 confirmation confidence 来解决该问题。confirmation confidence是衡量一笔交易在tangle 中的可信度。

具体confirmation confidence的计算流程如下:
1.对需要确认的交易X进行100次 tip 选择运算。
2.计算在这100tips中,有多少个tip 选择认证的交易X,假设这个数量为A。
3、confirmation confidence的值为 “A%”。

换言之,一笔交易的信任值 则等价于认证该交易数的百分比。但在实际计算中,并非所有的tip 交易都会被同等对待,一些被认为更重要的tip会持有更高的占比权重。这是什么意思?我们通过图1-2 的用例来详细说明。

图1-2

在图1-2 的用例中,被黑色的后边所包围的交易其confidence的值超过95%,而交易[9] 则被四个tip 交易([7]、[13]、[11]、[12])中的两个([13]、[12])进行选择认证。如果简单按照百分比来计算,交易[9] 的confidence 值为50%。但正如我们刚刚提到,并非所有的tip 交易都会被同等对待。在该用例中交易[7] 为lazy tip,而根据之前的章节较少,lazy tip 是不被鼓励的,所以,它所占的百分比会稍微少些。因此,交易[9]的实际confidence值会更高些,在图1-2 的用例被设定为0.54。

现在,我们可以明确的告诉Bob 和 Charlie应该什么时候将霸王龙模型发送给Alice。当 Alice’s的其中一笔交易的 confidence 值到达一定阈值时,我们设定为95%,则可以认为该笔交易所在分支基本不会被抛弃了。细心的读者会注意,我们用词为“基本不会”,而不是“不可能”。因为,如果Alice’s想刻意欺骗,并且有足够大算力的情况下,她可以 强行切换分支或者让“双花”支付成功。

我们接着图1-1 的用例,举一个Alice刻意欺骗的例子。假设这笔交易最后是支付给Charlie,换言之,交易【Alice gives Charlie 5i】是被确认的。Alice为了达到欺骗的目的,她将尽可能发起更多的交易,不断尝试提高她所提新分支得累积权重。如果她有足够大的算力,她可以让整个tangle网络按照她提出的新分支演进,这样一来,她则可以轻松重写历史 。而原本交易【Alice gives Bob 5i】的confidence 值则可以从95% 下降为0。

图1-3 则展示了整个欺骗流程:

图1-3

在上述例子中,只有当Alice发送的交易数量超过其他所有人的总和或接近时,才会出现这种问题。虽然在成熟和活跃的IOTA网络中,算力攻击不是主要风险,但对于早期的IOTA来说,由于整个网络都没有足够的交易量来避免系统免受算力攻击。

因此,出于安全考虑,我们采用了自愿和临时不同的共识机制:协调者(the coordinator)。协调者的工作机制如下,每隔两分钟,协调者会发起一笔 里程碑交易( milestone transaction),而被 里程碑交易选定并认证成功的交易,其confirmation confidence 值会设为100%,即马上确认。在使协调者机制的情况下, Alice的第二笔交易将永远不会被选定确认。虽然这回导致一定的中心化现象,但该机制却能在IOTA 网络初期起到一个保护作用。直到IOTA自身足够成熟、活跃并且能够抵御算力攻击的情况下,我们将会去掉协调者机制,同时,IOTA网络也会变得更加高效。

到这里,系列文章完毕,IOTA的源码分析后续会逐步给出。

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

推荐阅读更多精彩内容