互联网计算机共识作为DFINITY的底层协议,能够支持互联网计算机拜占庭容错机制。
ICC协议是一种基于假设部分同步且和区块链完全集成的领导者协议,领导者在每一轮都有可能会被更换,此协议十分简单有效,在任何一轮中如果出现领导者出错的情况,协议将会更换领导者,在此轮中及时解决该问题,而不会拖到下一轮。
ICC系列协议目前有三个特定的协议:ICC0、ICC1和ICC2。ICC0协议是互联网计算机中实际使用协议的一个略为简化的版本,但更容易分析和被呈现出来,这是本文介绍的主要重点。ICC1协议对互联网计算机中使用的协议版本进行了更加严谨的建模,比ICC0复杂一点。ICC2则是ICC1升级版,它使用了互联网计算机目前还没有使用的技术。
ICC协议是:完全指定的,它们不依赖于未指定的、非标准的组件;非常简单的,即使是相当详细的内容也很容易放在一个页面上;十分稳定的,在面对拜占庭式攻击时性能会逐渐地下降,不会发生骤降的情况下。
ICC协议与其他的协议相比具有以下优点:
1、ICC协议没有复杂的子协议或未指定的子协议;
2、ICC协议将可靠地向各方传播块的任务作为协议不可分割的部分,而不是留给其他未指定的子协议;
TokenBetter平台TM(TokenMask)持续上涨日内涨幅33.05%:据TokenBetter行情显示,截止今日13:45(UTC+8),TokenBetter平台内创新区币种TM(TokenMask)持续上涨,日内涨幅为33.05%,现报价0.94757USDT。
TokenMask是一个基于区块链技术打造的慈善联盟生态平台,由新加坡曙光慈善基金会联合全球136个慈善组织共同发起。[2020/6/15]
3、ICC协议具有乐观响应性,这意味着当领导者诚实时,协议将按照实际网络延迟的速度进行,而不是按照网络延迟的某个上限进行。
ICC0协议介绍
ICC0协议包括两个同时运行的子协议:树形构建子协议和最终化子协议。下图为ICC0中partyPα的树形构建子协议:
树形生成子协议使用双延迟功能:
对协议的介绍和分析将从延迟函数的角度进行。对于活跃度,唯一的要求是2δ+prop(0)≤ntry(1),其中δ是该轮期间网络延迟的一个上限。但是,为了更好地控制协议的通信复杂性,这些功能的实现如下:
动态 | TokenSoft推出钱包服务,允许投资者自我管理证券型代币:美国监管的证券型代币平台TokenSoft现在正在为投资者提供自我管理的账户TokenSoft Investment Accounts。周四宣布的这项新服务旨在为用户提供一种技术含量较低、更安全的方式来持有和控制其证券型代币投资。该产品实际上是一个数字钱包,为代币发行者提供自动股息分配和内置报告;还提供多重签名安全性,提供资产超过10亿美元的钱包使用的多重签名密钥模型;支持兼容的证券型代币标准,如以太坊的ERC-1404和Tezos的FA1.2。(CoinDesk)[2020/1/31]
对于网络时延以δ≤bnd为界的轮,满足上述活跃度要求。参数∈是一个“调控器”,它可以设置为零,但将其设置为非零值将防止协议运行“太快”。
需要注意的是:协议执行的唯一通信类型是广播,其中一方向所有方发送相同的消息。此外,这种广播并不被认为是安全的:一方从腐败方那里接收到信息,不能保证其他参与方也会收到同样的信息。在这个协议描述中,一方等待它的消息池包含满足某些条件的消息。该池保存从任何一方接收到的所有消息集(包括自己广播的消息),并且不会从池中删除任何消息(虽然适当优化的协议版本会这样做)。
分析 | TokenInsight:BTC下跌势能减弱 后续方向不明:据 TokenInsight 数据显示,反映区块链行业整体表现的TI指数北京时间9月19日9时报566.91点,较昨日同期上涨16.78点,涨幅3.05%。通用平台指数TIG报374.7点,较昨日同期上涨17.98点,涨幅5.04%。另据监测显示,转账数较上周同期上升7.1%至24万,且前100地址持币总量首破近两年新高。BCtrend分析师 Jeffrey 认为,BTC沿6000美元上方反复筑底,下跌势能逐渐减弱,震荡过后或将开启今年尾部行情。技术分析方面,独立分析师 James Lu 认为,ETH 昨日夜间反弹,表现较为强势,带动其他主流通证反弹。当前BTC、ETH均有较强支撑,后续方向不明。[2018/9/19]
在树形构建子协议的每一轮中,作为初始步骤,partypeα将首先等待fort+1的阈值签名用于计算该轮的随机信标。之后,它会计算round的随机信标,并立即广播round+1的随机信标份额。这是一种用于最小化延迟的“流水线”逻辑——因此,对手可能在任何诚实方完成rounddk之前就已经知道round1的随机信标,但这不是一个问题(至少,假设静态破坏)。正如我们已经讨论过的,圆的随机信标确定了一个party的排列,它赋值一个uniquerank0,…,n1。0级的一方被称为round的领导人。
对于区块B,我们定义秩π(B)为提出一方的秩。在这一轮中,partypα将维持一组已经广播公证股的区块,以及一组不合格的等级。如果排名是不合格的,这意味着该排名的一方提出了两种不同的回合。partypeα一旦找到一个公证的round-kblockbinits池,或者找到一些有效但未公证的round-kblockbin的完整的一套公证书,这一轮将结束。在后一种情况下,甲方将公证股合并为b方的公证股,无论哪种情况,都将对b方的公证股进行广播。
Coinbase:目前正在调查ICP提款延迟问题:官方消息,Coinbase称目前正在调查ICP提款延迟问题。[2021/5/12 21:52:08]
此外,如果partypeα本身没有在b之外的任何区块上广播公证股,它将在b上广播定案股。当prop(rme)时间单位从一轮开始时(更准确地说,因为它执行图1中的stept0←clock的时间),partypeα将提出自己的区块。这个延迟对于安全或活性不是必要的,但目的是为了防止所有诚实的政党用他们自己的建议淹没网络。特别是,当领导者是诚实的,延迟函数的选择是适当的,并且网络是同步的,除了leader之外没有任何一方会广播自己的block。在提出自己的区块时,pα必须首先在其区块池中选择一个经过公证的轮(k1)区块进行扩展。总是会有这样一个块,因为只有当有这样一个块时,上一轮才会结束(ork=1,bp=root)。可能有不止一个这样的公证块,在这种情况下,选择哪一个并不重要。
接下来,pα必须计算有效载荷。在第一张图中,这是通过调用函数getpayload(Bp)来完成的,其中的细节依赖于应用程序,但请注意,它可能依赖于Bp和Bp的整个区块发送链(例如,为了避免重复命令)。最后,构造了blockbproposed,partypeαbroadcastsb,B的认证器。最后,partyPαwillechoa有效round-kblockBofrankrin池(i)提供其尚未广播公证份额forB;(2)它没有资格rankr;(3)至少ntry(t)时间单位通过了一轮的开始以来,及(iv)没有“更好”块池。在这里,一个“更好”的块将是一个有效的区块,它的排名低于r0,但还没有被取消资格。如果这些条件成立,则partypeα执行以下操作:
新加坡WBF交易所将于5月8日17:00上线Dfinity(ICP)期货:2021年5月8 日17:00, 新加坡WBF交易所正式上线Dfinity代币ICP, 并将于开放区和掘金区上线ICP/USDT期货交易对. ICP币种的充值与提现将于Difinity主网上线技术对接完成后第一时间开启。(提示:ICP期货价格或与现货价格存在偏差,请用户留意价格波动风险,谨慎参与)
DFINITY团队自2015年起就致力于区块链底层技术研究,致力于开发一种基于区块链的,安全、强大的下一代应用级区块链全球计算机。DFINITY正在构建一款全新的去中心化的公共云计算服务。这套服务需要打造一个新的类似于以太坊的区块链机制,但拥有更强的性能、更大的容量和更好的兼容性。在这个机制上运行的商业应用不会宕机,不需要复杂的类似数据库、系统等控件。这将极大得减少商业应用的开支(约节省90%)和人力维护成本。[2021/5/8 21:38:08]
请注意,即使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
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。