原文:https://github.com/paritytech/polkadot/blob/master/roadmap/parachains.md
翻译:PolkaWorld
本文是平行链底层核心技术的路线图——内容关于需要哪些协议、API和代码路径才能完全展示一个自给自足和安全的平行链。本文不会涵盖平行链工具包需要公开哪些API才能使用平行链功能?——而是仅仅介绍这些功能的实现方式,以及它们提供给验证功能的底层API。
类别
我们将使用以下类别来描述功能:
Runtime:中继链的runtime代码,用于指定共识关键状态,并更新所有全节点必须维护或执行的状态。
网络:用于节点相互交流并在网络中传输信息的协议。
节点:部分或所有链下节点必须维护或执行的状态或更新。通常与网络组件交互,并引用runtime状态。
子项目和功能:
本节包含了不同的子项目和构成这些子项目的功能。
基础架构/API
对等集管理
类别:网络
分配给平行链的验证者需要一种发现并连接到整理者的方法,以便获得新鲜的平行链块进行验证。
整理者需要发现并连接到验证者,以便提交平行链区块。
渔民需要与验证者和核对者交谈,以获取可用数据并分发报告。
有些连接是长期存在的,有些仅用于单个请求。
波卡生态概念板块今日平均涨幅为1.57%:金色财经行情显示,波卡生态概念板块今日平均涨幅为1.57%。26个币种中16个上涨,10个下跌,其中领涨币种为:INSTAR(+17.82%)、PCX(+16.81%)、KSM(+5.97%)。领跌币种为:EDG(-6.83%)、KLP(-3.45%)、XOR(-3.24%)。[2021/6/5 23:15:02]
对等集管理
类别:网络
分配给平行链的验证人需要一种发现并连接到收集人的方法,以便获得新鲜的平行链区块进行验证。
收集人需要发现并连接到验证人,以便提交平行链区块。
钓鱼人需要和验证人和收集人交流,来获取可用数据并分发报告。
有些连接是长期存在的,有些仅用于单个请求。
自定义libp2p子协议
波卡平行链涉及许多不同的网络协议。理想情况下,我们可以将每个任务作为单独的未来任务产生,并根据需要来通过通道与其他协议或节点代码进行通信。这需要在Substrate和libp2p中进行更改。
分配
拍卖
类别:Runtime
平行链的拍卖和注册。此功能已经实现,并且遵循ParachainAllocation—ResearchatW3F文档。
平行链拍卖
类别:Runtime
平行线程是即付即用的平行链。这包括一个链上机制,用于解决收集人的拍卖并确保他们生成一个区块。
波卡生态概念板块今日平均涨幅为2.61%:金色财经行情显示,波卡生态概念板块今日平均涨幅为2.61%。26个币种中16个上涨,10个下跌,其中领涨币种为:INSTAR(+63.23%)、EDG(+25.35%)、MXC(+13.95%)。领跌币种为:XOR(-43.31%)、CHI(-11.97%)、AR(-6.23%)。[2021/4/22 20:48:35]
平行线程的节点侧部分的作用,是让收集人实际投放出价,并被配置为在何种条件下投放出价。
验证人分配
类别:Runtime
将验证人分配给平行链。验证人仅在短时间内分配给平行链。可调整的参数包括分配给每个平行链的时间长度和网络知道验证人分配的提前时间。
协议
见证循环
类别:网络
一种黑箱网络组件,用于在任意给定链的验证人之间循环发送证明消息,以创建可在其上包含区块的quorum。
可用性纠删码
类别:节点/网络
对于每个潜在的、被视为平行链的区块,对区块的PoV和传出消息执行擦除编码。为中继链区块调用中继链上的区块数量,此平行链区块被考虑包含在?n?中。擦除码分为n个部分,其中任何?f+1?都可以恢复。第?i?个验证人存储第?i?个编码并将其提供给任何询问者。
PoV区块获取
类别:网络
一种黑箱网络组件,用于平行链上的验证人或钓鱼人,以获取证明中哈希所引用的PoV区块,以进行验证。当获取“当前”PoV区块时,这应该很快。当获取“旧的”PoV区块时,应该有可能并且要借助于从可用性擦除编码中恢复。
波卡生态概念板块今日平均涨幅为1.06%:金色财经行情显示,波卡生态概念板块今日平均涨幅为1.06%。26个币种中11个上涨,15个下跌,其中领涨币种为:INSTAR(+31.44%)、EDG(+25.90%)、CRU(+7.29%)。领跌币种为:OM(-7.93%)、POLY(-6.00%)、OAX(-5.50%)。[2020/12/9 14:44:02]
平行线程拍卖投票
类别:节点/网络
配置收集人在平行线程拍卖中投票的方式和时间。
收集循环
类别:节点/网络
收集人节点的主要事件循环:
新的中继链区块B
同步新的平行链头Pw.r.t.B
建立P的新子区块
提交给验证人
跨链消息传递
https://hackmd.io/ILoQltEISP697oMYe4HbrA?viewhttps://github.com/paritytech/polkadot/issues/597
平行链路线图中最大的子项目——平行链之间如何发送消息。这涉及传入消息的状态机排序、用于获取这些消息的协议以及用于持久保存消息的节点逻辑。
它的设计基于平行链之间由发送者和接收者组成的单向通道概念。在每个中继链区块,每条平行链有机会在其控制的每个通道上发送消息,它控制了发送部分的一半。它还将尝试按顺序在它控制的每个接收通道的一半上处理消息:在块高“b”发送的消息,必须先于在块高“b+1”发送的消息处理。对于在相同块高发送的不同通道上的消息,将按照一些明确定义的顺序进行处理。
波卡二层扩容协议Plasm第二次锁仓空投已结束:刚刚,波卡二层扩容协议Plasm发推称,第二次Lockdrop(锁仓空投)已结束。[2020/9/30]
这意味着,对于最近处理的消息在其接收的所有通道上的发送高度,接收段的最大高度差为1。接收段的最小已处理发送高度叫作“水印(watermark)”。在水印之前或水印高度的所有通道上发送到此段的所有消息均已处理。
终结CandidateReceipt格式
类别:Runtime/节点
CandidateReceipt?是对提交给runtime的parablock头的包装器。它包含对数据的加密承诺,这对于验证或解释parablock至关重要,包括见证数据和传出消息数据的哈希。
CandidateReceipt?格式应根据上面提到的XCMP来终结——最重要的是,它应更改为保留以加密方式提交到每个开放通道状态的?bitfield?和?message_root?域。
终结PovBlock格式
类别:Runtime/节点
PovBlock?或?Proof-of-Validity?区块包含验证parablock所需的所有数据。它将需要包含传入的消息队列以及潜在的传出消息队列。
CST更新程序
类别:Runtime
基于中继链区块中提供的?CandidateReceipt?的通道状态表的存储定义和更新逻辑。
本体将为以太坊和波卡的DeFi项目提供 DID 解决方案:据官方推特消息,本体计划为以太坊和波卡的DeFi项目提供DID解决方案,包含本体信任分、可复用KYC和电子签名等功能。[2020/7/27]
CST准入证明的生成和检查
类别:节点
中继链的全节点在CST中生成项目证明的工具,轻客户端或被裁剪的节点检查这些证明的工具。
MQC存储和分发协议
类别:节点
每个通道的状态都由消息队列链描述,该队列是一个哈希链,其中的链接由“(M,b,H)”定义:最近发送的消息、先前发送的消息所在的块高度、以及先前链接的哈希值。
sending?平行链的全节点有责任维护MQC的所有链接,直到并包括?b?小于?receiving?平行链的水印的链接。
该para的完整节点将知道其通道的所有MQC头,因为它们是通过执行该块产生的。这将需要与Cumulus团队在API上进行协作。
我们将需要一个网络,平行链的收集人可以在该网络中发现并获取从所有通道传入的MQC的相关部分。
通道注册者和经济学
类别:Runtime
平行链通过存放一笔存款来打开或关闭通道的runtime逻辑。平行线程可以打开的通道数量将受到限制。
paras用于runtime逻辑通过放下存款来打开和关闭通道。parathread可以打开的通道数量将受到限制。待关闭的通道应保持打开状态,直到接收者的水印达到关闭所要求的区块高度为止。
钓鱼/Slashing
有效性/可用性报告处理程序
类别:Runtime
在Polkadot中,恶意的平行链组可以强制包含无效或不可用的平行链区块。钓鱼人的工作是监测这些区块并将其报告给runtime。此项与报告处理程序有关。
关于可用性/有效性的W3F研究文章提供了争议解决过程的整体视角:可用性和有效性-W3F研究。
未解决且需要采取的主要行为之一,是在争端解决流程断定出现错误时发生的“回滚”。当我们将平行链区块标记为无效或不可用时,我们需要将所有平行链回滚到此状态之前的某个点。我们还需要回滚中继链的状态,因为可能已经有一条消息从平行链发送到中继链,现在需要回滚。最简单的方法是通过延迟向上消息来回避该问题,但这将极大地影响平行链参与插槽拍卖、理事会投票等的用户体验。假设我们无法回避这一点,我们将必须找到一种方法来回滚中继链的指定状态。
双重投票Slash处理程序
类别:Runtime
在见证过程中,验证人只能为给定的中继链区块提交一个“候选”消息。如果在平行链区块上发布“候选”消息,则不能在该平行链区块上发布“有效”或“无效”投票,因为“候选”消息是隐性有效性投票。否则,在给定的平行链区块上同时进行“有效”和“无效”投票是非法的。
Runtime处理程序需要两个相互冲突的投票作为参数,并需要对违反者进行slash。
有效性/可用性钓鱼
类别:节点
验证者也可以根据VRF可用性和有效性-W3F研究自行选择,并采用此代码路径。验证人和钓鱼人将选择平行链区块进行重新验证。在这些步骤中:
尝试恢复PoV区块,并退回到纠删码。如果不可用,则发布报告。
尝试验证PoV区块。如果无效,则发布报告。
双重投票钓鱼
类别:节点
在见证过程中观察到双重投票的节点应向链提交报告以触发Slash。
阶段
该路线图分为多个阶段,相对于上一个阶段来说,每个阶段代表另一组的交付成果或黑箱组件上的迭代。
阶段0:MVP
最初的阶段——这是无slashing或跨链消息传递的平行链。它根本上就是注册和验证正常运行的PoC。
基础架构/API:
自定义libp2p子协议
对等集管理
任务:
拍卖
平行线程拍卖
验证人分配
协议:
证明流通
可用性纠删码
PoV区块获取
收集循环
跨链消息传递:
终结?CandidateReceipt?格式
阶段1:钓鱼和Slashing
此阶段标志着平行链安全性的进步。一旦完成,平行链就是成熟的加密经济学上安全的汇总基元。此阶段还包括有关XCMP的实现工作,但还没有完全启用。
协议
可用性纠删码
PoV区块获取
钓鱼/Slashing
有效性/可用性报告处理程序
双重投票Slash处理程序
有效性/可用性钓鱼
双重投票钓鱼
跨链消息传递:
终结?PoVBlock?格式。
阶段2:消息传递
此阶段标志着跨链消息传递的交付。
包括XCMP部分剩下的几乎所有内容。
抓住UNI空投盛宴的余温,一个名为UNII的「分叉币」以相同的空投方式面世。官网上,与UNI仅一「I」之差的UNII自称是Uniswap的「治理联盟」,说要号召散户集结,在治理权上抗衡Unisw.
美国货币审计署(OCC)在最新指南中表示,联邦银行可以为稳定货币发行者持有储备资金。 香港Web3.0协会与福建省大数据集团签订战略合作协议:7月2日消息,由福建省委、省政府主办,香港贸发局等协.
9月13日,由福建省发展和改革委员会、福建省数字福建建设领导小组办公室主办的数字福建区块链重点项目集中开工暨BSN福建省区块链主干网建设启动仪式在福州举办.
作者:Hasu 翻译:李翰博 在过去的几天里,CryptoTwitter上关于Maker的抵押品状况的讨论十分热烈.
最近在微博上看到一个比较有意思的说法,现阶段的DeFi有点像网游不断在开新服,以此来吸引大家反复玩下去.
撰文:SamSun、AlexWade、ScottBigelow、TinaZhen、少平2020年9月15日,一个行动小组彻夜合作,从一个脆弱的智能合约中救出960万美元。下文讲述了他们的故事.