Gavin Wood:波卡应该如何从以链为中心,转变到以应用为中心?

推荐阅读
2023年7月4日 09:37
收藏
一切都是关于韧性。

演讲:Gavin Wood

编译:PolkaWorld

 

在上一篇文章中,我们总结了 Gavin 演讲的第一部分,即波卡怎样从以链为中心转变到以「核」为中心。在本文中,我们将继续总结该演讲剩余的部分 —— 将波卡从以链为中心转变到以应用为中心,以及如何打造具有韧性的平台。

 

以链为中心 → 以应用为中心

 

波卡 1.0 是以链为中心的范式:让孤立的链可以互相发送消息,这种方式本质上和单链加跨链桥很相似,只不过平行链都连接到中继链而已。

这导致了碎片化的用户体验。用户可能在一条链上使用某应用,但他在另一条链上也想使用这个应用,也就是用多链的方式来使用应用。

但如果我们拥有以链为中心的范式,那么也会拥有以链为中心的用户体验。而如果某个应用不是以链为中心,那么所有事情都会变得很难。

在现实中,如果我们想充分利用波卡的潜力,那么应用就需要跨链部署,而且需要是无缝跨链,至少对于用户来说要如此,更理想的情况是对于开发者来说也是如此。

这是一个「波卡是什么样子」的艺术化示意图:

我们为了快速上线波卡,而选择了把波卡的很多应用能力放到中继链上。但这其实是一种权衡取舍。

好处是,这我们可以在技术基础完全完成前,在较短的时间内交付很多功能,例如很棒的质押、治理、代币、身份系统。

但它也有代价。如果我们把很多东西都绑在一条链上,就会出现一些问题。比如中继链不能一直把它的资源用在自己的本职工作 —— 保障网络安全和确保消息传递上。并且它诱导大家形成一种以链为中心的思维模式。

在过去,我们可以只关注一条链,在上线时把波卡所有的功能都放在中继链上,我们最早的目标就是这样。但不巧的是,相关的工具还没有跟上这个应用和用户都在跨链的时代。

现在,系统级功能正在转向跨链部署的范式。系统链更加普遍,中继链处理的东西越来越少。应用需要能够跨越这些链,并且不能因此让用户体验变得困难。

这是我半小时前刚画的示意图,这是我认为理解 「波卡是什么」 的更好的观察角度。

波卡其实并不是中继链在中间,平行链围绕在周边,至少对于来到波卡生态的人来说不应该是这样。事实上,波卡应该是一个集成系统,一个运行了很多应用的计算机。

没错,不同链的业务逻辑组件(即平行链)之间是有边界的,但这对用户来说可能没有我们以为的那么重要。更重要的是,用户能做到他们想做的事情,并且是轻松地、清楚地、快速地做到。

图上的圆点是应用,分割圆点的虚线是 「paras」,我不想说成平行链,因为那会引诱我们掉入 「每条平行链对应一个核」的思维陷阱。这是波卡到目前为止的模式,但并不是唯一的选择。

这些圆点在正常情况下应该可以互相交流,并且几乎与在虚线范围内的空间交流一样轻松。

 

XCM

 

要怎样做到这一点呢?这就说到 XCM 了。

XCM 是一种语言,而真正传递消息的传输层叫 XCMP,我承认这两个名字有点容易混淆。

XCM 是做什么的呢?它的作用是抽象出链中常见的功能,它创造了一种描述性的语言,来描述你想要做什么或者想要什么事情发生。

只要链诚实地翻译这个消息,那么一切都好。但不幸的是,无法保证链会诚实地翻译你的 XCM 消息。在去信任的环境中,XCM 并不理想。

打个比方。在贸易中,我们会说 XCMP 这种运输手段给了我们一条安全贸易通道,我们不会在中途被打劫。发出的东西能确保被收到。然而,它没有给我们一个在不同贸易主体间创建有约束力条款的框架。

举一个更直观的例子 —— 欧盟。它是什么呢?本质上它是一个联盟,你可以加入它,它是一个条约框架,让不同的主权国家遵守特定的条约。但是,它并不完美,因为虽然有共同的司法部门可以翻译每个国家的法律,保障它遵守了法律,但它无法阻止某个国家改变其法律,让其不与欧盟的要求一致。

在波卡中,我们也面临类似的问题。XCM 是一种表达意图的语言,WebAssembly 是表达平行链在波卡中要遵守的法律,可以把它想象成欧洲法院(ECJ),保证平行链遵守了自己提出的逻辑,但这并不意味着这个逻辑无法被平行链合法地更改,从而去拒不遵守 XCM 语言。

XCM 是一种表达意图的语言,比如「我准备去转账资产」、「我准备去投票」。在互相信任的系统链之间,这不成问题。但如果它们是在不同的治理流程、立法程序之间,就会有问题了。在波卡生态中我们可以做得更好。

 

Accord(协定)

 

这里我提出了一个新的术语叫 Accord(协定)。协定是跨多条链的自愿性条约。有点像说「我自愿遵守这一个业务逻辑,并且我做的任何事情都不会改变这一点」。链自己不能破坏条约的逻辑。

波卡保障该逻辑的忠实执行。协定会针对特定的函数。任何加入该协定的链都要遵守规则,这个规则会针对这个特定的函数。

为了保证较低的进入门槛,提出协定是无需许可的。因为它是自愿加入的,所以在通过和注册之前都不会影响任何人。

这个示意图不是最精确的,但大概意思是这样。外圈是波卡,里面有一些小圆点,我们把这个图水平放置。那么 Accord 就是一个统治其本地的主权性的单独的机制。

Accord 并不是在所有系统中都能存在的。据我所知,波卡是唯一能够支持它的存在的系统,因为波卡是唯一一个拥有同强度安全层的系统,而且还能为每个分片提供特定的状态转换函数。这些特点让波卡可以做到在其他架构(如跨链桥)中不可能达到的合作模式。

对波卡比较熟悉的人可能听过「SPREE」,SPREE 就是可以实现 Accord 的技术。

 

一些 Accord 的使用场景

 


我们来看一些 Accord 的可能案例。

其中一个就是资产枢纽。

目前,如果两条链想要有资产的交互,必须通过第三条链,即资产枢纽链。如果其中一条链是本地资产的链,会稍有不同。但理论上,如果两条不相关的链想要交易第三方资产,你必须额外去打通一条路径。

有了 Accord 就不需要这样做了。你可以把它看作一个大使馆,它存在于通用流程空间中,和平行链在同一时间在同一核上调度,但又不是平行链业务逻辑的一部分,而是另外存在的。这有点像大使馆有自己原本国家的法律,但它们的地理位置却在当地的国家。同样地,Accord 就像外部业务逻辑,但是又是大家认可的,而且存在于本地。

另一个案例是多播 XCM 路由器。它可以发送一条消息,但是跨越到多条链,还可以是以某种顺序进行。比如在这里做一个操作,在那里做另一个操作,但是永远是在我的允许下的。这也是目前做不到的。

还有一个案例是去中心化交易所,它可以在多条不同的链上设置前哨站,好让兑换直接在本地发生,而不需要开启双向通道。

这只是我暂时能想到的几个例子,相信在之后这个技术的潜力会被进一步发挥出来。

 

Project CAPI
 

 

简单讲讲用户界面 —— Project CAPI。它的作用是让跨越多条链的波卡应用可以拥有顺滑的、体验良好的用户界面,即使是在使用轻客户端的情况下也是如此。

隐士中继(Hermit Relay)

也就是将中继链中所有用户级功能,都转移到系统链中。例如:

余额
质押
治理与身份
核的租赁

最终让波卡的功能跨越多个平行链,释放中继链的空间。

 

打造有韧性的应用平台
 

最后一个部分,我想重申一下我们在做的事情,以及为什么要做。一切都是关于韧性。

世界总在变化,但如果大家有明确的意向,那么让这些意向能够被尊重是很重要的。我们现在所用的系统不够有韧性,它们是基于很老派的思想而建立的。

当你的系统没有加密学、博弈论时,就会发生一些糟糕的情况。例如在这条新闻中提到的大型网络攻击,让 600 万人的信息遭到泄露,也就是世界上千分之一的人啊。而且这些事情经常发生。

那么怎样打造一个不受到这些威胁的系统呢。首先当然是建造一个去中心化的、基于密码学的、经得起博弈论考验的系统了。但我们具体要做什么呢?

虽然我们天天都在宣扬「去中心化」,但是如果所有东西都要通过同一个 RPC 供应商,就算不上真正的去中心化。

去中心化需要由多种因素共同提供:

轻客户端的使用:Smoldot 和 CAPI 将允许高性能的基于轻客户端的 UI
ZK 原语:构建一个功能丰富的、高性能的 ZK 原语库。第一个库已经快完成了,将为链上集体(包括 Fellowship)提供隐私保护。
Sassafras 共识:新的无分出块共识算法。提高了安全性和随机性,具有高性能的交易路由。提高了平行链的性能和用户体验,加密的交易防止了 Front-Running,可能带来潜在的 MEV 收益。
混合网络 / 洋葱路由:避免泄露交易的 IP 信息。是用户、链和 OCW 之间的通用消息系统。
人的去中心化:引入很多的且足够多元的人参与到系统中。通过治理、国库支出、工资、补助等方式激励大家的参与,并且吸取和维护集体知识。

 

牢记初心

 

最后,我想要重申一下我们的初心。波卡并不是为了创建某个特定的应用而存在,而是去提供一个平台,在该环境中提供一个部署多种应用的方式,并且让应用可以互相利用对方的功能,来提高广大用户的福祉。并且我们要确保这个愿景能够尽快实现,这就是波卡的使命所在。

如果波卡无法对世界上的变化保持一定的韧性,那么构建波卡将毫无意义。这些变化可以是达到同样目的的其他方式,或者已有的来自厌恶去信任世界的外部组织的威胁。

链捕手ChainCatcher提醒,请广大读者理性看待区块链,切实提高风险意识,警惕各类虚拟代币发行与炒作, 站内所有内容仅系市场信息或相关方观点,不构成任何形式投资建议。如发现站内内容含敏感信息,可点击 “举报”,我们会及时处理。
ChainCatcher 与创新者共建Web3世界