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

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

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

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

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

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

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

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

DFINITY创始人:SBF在ICP推出时严重操纵价格,以保护SOL:6月12日消息,DFINITY 创始人兼首席科学家 Dominic Williams 在接受采访时表示,当 ICP 推出时,Token 价格被 SBF 在 FTX 上使用 ICP-PERP(ICP 永续合约)严重操纵。此后 DFINITY 发现,为了让它崩溃,SBF 把 ICP 的价格提高了五倍。Dominic 表示,SBF 这样做是为了捍卫他持有的大量 Solana(SOL)。Dominic 表示,SBF 从 FTX 客户那里窃取了数十亿美元,然后将其投资到 Solana 生态系统,以及后来的 NEAR 和 Aptos 等项目中。[2023/6/12 21:31:37]

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

ICC0协议介绍

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

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

DFINITY:Internet Computer已可通过Canister智能合约转移ICP:11 月 25 日,DFINITY 宣布社区已通过 NNS 提案 #31471。该提案的通过,意味着 Internet Computer 用户已可通过 Canister 智能合约持有或转移 ICP,也意味着 Internet Computer 在 DeFi 领域获得进一步的发展。DFINITY 表示,去中心化聊天应用 OpenChat 将很快允许用户通过即时消息相互发送 ICP,一系列 DApps 和市场也将实现不同的集成。

此外,NNS 提案 #31471 也标志着完全在主权区块链上运行的去中心化交易平台时代的到来,近期一位社区开发者在 Internet Computer 上发布了 Uniswap 前端,以展示传统 DeFi 解决方案如何完全运行在区块链上。受益于 NNS 提案 #31471,甚至像 Coinbase、Binance 和 Crypto.com 这样的中心化交易平台也可以完全上链。[2021/11/26 7:11:39]

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

Bitfinex上线ICP,将于7月12日17:00开放交易:据官方公告,Bitfinex宣布上线Dfinity (ICP)。ICP存款业务现已开放,并将于7月12日17:00开放ICP/USD、ICP/USDT及ICP/BTC交易。[2021/7/9 0:40:26]

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

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

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

中币(ZB)将于5月20日上线ICP:根据官方公告,中币(ZB)将于2021年5月20日16:00开放ICP(Internet?Computer)充值,5月22日14:00开放ICP/USDT和ICP/QC交易。同时,中币(ZB)于5月20日16:00开始ICP新币上线活动。活动一:充值ICP,免交易手续费;活动二:API用户交易ICP,送VIP优惠费率。

Internet Computer(ICP)是Dfinity基金会开发的第一层计算机网络协议,通过ICP协议,开发者利用点对点网络计算资源建立一个虚拟的区块链计算机网络。在此网络上,现有的软件以及智能合约都可以进行部署,并具有区块链可追溯,不可篡改和分布式的特性。更多详情请查看中币官方公告。[2021/5/20 22:24:52]

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

AOFEX将于5月11日上线ICP:据官方消息,AOFEX交易所将于5月11日正式上线ICP(Internet Computer),并于5月11日00:30(GMT+8)上线科创板并开放ICP/USDT交易区。

DFINITY团队自2015年起就致力于区块链底层技术研究,致力于开发一种基于区块链的,安全、强大的下一代应用级区块链全球计算机。数字货币金融衍生品交易所AOFEX旨在为用户提供优质服务和资产安全保障。[2021/5/11 21:46:09]

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

请注意,即使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:52ms