Gavin Wood:你可以在波卡里再造一个 “以太坊” 却不能在以太坊里做出一个波卡
上个月底, 波卡创始人 Gavin Wood 博士 与区块链投资媒体 Real Vision 副主编 Sebastian Moonjava 进行了一个多小时的深度对谈,深入简出地聊了聊关于波卡的各种话题。
由于谈话的内容比较长,信息密度也挺大,PolkaWorld 分为数篇来发布,今天发的是第四部分,主要探讨了:
-
为什么说波卡是无分叉的区块链,无分叉有什么好处?
-
波卡如何通过治理来保持网络的无限进步?
-
波卡的 “异构分片多链” 架构有何价值?
波卡怎样实现 “无分叉升级”
SEBASTIAN MOONJAVA: 我读过一些报道,说 波卡和 Kusama 试图成为无分叉的区块链 ,对吗?你能解释一下这意味着什么吗?这有什么好处呢?
GAVIN WOOD: 是的,这件事是我亲自做的,我把它当成自己的孩子一样。我从三年前开始着手做这件事,它也是我做波卡的第一件事。
本质上,波卡与几乎所有其它协议的做法都不同,包括那些非常著名的协议。波卡就是所谓的元协议,一个区块链元协议。
这意味着,人们觉得与波卡相关的东西,也就是 平行链、治理、平衡、DOT 代币 等等,这些实际上并不是底层协议的一部分,而是在网络上运行的基础的东西。这些东西实际上是一个位于协议之上的 业务逻辑 ,它完全是可编程的。这意味着,在波卡未来的任何时候,它都可以被替换为一些其他的业务逻辑,可以替换为一些别的选项。
而 实际的协议 ,被定义为波卡,并且很难改变的东西实际上非常非常少。那就是所有 底层的共识,被称为 BABE 和 GRANDPA ,是一个混合共识的两个方面。有点类似于以太坊 2.0 的共识,是所有现有共识机制的一个相当实质性的进步。在它之上的一层只说明了如何执行业务逻辑。我们明确地选择了行业中最普遍、最广泛采用的语言或者说格式 —— WebAssembly ,它得到了谷歌、Firefox、微软和很多大公司的支持。
WebAssembly 很好理解,又有很多大型科技公司的支持。它很简单,又是经过精心设计的。它的性能非常好、效率很高,有很多很棒的实现。它周围有很大的社区。基本上,我们只是说,我们不需要发明我们自己的东西。我们不会像以前那样重新发明以太坊的虚拟机 EVM,WebAssembly 将成为行业标准。
我们可以说只是把 WebAssembly 融入到区块链共识、数据库等当中。这就是我们所说的 Substrate ,波卡就是运行在 Substrate 上的。所有与波卡有关的东西都在这个以 WebAssembly 为基础的东西之上运行,也就是说我们可以把它(上层的东西)换掉。这意味着我们可以对其进行升级,去改变底层协议,而无需经历可怕的硬分叉。硬分叉的过程其实很混乱,如果人们对于是否应该做某件事产生了分歧,一些人认为应该做,一些人认为不应该做,可能牵扯到一些利益集团的东西,那么结果就是网络的升级会导致分叉,然后产生一个以太坊经典或类似的网络。
无分叉的区块链:就 “网络如何进化” 达成共识
SEBASTIAN MOONJAVA: 你能告诉观众 什么是硬分叉吗?为什么我们想要避免它? 也许你可以谈谈以太坊经典,或者举个其他例子,让我们的观众明白什么是硬分叉,为什么我们不想进行硬分叉?
GAVIN WOOD: 当然可以。说白了,区块链就是共识系统。 区块链的存在,让不同的经济参与者能够在相同的经济规则下参与一件事。 这些人可能属于许多不同的经济利益集团,而且通常是来自世界各地不同的司法管辖区,没有太多共同点的人。而这就是一项根本性的创新。这就是为什么人们对区块链如此兴奋,因为它允许这种共识独立于世界上现存的任何法律体系和金融体系发生。
那么, 如果你需要同意一些不在已形成的共识范围内的东西,会发生什么呢? 比特币可以让你形成一种共识,那就是过去 谁被支付了比特币,以及向谁支付了比特币 ,但它不会让你就 “比特币应该如何升级” 达成共识。这个问题不在比特币系统内,比特币系统只考虑账户余额,以及是否在账户上进行了特定的交易。
以太坊也一样。以太坊非常擅长就 特定的小型计算机程序 形成共识,但它无法就 “以太坊自身将如何适应未来的变化” 形成共识。这超出了系统,超出了以太坊共识的范围。对于除了波卡之外的每一条区块链来说,情况基本上也是这样。而对于波卡来说,波卡的系统,波卡本身的业务逻辑都包含在了波卡共识中。
现在,如果你没有这个功能,那么你必须在 系统之外找到另一种方法 来达成共识。你必须找到一种方法,让系统的所有参与者,所有权益持有人形成共识。目前,这可能是通过一个 仁慈的独裁者 来实现的,他会说,我们之后就做这个。这也可以通过 投票 来实现,而且每个人都必须执行该投票的结果。但正如我们在最近的历史中看到的那样,就连对投票结果达成一致都不是那么容易,更不用说在一开始就要让每个人都执行该结果了。
我们最终看到的就是比特币和以太坊在过去所经历的问题,我们看到比特币被分叉成比特币现金、Bitcoin Satoshi's Vision、比特币黄金和比特币钻石,以及所有其他各种 “比特币”,因为比特币的共识不能对于 “协议应该如何改变、调整和发展” 形成长期的共识。以太坊也是如此。早在 2016 年,以太坊就有一个政治决策:当时发生了较大的 DAO 黑客事件,事件中被黑客攻击的 DAO 的资金,是否应该被拿回并归还给原来的所有人?
这个决策基本上导致了社区的分裂。有人说,不,代码就是法律,这些资金必须继续被黑客窃取。社区里的其他人说,不,实际上,我们应该试着解决问题,以太坊还在早期,发生这种事情有可原。这两种不同的政治观点导致了我们现在拥有的两条不同的区块链,以太坊和以太坊经典。
现在,最大的问题就是这些硬分叉,因为争议总是会存在的。人们总是会把它们和政治扯上关系。 因为硬分叉不受任何自动共识机制的治理,这意味着我们受制于软形式的共识 —— 人类的互动 ,而且没有任何权威来管理它们,也没有一种它们所接受的经济体系,这就导致了种种问题。波卡通过让协议成为共识的一部分来明确地避免这种情况。
“异构分片多链” 可以不断实验和创新
SEBASTIAN MOONJAVA: Polkadot 和 Kusama,它们更像是活的,是一个活的协议,有它自己的元治理。这种方式有风险吗?我从 2013 年开始就在这个领域工作,我之前听说过一种说法,认为硬分叉其实是好的,因为这是两个社区在做他们想做的事,或者以他们喜欢的方式去做事。 使用无分叉协议会有什么潜在问题吗?
GAVIN WOOD: 这种争论并非毫无价值。尝试不同的事物当然是好的。然而,正如我们过去所见, 一个群体中的分裂是有害的 。它们最终会导致各方面的消极情绪,这通常与我们在一个运转良好的社区中看到的快乐创新背道而驰。我接受并相信进行实验,同时尝试多种具有不同潜在可能的方法,然后让它们竞争并选出最好的一种,之后按照这种方法运行,但它需要在某种秩序下运行。 仅仅是用激进的方式尝试不同的事情是不好的,因为(一旦社区分裂后)没有办法重新合体,这将会是一个大问题 。
然而,波卡其实是首先考虑到这一点的区块链之一。因为 波卡是一个 异构的分片多链 。因为它有这些不同的分片,即不同的平行链,每一个都可以是不同的东西,可以各自做各自的事情。这有点像我几年前在《经济学人》上读到的对美国的评价。有点像是,联邦系统可以在不同的州进行不同的政策试验,那些有效的政策可以被提升到联邦地位,而那些无效政策的则可以被丢弃。
波卡也是这样。其实我们能做到硬分叉带来的好的部分,即 政策或协议的实验 ,但是我们可以在平行链级别上来完成它们。我们可以并行运行这些政策,每条平行链一个。对于那些比较有效的东西,我们可以提升到波卡中,至于那些无效的,我们可以留在平行链中或直接弃用。
波卡是 Layer 0 的区块链
SEBASTIAN MOONJAVA: 为了确保我理解你的意思,你是说波卡有点像联邦政府,而每一个平行链都像州。他们有自己的元治理,他们有自己的规则。再说一遍,你说过它们是异构的。
GAVIN WOOD: 分片多链。
SEBASTIAN MOONJAVA: 可以说,这意味着与以太坊相反。对于以太坊来说,项目们都建立在以太坊之上,它们需要彼此使用相同的区块链逻辑,因为它们是统一的东西。然而平行链就没有这么统一了。它们只是从这个标准的东西(波卡)上得到安全保障。它们都有各自的区块链逻辑、各自的规则集,就像各个州有自己的规则来决定这是合法的还是那是合法的。
这是波卡及其异构分片(和以太坊)最大的区别之一,平行链有自己的区块链逻辑。而对于以太坊上的项目来说,所有事情都发生在以太坊上 —— 项目建立在以太坊上,代币也架构在以太坊上,它们仍然受制于相同类型的逻辑。 你能告诉我使用不同的逻辑,或有能力使用不同的逻辑有什么好处吗? 我只是不确定有了这些异构链,这个世界会变得有多有价值。
GAVIN WOOD: 当然可以。你可以想象一个像以太坊这样的智能合约网络,还有其他一些,它们以 大致相同的结构 来架构,有点像现代世界的民法体系。你可以找律师,而他们可以给你起草一个合同,这个合同可以做很多不同的事情。我的意思是,如果你和律师交谈,你基本上可以在合同中写任何你想写的东西, 会有一些法定的要求,这些要求是法律体系赋予你的 ,而不同的法律体系是不同的。例如,在英国的公司法中,很难在公司内部赋予不同的股东权利或限制股东权利。在美国的一些州,股东的权利要灵活得多,你基本上可以取消所有的权利,或者把所有的权利交给一个股东,或者其他什么做法。但在其他很多国家都不是这样的。
现在,你可以把以太坊的通用性,看作是你在一个特定的司法管辖区内,适用什么类型的民法。 (以太坊上的项目)将存在于这个司法管辖区内,它将不能在其他司法管辖区调用民法。无论该司法管辖区的民法是什么,它都只能全盘接受该民法的利弊。
而波卡给你的是你可以拥有其他司法管辖区。 你不需要只存在于一个特定国家的法律体系、法理学、法院体系、律师框架下, 你可以选择,可以创造自己的规则 。你可以说,我这条区块链只有金融法,而且有非常严格的监管。可能会有另一条区块链,说我们没有任何管制。
现在,我可以说, 以太坊 架构无法真正做到这一点,因为它受制于相同的底层区块链逻辑。它是一个智能合约链,它对 gas 有特定的定义,它对 ether 有特定的定义,它对 ether 和 gas 如何相互作用有特定的定义,它对智能合约有特定的定义,它对这些不同的计算机程序如何相互作用有特定的定义。只不过这些东西都不能改变,它们都被融入了以太坊,如果你想使用以太坊,你就必须全盘接受这个 “加密法律体系”。
而 在波卡中,你可以定义你想要的国家。你可以用任何你想要的方式定义你的法律。 你可以随心所欲地定义你的经济。你不需要为任何这些已经存在的东西买账。而这将使更多的实验成为可能。
例如,如果你不希望你的用户必须持有你的代币来进行交互,而是只提供一个经过验证的 Facebook 身份来进行交互,比如说一天一次或两次,你可以这样做,完全没问题。你只需要编写区块链逻辑,让它在验证进来的每一笔交易时,不用去检测一个持有一些代币的特定的账户,在从账户里扣除一些用于支付交易手续费,就像以太坊所做的一样。而现在你只需检查并确保账户跟 Facebook 关联,而这个 Facebook 账号仍旧活跃,是被 Facebook 验证的,或有一定数量的朋友,而且它还没有做过几笔交易,或满足其他一些你想到的规则就行了。
这是完全有可能的,它开辟了一种为你的应用程序设计经济学的全新方式。换句话说,你可以在波卡中实现以太坊。你可以做一条平行链来实现以太坊。事实上,真的有这样一条平行链,叫做 Moonbeam。那条链的实现方式和目的和以太坊都是相同的。但在以太坊中,你不能做出一个与波卡一样的智能合约。你付不起那么高的 gas 费,它将会是难以置信的昂贵。而这就是关键的区别。
波卡存在于技术堆栈的较低位置。以太坊,我们称其为第一层(layer 1)区块链,因为它在概念上是第一层,而你可以在其上构建第二层(layer 2)应用程序。 你可以将波卡视为第零层(layer 0)区块链,因为它位于以太坊层的下面。 像以太坊、Moonbeam 和 Acala 这样的应用等都是建立在波卡之上的。波卡作为一个基础层,它只是为平行链提供安全性,和提供平行链之间的互操作性。除此之外,它什么都不做。
编译:PolkaWorld