SPREE模块对XCMP的架构来说是很重要的,同时对波卡的跨链也具有同样的意义。
“波卡知识图谱”是我们针对波卡从零到一的入门级文章,我们尝试从波卡最基础的部分讲起,为大家提供全方位了解波卡的内容,当然这是一项巨大的工程,也充满了挑战,然而我们希望通过这样的努力让大家能够正确认知波卡,也让不了解波卡的人方便快速掌握波卡相关知识,今天是该栏目的第27期,带大家了解SPREE"可信虫洞“。
2019年3月28日,Polkadot社区成员u/Tawaren发表了一篇名为“SmartProtocols Idea”的帖子,并提出了智能协议的建议。帖子核心观点是XCMP有一个复杂之处,即很难验证和证明代码是在去信任的情况下在平行链上执行的。
因此诞生了一个解决方案,即在中继链中安装SmartProtocols,这些代码块是孤立的,每个实例都有自己的存储,只能通过与每个平行链的接口进行更改。SmartProtocols便是SPREE的前身。
SPREE全称是Shared Protected Runtime Execution Enclaves,也被称为“可信虫洞”。是与Substrate中Runtime模块类似的逻辑片段,但存在于Polkadot的中继链上,并且可能会由平行链选择加入。
可能你对SRREE还是很陌生,下面我们会详细的对其进行解析。
SPREE模块是通过治理机制或平行链上传到Polkadot的逻辑片段(具体来说,它们是WebAssembly代码块)。
一旦它被上传到Polkadot,所有其他平行链都可以决定选择加入该逻辑。SPREE模块将保留自己的存储,独立于平行链,但可以通过与平行链的接口调用。平行链将同步向SPREE模块发送消息。 SPREE模块就像食谱中的菜谱。例如,如果我们命令一名厨师制作蛋奶酥,并且我们对厨师的能力非常有信心,我们对将要制作的东西有一个模糊的概念,但对如何做却没有实际把握。
然而,假设厨师的书架上有《蛋奶酥制作手册》,并承诺只用这本书制作蛋奶酥。现在我们也可以查阅厨师所拥有的同一本书,而且我们对厨师制作蛋奶酥时会发生什么有了准确的了解。
在这个例子中,“做一个蛋奶酥”是XCMP中的消息,而制作手册则是SPREE模块。
具体而言,SPREE模块可用于Polkadot上的各种功能。SPREE模块的建议用例是无信任的去中心化交易,该交易可作为功能提供给任何平行链,而无需平行链开发人员的任何额外努力。
简单总结一下SPREE具有以下属性和功能:
平行链可以选择加入特殊的Runtime逻辑片段(如智能合约)。
从SRREE模块本身来说对整个XCMP的架构很重要,因为它们为将在目标平行链上执行的代码提供了保证。
SPREE可信虫洞对于波卡的跨链互通性仍然具有重要的作用,波卡本身并不只是为了成为一个跨链解决方案,最终是希望通过跨链使不同的区块链中间互通互连,最终形成新一代的区块链网络。
而SPREE可以让平行链在进行交互时,无须再去确认链是否有作恶的问题,从而实现更好的互通。
欢迎大家加入我们Polkadot生态研究院的电报:https://t.me/polkadot_eri