GRAM:ICP币之DFINITY科普:互联网计算机共识协议ICC_Typhoon Network

互联网计算机共识作为DFINITY的底层协议,能够支持互联网计算机拜占庭容错机制。

ICC协议是一种基于假设部分同步且和区块链完全集成的领导者协议,领导者在每一轮都有可能会被更换,此协议十分简单有效,在任何一轮中如果出现领导者出错的情况,协议将会更换领导者,在此轮中及时解决该问题,而不会拖到下一轮。

ICC系列协议目前有三个特定的协议:ICC0、ICC1和ICC2。ICC0协议是互联网计算机中实际使用协议的一个略为简化的版本,但更容易分析和被呈现出来,这是本文介绍的主要重点。ICC1协议对互联网计算机中使用的协议版本进行了更加严谨的建模,比ICC0复杂一点。ICC2则是ICC1升级版,它使用了互联网计算机目前还没有使用的技术。

ICC协议是:完全指定的,它们不依赖于未指定的、非标准的组件;非常简单的,即使是相当详细的内容也很容易放在一个页面上;十分稳定的,在面对拜占庭式攻击时性能会逐渐地下降,不会发生骤降的情况下。

ICC协议与其他的协议相比具有以下优点:

1、ICC协议没有复杂的子协议或未指定的子协议;

2、ICC协议将可靠地向各方传播块的任务作为协议不可分割的部分,而不是留给其他未指定的子协议;

美国白宫:将继续监控加密货币的发展:11月11日消息,美国白宫:将继续监控加密货币的发展。加密货币在没有适当监管的情况下可能会伤害普通美国人,最新消息突显了这些担忧。美国白宫不会评论监管机构应该对加密货币采取什么行动。(金十)[2022/11/11 12:46:31]

3、ICC协议具有乐观响应性,这意味着当领导者诚实时,协议将按照实际网络延迟的速度进行,而不是按照网络延迟的某个上限进行。

ICC0协议介绍

ICC0协议包括两个同时运行的子协议:树形构建子协议和最终化子协议。下图为ICC0中partyPα的树形构建子协议:

树形生成子协议使用双延迟功能:

对协议的介绍和分析将从延迟函数的角度进行。对于活跃度,唯一的要求是2δ+prop(0)≤ntry(1),其中δ是该轮期间网络延迟的一个上限。但是,为了更好地控制协议的通信复杂性,这些功能的实现如下:

俄罗斯财政部长:希望在年底前通过一项监管加密货币的法案:2月18日消息,俄罗斯财政部长Siluanov:希望在年底前通过一项监管加密货币的法案。(金十)[2022/2/18 10:01:14]

对于网络时延以δ≤bnd为界的轮,满足上述活跃度要求。参数∈是一个“调控器”,它可以设置为零,但将其设置为非零值将防止协议运行“太快”。

需要注意的是:协议执行的唯一通信类型是广播,其中一方向所有方发送相同的消息。此外,这种广播并不被认为是安全的:一方从腐败方那里接收到信息,不能保证其他参与方也会收到同样的信息。在这个协议描述中,一方等待它的消息池包含满足某些条件的消息。该池保存从任何一方接收到的所有消息集(包括自己广播的消息),并且不会从池中删除任何消息(虽然适当优化的协议版本会这样做)。

在树形构建子协议的每一轮中,作为初始步骤,partypeα将首先等待fort+1的阈值签名用于计算该轮的随机信标。之后,它会计算round的随机信标,并立即广播round+1的随机信标份额。这是一种用于最小化延迟的“流水线”逻辑——因此,对手可能在任何诚实方完成rounddk之前就已经知道round1的随机信标,但这不是一个问题(至少,假设静态破坏)。正如我们已经讨论过的,圆的随机信标确定了一个party的排列,它赋值一个uniquerank0,…,n1。0级的一方被称为round的领导人。

动态 | 修订反法案以规范数字货币:据聚焦报道,立法院通过了反和恐怖主义融资预防法案,这些法律规范了比特币等数字货币的交易,以帮助打击网上的金融犯罪。“管制法”和“防止恐怖主义融资法”的修正案赋予金融监督委员会(FSC)打击匿名数字货币交易的权力。根据新规定,FSC现在可以要求数字货币平台的运营商实施“实名制”,要求用户注册其真实姓名。[2018/11/2]

对于区块B,我们定义秩π(B)为提出一方的秩。在这一轮中,partypα将维持一组已经广播公证股的区块,以及一组不合格的等级。如果排名是不合格的,这意味着该排名的一方提出了两种不同的回合。partypeα一旦找到一个公证的round-kblockbinits池,或者找到一些有效但未公证的round-kblockbin的完整的一套公证书,这一轮将结束。在后一种情况下,甲方将公证股合并为b方的公证股,无论哪种情况,都将对b方的公证股进行广播。

此外,如果partypeα本身没有在b之外的任何区块上广播公证股,它将在b上广播定案股。当prop(rme)时间单位从一轮开始时(更准确地说,因为它执行图1中的stept0←clock的时间),partypeα将提出自己的区块。这个延迟对于安全或活性不是必要的,但目的是为了防止所有诚实的政党用他们自己的建议淹没网络。特别是,当领导者是诚实的,延迟函数的选择是适当的,并且网络是同步的,除了leader之外没有任何一方会广播自己的block。在提出自己的区块时,pα必须首先在其区块池中选择一个经过公证的轮(k1)区块进行扩展。总是会有这样一个块,因为只有当有这样一个块时,上一轮才会结束(ork=1,bp=root)。可能有不止一个这样的公证块,在这种情况下,选择哪一个并不重要。

行情 | 美股区块链相关股票开盘涨跌各异:柯达下跌2.99%,埃森哲下跌0.28%,Overstock.com上涨0.11%,Riot Blockchain上涨3.98%,Marathon Patent平盘,Sqare下跌4.27%。[2018/8/4]

接下来,pα必须计算有效载荷。在第一张图中,这是通过调用函数getpayload(Bp)来完成的,其中的细节依赖于应用程序,但请注意,它可能依赖于Bp和Bp的整个区块发送链(例如,为了避免重复命令)。最后,构造了blockbproposed,partypeαbroadcastsb,B的认证器。最后,partyPαwillechoa有效round-kblockBofrankrin池(i)提供其尚未广播公证份额forB;(2)它没有资格rankr;(3)至少ntry(t)时间单位通过了一轮的开始以来,及(iv)没有“更好”块池。在这里,一个“更好”的块将是一个有效的区块,它的排名低于r0,但还没有被取消资格。如果这些条件成立,则partypeα执行以下操作:

晚间数字货币行情梳理:根据Bitfinex交易平台数据显示,BTC最新成交价格121941.88元,最高价达129055.48元,最低价格118956.41元,成交量6.53万,跌幅4.75%;

ETH最新成交价格4728.27元,最高价达4954.43元,最低价格4359.31元,成交量33.53万,涨幅0.93%;

BCH最新成交价格14540.02元,最高价达15147.73元,最低价格11542.93元,成交量7.82万,涨幅12.85%;

ETC最新成交价格284.94元,最高价达268.82元,最低价格205.07元,成交量183.30万,涨幅10.30%;

LTC最新成交价格2062.95元,最高价达2166.45元,最低价格1924.90元,成交量37.66万,跌幅2.08%。[2017/12/18]

请注意,即使Pα已经广播了相同等级的另一个块的公证份额,它也会回显B。这是为了确保所有其他诚实方也有机会丧失等级资格。但是,请注意,Pα最多会回响任何给定等级的2个块。

partyPα的最终子协议如下图所示:

PartyPα跟踪其已看到最终块的最后一轮kmax。每当它在其池中看到一个finalizedround-kblockBin,或某个池中某个有效但未最终确定的round-kblockBin的完整份额集,其中k>kmax时,将按以下步骤进行。在情况中,它将终结处理份额合并到终结处理B中,在情况或中,它将广播终结处理B。此外,它将按顺序输出以B结尾的区块链中lastk-kmaxblocks的有效载荷。我们的正式执行模型是,当执行“waitfor”语句时,执行将暂停,直到消息到达或发生计时条件,使“等待”中的条件之一得到满足。发生这种情况时,将执行相应的程序。

协议的修改

1、前后不一致的当事人将被永久性的取消资格

如果一方发现另一方在一轮中提出了两个不同的区块,那么一方可能会取消另一方的资格。然而,这种取消资格并不会延续到随后的几轮中。我们可以修改协议,以便一方在某一轮中取消另一方的资格,而不是广播导致取消资格的第二个块,它广播一个称为“不一致证明”的特殊消息,证明一方在同一轮中验证两个不同的块。

在这种变化中,任何一方都可能被取消资格,因此,就长期体系的执行而言,各方的行为一致是很重要的。

可能采取的实现方式:临时性取消资格,即不希望永久取消认证方的资格,使用不一致证明和这种替代语法的身份验证可以更实际一些,因为它不需要播放整个第二个街区来说服其他参与方。实际上,我们最初的暂时取消资格的协议可以通过简单地改变rankrabove的不一致行为证据的定义来更有效地实现。

2、ICC1协议:收紧提案条件

在提出称之为ICC1议定书的这种变动时,我们假设我们已经纳入了前文中引入的“永久取消资格”规则。然而,它也可以使用“临时取消资格”来实现,只需要做一些非常小的改变。回想一下,当prop(rme)时间单位从这轮开始(实际上,从它获得当前轮的随机信标的时间开始)经过时,partypeα将提出它自己的块。

在这种变化中,我们将收紧条件,在此条件下,α将提出自己的块,这样,如果在它的池中有明显的“更好”块,它将“阻止”这样做。这里所说的“更好”区块,指的是比pa的区块排名更低且没有被取消资格的区块。然而,请注意,如果一方因为在自己的池中看到了一个“更好”的区块而“退缩”,则无法保证其他诚实的一方很快就能看到这个“更好”的区块。因此,直到这一轮结束,它将响应最小rank的任何“更好”块,但只有在prop(r)时间单位从这一轮经过开始。

下图为ICC1中partyPα的树形构建子协议:

3、ICC2协议:突破通信瓶颈

使用的底层广播子协议本身并不能保证一致性,这就是为什么原子广播协议本身需要额外的逻辑来取消不一致的参与方。此外,底层广播子协议在通信复杂度方面不是最佳的——至少在传统的通信复杂度度量下是这样的,在传统度量下,我们仅仅计算所有诚实方发送的比特数。如果块有尺码,那么忽略签名和签名共享带来的通信复杂性(可以比大块小几个数量级)。

我们将用可靠的广播协议替换底层广播子协议,这将消除取消不一致方资格的需要。此外,我们所使用的特定可靠广播协议具有justO(nS)的通信复杂度,假设为:S=Ω(nlognλ),并且签名和散列具有长度O(λ)。这种方法的一个缺点是,每轮最佳情况下的延迟会增加一些——但只会增加一个网络延迟δ。这种方的另一个缺点是协议的计算复杂度稍微高一些。

下图为ICC2中partyPα的树形构建子协议:

以上即是ICC系列协议以及协议修改部分的重点整理

文:DfinityClub

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:46ms0-4:412ms