区块链演进:快速指南以及为什么开源是其核心

从比特币到下一代区块链。
459 位读者喜欢这个。
Quilt blocks

The Met。由 Opensource.com 修改。CC BY-SA 4.0

在开发开源项目的新版本时,通常会用 "-ng" 后缀表示 "next generation"(下一代)。幸运的是,区块链在其快速演进过程中,到目前为止避免了这个命名陷阱。但在这种进化式的开源生态系统中,变化是丰富的,好的想法被采用、重新组合并在许多不同的项目中以典型的开源方式演进。

在本文中,我将探讨不同世代的区块链,以及为解决生态系统遇到的问题而出现的一些想法。当然,任何对生态系统进行分类的尝试都会有局限性——也会有反对者——但它应该为理解区块链项目的丛林提供一个粗略的指南。

开端:比特币

第一代区块链源于 比特币区块链,这个分类账支撑着去中心化的点对点加密货币,它已经从 Slashdot 的杂项变成了主流话题。

这个区块链是一个分布式账本,它跟踪所有用户的交易,以防止他们重复花费他们的代币(这项任务历史上委托给第三方:银行)。为了防止攻击者攻击系统,账本被复制到参与比特币网络的每台计算机上,并且一次只能由网络中的一台计算机更新。为了决定哪台计算机有权更新账本,系统每 10 分钟组织一次计算机之间的竞赛,这需要它们付出(大量的)能源才能参与。获胜者赢得将过去 10 分钟的交易提交到账本(区块链中的“区块”)的权利,并获得一些比特币作为对其努力的奖励。这种设置被称为工作量证明共识机制。

使用区块链的目标是提高参与者对网络的信任程度。

这才是有趣的地方。比特币于 2009 年 1 月作为 开源项目发布。2010 年,意识到其中的一些元素可以进行调整,聚集在比特币周围的社区,通常在 bitcointalk 论坛上,开始对它们进行试验。

首先,看到比特币区块链是一种分布式数据库的形式,Namecoin 项目出现了,建议在其交易数据库中存储任意数据。如果区块链可以记录资金的转移,它也可以记录其他资产的转移,例如域名。这正是 Namecoin 的主要用例,它在 2011 年 4 月上线,也就是比特币推出两年后。

Namecoin 调整了区块链的内容,而 莱特币调整了两个技术方面:将两个区块之间的时间从 10 分钟减少到 2.5 分钟,并改变了比赛的运行方式(将 SHA-256 安全哈希算法替换为 scrypt)。之所以这成为可能,是因为比特币作为开源软件发布,而莱特币在所有其他方面基本上与比特币相同。莱特币是第一个修改共识机制的分叉,为更多分叉铺平了道路。

在此过程中,比特币代码库的许多变体相继出现。有些最初是作为比特币的提议扩展而开始的,例如 Zerocash 协议,该协议旨在提供交易匿名性和可替代性,但最终被拆分为自己的货币 Zcash

虽然 Zcash 带来了自己的创新,使用了被称为零知识证明的最新加密技术,但它仍然与绝大多数比特币代码库保持兼容,这意味着它也可以从上游比特币的创新中受益。

另一个项目 CryptoNote,没有使用相同的代码库,而是从同一个社区中萌芽,建立在(并反对)比特币和更早的想法之上。它于 2012 年 12 月发布,催生了几种加密货币,其中 Monero(2014 年)是最著名的。Monero 采用了一种与 Zcash 不同的方法,但旨在解决相同的问题:隐私和可替代性。

正如开源世界中经常出现的情况一样,完成这项工作的方法不止一种。

下一代:"Blockchain-ng"

然而,到目前为止,所有这些变体实际上只是关于改进加密货币或扩展它们以支持另一种类型的交易。这使我们进入了第二代区块链。

一旦社区开始修改区块链的用途并调整技术方面,很快就有人进一步扩展和重新思考它们。比特币的长期关注者 Vitalik Buterin 在 2013 年底提出,区块链的交易可以代表状态机的状态变化,将区块链设想为能够运行应用程序(“智能合约”)的分布式计算机。该项目 以太坊 于 2015 年 7 月上线。它在运行分布式应用程序方面取得了相当大的成功,并且一些更知名的分布式应用程序(CryptoKitties)的流行甚至导致以太坊区块链减速。

这展示了当前区块链的一大局限性:速度和容量。(速度通常以每秒交易数或 TPS 来衡量。)已经提出了几种方法来解决这个问题,从分片到侧链和所谓的“第二层”解决方案。这里对更多创新的需求非常强烈。

随着“智能合约”这个词的出现,以及经过验证(如果仍然很慢)的技术来运行它们,另一个想法得以实现:许可链。到目前为止,我们描述的所有区块链网络都具有两个未言明的特征:它们是公开的(任何人都可以看到它们的功能),并且它们是无需许可的(任何人都可以加入它们)。这两个方面对于运行分布式、非第三方基础的货币都是理想的且必要的。

随着区块链越来越被视为与加密货币分离,在一些私有的、许可的环境中考虑它们开始变得有意义。一个联盟类型的参与者群体,他们之间存在业务关系,但不一定完全信任彼此,可以从这些类型的区块链中受益——例如,物流链上的参与者,定期进行双边结算或使用清算所的金融或保险机构,同样适用于医疗机构。

一旦您将设置从“任何人都可以加入”更改为“仅限邀请”,就可以进一步更改和调整区块链构建块,从而为某些人带来有趣的结果。

首先,旨在保护网络免受恶意和垃圾邮件参与者侵害的工作量证明可以被更简单、更少资源消耗的东西取代,例如基于 Raft 的共识协议。在高级别的安全性或更快的速度之间出现了一种权衡,这体现在更简单的共识算法的选择上。这对许多群体来说是非常可取的,因为他们可以用基于其他方式(例如法律关系)的保证来换取一些基于密码学的保证,并避免工作量证明经常导致的能源消耗的军备竞赛。这是另一个正在进行创新的领域,权益证明 是公共网络首选共识机制的有力竞争者。它也可能找到进入许可网络的方式。

一些项目可以轻松创建许可链,包括 Quorum(以太坊的一个分支)和 HyperledgerFabricSawtooth,这是两个基于新代码的开源项目。

许可链可以避免公共的、非许可链无法避免的某些复杂性,但它们仍然有自己的一系列问题。对参与者的适当管理就是一个:谁可以加入?他们如何识别?如何将他们从网络中删除?网络上的一个实体是否管理一个中央公钥基础设施(PKI)?

区块链的开放性被视为一种治理形式。

区块链的开放性

到目前为止,在所有情况下,有一件事是明确的:使用区块链的目标是提高参与者对网络及其生成的数据的信任程度——理想情况下,足以能够按原样使用它,而无需进一步的工作。

只有在为网络提供动力的软件是自由和开源的情况下,才有可能达到这种信任程度。即使是正确分发的专有区块链本质上也是运行同一个第三方代码的独立代理的集合。本质上,区块链的源代码必须是开源的——但这还不够。这既是一个最低限度的保证,也是生态系统不断发展带来的进一步创新的来源。

最后值得一提的是,区块链的开放性一直是创新和多样性的源泉,但也被视为一种治理形式:代码治理,即期望用户运行特定版本的代码,其中包含他们认为整个网络应该采用的功能或方法。 在这方面,可以说某些区块链的开放性也成为了治理方面的退路。 但这个问题正在得到解决。

第三代和第四代:治理

接下来,我将研究目前我认为的第三代和第四代区块链:具有内置治理工具的区块链项目,以及解决连接众多不同区块链项目的难题,使它们能够彼此交换信息和价值的项目。

标签
axel saying hi
长期自由和开源软件爱好者,对安全和区块链技术,以及分布式系统和协议感兴趣,并在 Red Hat 从事相关工作。 积极帮助保护互联网及其众多奇迹(知识共享、信息访问、去中心化、网络中立性)。鹰嘴豆泥和鳄梨酱鉴赏家。

评论已关闭。

Creative Commons License本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.