科普 | 波卡的SPREE“可信虫洞”是什么?

波卡生态研究院

    
    “波卡知识图谱”是我们针对波卡从零到一的入门级文章,我们尝试从波卡最基础的部分讲起,为大家提供全方位了解波卡的内容,当然这是一项巨大的工程,也充满了挑战,然而我们希望通过这样的努力让大家能够正确认知波卡,也让不了解波卡的人方便快速掌握波卡相关知识,今天是该栏目的第27期,带大家了解SPREE"可信虫洞“。
    SPREE的起源
    2019年3月28日,Polkadot社区成员u/Tawaren发表了一篇名为“SmartProtocols Idea”的帖子,并提出了智能协议的建议。帖子核心观点是XCMP有一个复杂之处,即很难验证和证明代码是在去信任的情况下在平行链上执行的
    因此诞生了一个解决方案,即在中继链中安装SmartProtocols,这些代码块是孤立的,每个实例都有自己的存储,只能通过与每个平行链的接口进行更改。SmartProtocols便是SPREE的前身。
    什么是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逻辑片段(如智能合约)。
    
  • 这些片段有自己的存储和自己的XCM端点。
  • 跨平行链的所有实例都具有相同的逻辑。
  • 它与平行链逻辑一起执行。
  • 受保护:存储不能被平行链逻辑改变;平行链无法从他们那里伪造消息。

    后记
    从SRREE模块本身来说对整个XCMP的架构很重要,因为它们为将在目标平行链上执行的代码提供了保证。
    SPREE可信虫洞对于波卡的跨链互通性仍然具有重要的作用,波卡本身并不只是为了成为一个跨链解决方案,最终是希望通过跨链使不同的区块链中间互通互连,最终形成新一代的区块链网络
    而SPREE可以让平行链在进行交互时,无须再去确认链是否有作恶的问题,从而实现更好的互通。?