Parity Shawn:用「贝佐斯」的决策思想来思考 Polkadot 背后的所有决策和权衡!
加入 PolkaWorld 社区,共建 Web 3.0!
本文为 Parity 开发者负责人 Shawn 在 ETHDenver 2023 的一次主题演讲。他通过亚马逊的杰夫·贝佐斯所提出的决策思想,完整的介绍了 Polkadot 中的所有决策,以及这个决策背后所做的权衡和思考。由于内容较长,PolkaWorld 将分为两篇来进行介绍,本文为上篇,主要分享了 Polkadot 的哲学、目标和部分的类型 1 的决策。
决策制定
首先我想谈谈决策制定的过程。我一直在用杰夫·贝佐斯的观点来帮助我思考并提高效率。亚马逊的杰夫·贝佐斯在一封给亚马逊股东的信中,描述了他想在亚马逊内部创建的一种创新机器,以及他如何使用两种不同类别的决策来帮助加速创新的过程。他的原话是,有些决策具有重大影响,并且不可逆或者几乎不可逆,这些决策必须仔细慎重,经过深思熟虑和咨询后才能做出,这些是类型 1 的决策。相反的,大多数决策都不是类型 1 那样的,而是类型 2 的决策,它们是可以改变和逆转的。如果你做出了次优的类型 2 的决策,你不必永远坚持那个决策,你可以重新改变决策,并且类型 2 的决策可以由少数人迅速做出。
在区块链的背景下,类型 1 的决策就是那种在未来不容易改变的决策,像协议设计的原始部分,如果你想改变这种决策,就需要对协议本身改变。而类型 2 的决策非常容易,它们可以在未来很容易地改变,也可以进行试验,并且是可以推迟决策,再进行添加的,对这种决策的改变可以视为是对协议本身的一种进化和优化。
在区块链的背景下,任何协议都会告诉你,为什么他们的区块链是最好的,为什么他们做出的决策是最好的决策。我们可以使用这样一种思考决策制定过程的大概框架来理解,比如他们做出了什么样的决策,他们向你推销的是类型 1 还是类型 2 的决策,能否在未来轻易地添加、更改或修改决策,他们做出了什么样的权衡。作为一个区块链社区,我们在一些决策上还需要改进的地方是什么?我希望大家都能像这样去谈论 Polkadot 和其他协议真正做出的决策。
Polkadot 哲学
在分享 Polkadot 的决策前,我想先聊聊 Polkadot 的哲学是什么?从哲学的角度出发,第一个是 “ Less trust, More truth 少信任,多事实 ”,这也是 Web3 Summit 的口号。Polkadot 协议最初是由 Web3 基金会提出的,我们在区块链领域真正做的是将依赖信任(trust)的系统用区块链和其他 Web3 技术转化为更多的事实(truth)。因为我们发现依赖信任的系统容易被利用,被剥削,我们作为个体,我们的信任是被利用的。因此,如果我们能创建更多依赖事实的系统,让你作为个体能够验证事情是正确的,事情是正在发生的,那这对每个人来说是更好的。
Polkadot 坚持的第二个哲学是,反对区块链的极度中心化。这个领域一个令人难过的事情是,所有区块链都和代币价格绑定在一起,你可能是一个代币持有者,如果那个代币上涨,你就赚钱,如果下跌,你就亏钱,这就会让人们变得极度中心化,如果我 10 年前投资了这个东西,我就不会关心过去的 10 年这个行业发生了什么变化,我只希望这个东西成功,我只希望这个代币上涨,这真的会让我们对真正的创新和进步视而不见。这个领域的目标不是赚最多的钱,而是真正创新,创造需要更少信任,有更多事实的系统。为了做到这一点,我们需要接受一个事实,那就是未来会有很多不同的区块链,这个领域将会不断发展,我们应该反对那些试图推动区块链极度中心化理念的人。Polkadot 非常反对这种观念。我们要建立一个多链的未来!今天最好的区块链将不会是明天最好的区块链。
所以 Polkadot 的核心哲学是非常强调进化、进步、可升级性。我们不是试图建立一个今天就很好的单一产品,而是一套随着社会变化而不断演变的协议和理念。
Polkadot 目标:不可阻挡
那 Polkadot 试图达成什么目标呢?我想这是区块链领域最常见的问题,即区块链的不可能三角问题。我们试图创造的系统具有最大化的去中心化、安全性和可扩展性,但我们知道这三个东西很难混在一起。如果你让事情更去中心化,通常可能会更难扩展,因为这个系统会变得更复杂。如果你试图提高安全性,可能也很难扩展,因为你需要使事情更加强大。如果你通过放弃安全性和去中心化等东西来增加可扩展性,那是你实际上只是建立了一个花哨的数据库。不可能三角的问题非常难解决,我们看到在区块链领域中,那些有一定影响力的区块链都在试图提供自己的方法来解决这个问题。
那么 Polkadot 的使命是为 Web3 应用和服务提供安全、可扩展和不可阻挡的基础设施。请注意,在这里我把三难问题中的去中心化变成了不可阻挡。许多人认为去中心化是目标,但我会争辩说去中心化不是目标,去中心化是一种工具,真正的目标是不可阻挡。我们通过创建去中心化的系统来达到的目标是使系统没有单一的失败点,没有单一的攻击点,没有人可以关闭和停止一个系统。去中心化不是本质上的目标,全世界的每个人都在家里运行一个完整的区块链节点并不是我们的目标。我们是想要达到一定程度的去中心化,从而实现不可阻挡性。这就是为什么 Polkadot 的使命不是去中心化,而是不可阻挡。我们在试图达到一个点,即 Polkadot 系统不能被个别行为者关闭。
Polkadot 做出的决策
为了使 Polkadot 成为不可阻挡的系统,我们通过解决三个问题来实现这个使命,即计算的可扩展性、共享安全性和互操作性。在这里,我们开始做出一系列的决策,思考如何建立和设计一个协议来满足这些要求。再次强调,这是我们做出的决策和权衡,并不是所有的每一个决定在其他协议中都是完美的,但是这些决策对 Polkadot 来说是有意义的。
我将要讨论的决策主要是类型 1 的决策。这些决策是协议的核心部分,是必须提前做出的那种决策,不是你可以先跳过然后在后面再决定的那种。在我看来,现在的许多协议试图将最难的问题推迟到事情发生之后再去解决,而不是先做出一些再去发行他们的代币。我们认为这些决策需要提前做出,否则就不是同一种协议,否则你没有在建立同一种东西,否则你建立的东西实际上在后期不能改变,不能升级,来解决你想要解决的问题。
Wasm
我们在 Polkadot 中做的第一个决策是 Wasm。这是一个非常重要的话题,如果你在 Polkadot 领域,你会听到很多关于 Wasm 的内容,但我仍然认为 Wasm 的重要性并没有得到足够的强调。Wasm 是 Polkadot 的关键支柱,它是一个元协议,它确定了我们生态系统中的链的所有执行状态转换函数的运行方式。它标准化了链的执行方式,并允许我们使用任何可以编译到 Wasm 的编程语言在我们的生态系统中使用。对 Polkadot 的信任就是对 Wasm 的信任,而 Wasm 是一个非常令人兴奋的技术,我认为我们在这个领域才刚刚开始。
分片
Polkadot 的第一种扩展方式就是并行化。但在区块链中实现并行化实际上非常复杂。想象一下,有两个余额转账正在进行,他们都转给我。我从一个人那里得到了 10 个 DOT,从另一个人那里得到了 5 个 DOT。如果我试图并行这些交易,会存在竞态条件,当你写入数据库时,你有两个不同的写入同时发生,我的余额将不会被正确地更新。这在现实世界的数据库中是一个常见的问题。你可以通过分片进行扩展和并行交易,通过将数据与其他数据分开,这意味着任何数据分片可以使触及该数据分片的交易并行化,因为我们知道数据被分开并不会在同一时间被触及。所以 Polkadot 的第一种扩展解决方案实际上是通过分片实现并行化。
现在有其他的区块链系统试图做一些像乐观并行化之类的事情,但是区块链中的乐观交易是不起作用的,我们正在构建的系统是假设每一个用户都是攻击者的系统。所以,唯一可以真正实现并行化的,并且非常强大的扩展解决方案,就是通过分片。你会看到,还有其他的区块链也在研究分片,甚至这也是以太坊 2.0 的长期路线图的一部分。
应用链
接下来的决策是应用链。这是另一个关键决策。我们将这些不同的分片称之为平行链。你可以将它们看作是单独的区块链,它们所有的执行都可以并行进行。但我们也做出了一个关键的决定,我们假设这些不同的分片可以有自己的定制逻辑,可以运行一个独特的服务或应用程序供开发者使用。我们称之为应用链,这就是"异构"一词的来源。所以 Polkadot 是一个异构分片网络,我们允许这些不同的分片可以是不同的,这就是应用链的思想。我们相信,区块链领域有很多不同的解决方案或问题需要解决。我们支持不同的解决方案,这可以让最终用户使用该产品时能够获得更高的性能。你当然可以构建一个通用的虚拟机,比如 EVM 或者其他智能合约平台,在这个虚拟机上构建数百种不同的应用,但事实上,可能没有一个应用是为这个虚拟机环境优化的。相反,如果你可以为一个应用程序构建整个堆栈,你的整个分片,你实际上可以创建一些优化的原语和安全层以及一些其他独特的有趣的东西,这些东西都是为你的特定应用程序优化的。
互操作
现在我们谈谈互操作性。我们有这么多不同的并行工作的应用链,但是这些应用程序仅仅存在于分离的状态并不是很有用。在我们的行业中,有很多的中心化交易所来充当这些不同的独立区块链之间的互操作性层。但是如果我们试图构建一个多链协议,我们必然需要在决策的过程中,考虑到互操作性,考虑这些不同的应用程序本质上如何互相交流,一起工作,以创造完全成熟的端到端解决方案。我们可能有一个分片处理身份问题,另一个分片处理治理问题,这两个分片需要能够相互交互,这样你的治理系统可以查看身份,确保防止恶意用户,或者进行其他的声誉检查,确保这些端到端的系统能够良好地协同工作。
我们的互操作性堆栈由两部分组成,类型 1 的决策是 XCMP,这是 Polkadot 不同分片之间的一种通用的消息传递协议,它允许一般的消息,不透明的 blobs 在不同的平行链分片之间发送,并允许他们互相通信。这些不透明的一般消息并不是非常有用,我们还需要一种每个人都能理解和使用的消息格式,这就是我们做的类型 2 的决策 —— XCM,这是一种特定消息格式,是可以改变,可以进化,可以被抛弃并被其他东西取代的,但是在这个通用层面上有一个共享的消息格式是非常有用的。重要的是,我们从协议的开始就设计了这些不同链之间进行通信的能力,他们通信的方式和内容我们并不在意,但是通信的存在是 Polkadot 的一个非常关键和重要的想法。
共享安全
最后是共享安全。在这个领域经常被忽视的问题是经济规模。我们经常谈论区块链的安全性,一些区块链曾经受到攻击,比如以太坊经典,比特币现金,这些是具有较低相对安全性的链,因为它们是小链,没有大型的矿池。同样的,还有其他的权益证明链,这些具有非常小的经济规模的链,攻击它们非常容易或者便宜。如果我们相信会有数百,数千,甚至是数以万计的区块链出现,我们必须考虑这些区块链如何保护自己,如何都有足够的经济支持,如何确保所有的区块链都是安全的。如果我们将它们进行互操作,我们需要确保它们都是同等安全的,否则攻击整个系统的方式就是通过最弱的入口点。
Polkadot 通过分片实现了共享安全,在 2017 年的初始白皮书中就已经把这个经济规模的问题考虑在内,这在 Polkadot 中是独一无二的,当你作为一个平行链加入时,你得到的是 Polkadot 本身提供的同样的安全性。无论 Polkadot 围绕自身建立了多大的经济体,它都可以与整个 Polkadot 生态系统中的所有不同的平行链共享。
通过共享安全性,还可以实现另一种无需信任的交互。无需信任的交互就是所有的平行链是在中继链上最终性的。这不仅允许平行链被 Polkadot 保护,并拥有与 Polkadot 相同的经济安全性,而且还允许链之间的任何交互是与中继链一起完成。这意味着,如果你有两个不同的链在交互,他们正在转移代币和做其他事情,那么这些操作正在由 Polkadot 自身完成并最终确定。你不必担心其中一个链会回滚,因为为了让那个链回滚,你的链也必须回滚。在非共享安全性的互操作的桥中,你会担心一个单独的区块链有它自己的共识和最终性,它可能会回滚,这可能会让你的链与其他链进行交互时出现问题。Polkadot 的工作方式和将所有链在一个共享安全的保护伞下保护起来,就不会存在这样的问题。
因此,共享安全性实际上是很多部分组成的,比如 WASM、平行链协议,这是波卡内部的高级系统,使所有的平行链工作,展示它们如何交互,如何证明自己的状态,以及中继链本身。你可能会听到很多人谈论他们是如何试图解决共享安全性问题的,但我相信,如果果他们没有像 Polkadot 这样的所有部分,虽然它不必是完全一样的,但如果他们没有类似像中继链这样一种内置在系统中的协议,能够满足和验证所有这些功能,以及一种元协议使得事物更容易相互操作,那么他们的共享安全就做的不对。
再次强调,这些都是类型 1 的决策,这些是需要在协议开始时就考虑的事情,而不是在事实发生后再引导。
下一部分我们将分享 Polkadot 中其他的类型 1 的决策。关注 PolkaWorld 公众号,了解更多来自 Shawn 的精彩内容。
直播预告:
周三(6 月 28 日)今晚 19:00 ,波卡世界直播间邀请到了来自 Moonbeam、OpenSquare、Bifrost、Paka、PolkaWorld 的波卡生态建设者,共同解读 OpenGov 治理体系,探讨普通用户如何申请国库等问题。点击下方按钮立即预约直播。
PolkaWorld Telegram 群:
t.me/polkaworld
PolkaWorld Youtube 频道:
https://www.youtube.com/c/PolkaWorld
PolkaWorld Twitter:
@polkaworld_org
更多内容
关注 PolkaWorld
发现 Web 3.0 时代新机遇
点个 “在看” 再走吧!