ICP币之DFINITY科普:互联网计算机共识协议ICC_PARTY:UND

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

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

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

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

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

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

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

Zondax与DFINITY基金会合作构建Ledger ICP应用程序:12月6日消息,硬件钱包Ledger的ICP应用开发的第一阶段已经完成。由开发人员、工程师和密码学家组成的团队Zondax已与DFINITY基金会合作构建LedgerInternetComputer(ICP)应用程序。目前支持以下功能:应用程序中完整的公钥派生和地址(主体)生成;ICP交易;神经元管理。LedgerInternetComputer(ICP)应用程序已经过第三方审计,并已通过Ledger审核和批准。该应用程序现在可以通过LedgerLive安装。DFINITY和Zondax计划继续合作,因此LedgerInternetComputer应用程序的附加功能很可能很快就会开发出来。[2021/12/6 12:53:39]

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

ICC0协议介绍

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

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

KuCoin(库币)新增ICP杠杆交易:据KuCoin库币官方消息,库币杠杆交易平台已开通Internet Computer (ICP)杠杆交易。同时,库币杠杆借贷市场提供7天0息借贷ICP福利,总额度为300ICP,此外海量免息券已空投到幸运用户账户。

用户可通过借入ICP做空,或者借入USDT做多。 库币杠杆交易已开放DOGE、FIL、1INCH、CHZ、BTT等60多个币种的交易对。近期行情波动较大,请控制杠杆倍数,做好风险控制。[2021/5/15 22:06:33]

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

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

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

Coinbase:目前正在调查ICP提款延迟问题:官方消息,Coinbase称目前正在调查ICP提款延迟问题。[2021/5/12 21:52:08]

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

对于区块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)。可能有不止一个这样的公证块,在这种情况下,选择哪一个并不重要。

ICP上线 KuCoin ,开盘上涨31.9%:据 KuCoin (库币) 交易所消息,KuCoin 已上线 Internet Computer (ICP)项目并支持ICP/USDT和ICP/BTC 交易对。ICP开盘价为350USDT,当前报价455USDT,上线涨幅31.9% 。Internet Computer (ICP) 创建了第一个以Web速度运行并能够无限增加容量的基于区块链的解决方案。以“全民的交易所”著称, KuCoin (库币) 旨在发掘优质区块链项目,为来自207个国家的800万用户提供币币、法币、杠杆、合约、矿池、借贷等一站式服务。[2021/5/11 21:48:37]

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

欧易OKEx已开放ICP充值 并与Definity Foundation联合发起千万美元专项生态基金:据官方公告消息,欧易OKEx已于香港时间5月10日10:00开放Internet Computer (ICP)充值,等流动性条件满足后会第一时间开通交易。此外,欧易OKEx新成立的OKEx Blockdream Ventures将提供1000万美元的专项资金和资源与Internet Computer Ecosystem(Dfinity Foundation)展开合作。以支持计划中的高质量生态系统项目。

据悉,DFINITY 经过几年的迭代,目前的正式愿景定位为互联网计算机。互联网计算机可以扩展智能合约计算和数据,以Web速度运行它们,有效地处理和存储数据并为开发人员提供强大的软件框架。[2021/5/10 21:42:53]

请注意,即使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:15ms0-3:285ms