当比特币问世后,它也为其底层协议的基础技术的发展奠定了基础,而这项技术就是区块链。渴望创新的人现在已经发现了这项技术的潜力,正在探索区块链技术在每个行业中可能的应用。
比特币是所谓的加密货币,一种不受任何人控制的数字现金。与其他技术所不同的是,它结合了分布式数据库技术、经济激励措施和加密技术,可以在没有领导者或管理员的情况下形成广泛的生态系统协同。
自比特币网络创建以来的十多年里,它所使用的数据结构在各行业都产生了广泛的吸引力。现在,区块链技术的应用领域已经从金融和供应链覆盖到法律系统和政府的各个部门中,很多行业都在进行试验。
如果您错过了我们发布的区块链技术的初学者指南:区块链是一项简单的数据结构,其上的数据无法进行修改,但是能够不断扩张。将其数据结构其视为电子表格可能会有助于理解,其中每个单元格都指向上一个单元格,因此任何关于之前单元格的修改,都会立即显现出来。通常,区块链存储着有关金融交易的信息,但是它可以与任何类型的电子数据一起使用。
为了与我们的电子表格进行类比,我们假设文档可以有多方进行修改。每个人都可以在其设备上运行专用软件,并且可以与其他设备进行连接,所有参与者都能够获取到最新的数据库。
中央机构无法从中获取到信息(网络是分布式的)。这意味着信息的传播速度较慢,但从安全性和冗余性来看,却能够使网络变得十分强大。
在下文中,我们将研究三种类型的区块链:私有链、公有链和联盟链。在此之前,让我们重申这三种类型区块链的共同点及一些关键特征:
下表总结了一些主要差异。
区块链类型 | |||
公有链 | 私有链 | 联盟链 | |
准入限制 | 无 | 有 | 有 |
读取者 | 任何人 | 仅限受邀用户 | 相关联用户 |
写入者 | 任何人 | 获批参与者 | 获批参与者 |
所属者 | 无 | 单一实体 | 多方实体 |
了解参与者 | 否 | 是 | 是 |
交易速度 | 慢 | 快 | 快 |
如果您最近使用过加密货币,就很可能已经与公有链进行了交互。这种类型的区块链涵盖了当今存在的绝大多数分布式账本。我们之所以将它们称为“公开”,是因为任何人都可以查看所发生的交易,并且只需下载必要的软件即可加入。
我们也经常在公共场合使用“准入限制”一词。没有监管方可以阻止参与,任何人都可以参与共识机制(例如,通过挖矿或权益质押)。由于任何人都可以自由加入,且能够按照达成共识所扮演的角色而受到奖励,因此,我们期望在公有链网络上可以看到高度分布式的拓扑结构。
同样,我们希望公有区块链比私有链(或半私有)更具备防审计性。由于任何人都可以加入网络,因此该协议必须包含某些机制,以防止恶意行为者匿名获得优势。
但是,公有链在安全性和性能方面也进行了权衡。公有链上的许多服务器遇到了扩展瓶颈,吞吐量相对较弱。此外,将变更推送到网络又维持网络不分裂,可能是一项挑战,因为所有参与者同时同意某项提议的可能性比较小。
与公有区块链的无准入限制形成鲜明对比的是,私有区块链建立了准入规则,规定谁可以查看和写入区块链(它们是需要经过许可的环境)。私有链也不是去中心化系统,因为在控制方面有明确的层次结构。但是,它们是分布式的,许多节点仍在其计算机上维护区块链的副本。
私有链更适合企业维护,因为企业希望在不让外部网络访问的情况下,能够享受区块链带来的优势。
在某些私有链中,具备安全模型的背景下,工作量证明是多余的。但是,事实证明对于开放环境而言,工作量证明又是必需的。在私有区块链中,不使用PoW并不会造成很严重的威胁,因为每个参与者的身份都是已知的,是手动进行管理的。
在这种情况下,一种更有效的算法是使用指定的验证程序,这些验证程序是为执行交易验证而选择承担某些功能的节点。一般而言,这其中包括必须在每个区块上签名的节点。如果节点具有恶意行为,则可以迅速发现并从网络中删除。有了区块链这种自上而下的控制,整个系统的协同就容易多了。
联盟区块链是介于公有链和私有链之间的,结合了两者的特征要素。在共识方面,我们可以观察到联盟链与私有链和公有链最显着的差异。联盟链将少数同等权力的参与方视为验证者,而不是像公有链那样开放的系统,让任何人都可以验证区块,也不是像私有链那样,通过一个封闭的系统,只允许某一个实体来任命区块的生产者。
从这里开始,系统规则的制定非常灵活:链的可见性可以限制于验证者、授权人员或所有人都可以看到。只要与验证者达成共识,就可以轻松的进行修改。至于区块链的功能,如果这些参与者都能够按照预设门槛诚实行事,则系统不会发生任何问题。
在同一行业中运营的多个组织,且需要共同的基础设施进行交易或中继信息的环境中,联盟链将是最佳的选择。加入这种联盟链对组织也是十分有好处的,因为这将使他们能够与其他参与者分享对行业的见解。
从本质上讲,公有、私有和联盟链并不矛盾,它们只是使用了不同的技术:
对于从事各类活动的个人和企业来说,存在大量的区块链选择。即使在公有链、私有链和联盟链中,根据复杂性的不同,也会出现许多不同的用户体验。根据实际使用情况,用户可以选择最适合实现自己目标的产品。