首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

你是否需要一个区块链?(上)

BLOCKSPACE

可信任的价值互联网,从这里解锁

你是否需要一个区块链?(上)

Karl Wüst, Arthur Gervais

瑞士苏黎世联邦理工学院计算机科学学院

摘要

区块链被誉为一项技术创新,可以彻底改变社会交易与社会互动的方式。

这一盛誉的取得归功于区块链的特性,即在不依赖可信任第三方的条件下允许互不信任的交易主体交换具有价值的财产。区块链还可以提供被完整保护的数据存储库,具有流程全透明的特性。

在本文中,我们将批判性地分析在特定应用场景下区块链是否为合适的技术解决方案。

我们会将无权限区块链(例如,比特币/以太坊)和权限区块链(例如Hyperledger / Corda)进行区分,并将其属性与集中管理的数据库的属性进行对比。我们提供结构化的方法来确定特定问题的技术解决方案。

在此方法论的指导下,我们深入分析了三个用例——供应链管理银行间支付与国际支付以及分散的自治组织

最后我们总结了文章的主要观点,对未来的发展机会进行了展望。

介绍

比特币及其区块链让互不信任的交易主体在不依赖中央可信第三方的情况下执行财务支付,同时提供透明、完整保护的数据存储。

由于具备这些特性,区块链技术已经不只以金融交易为目的,而实现了更广泛的应用,如分布式云存储、智能财产、物联网、供应链管理、医疗保健、所有权和版权分配以及分散的自治组织等。

在比特币的无权限区块链中,任何作者和读者都可以随时加入权限区块链则与此相反,只有授权的实体才可以写入和读取相应区块链

然而,权限区块链与集中式数据库却有着很多相似之处。

那么,相比集中式数据库,区块链是否为更佳的技术解决方案呢?

在本篇文章中,我们分析了不同区块链的特性(即权限和无权限),并将其与集中管理的数据库的特性进行对比。

根据问题的要求,我们提供了一种方法来确定区块链是否适用,以及如果有用,哪种类型的区块链更合适。

基于我们的方法,我们详细评估了三个用例:

(1)供应链管理

(2)银行间支付与国际支付

(3)分散的自治组织

并论证了是否以及哪种区块链对特定问题是适用的。

本文的其余部分结构如下

第2节是关于区块链重要背景知识介绍。

在第3节中,我们提出了一种结构化的方法来确定区块链是否适用,如果是,哪种类型的区块链更适合。

第4节将在这一方法的指导下详细分析前文提出的三个用例。

在第5节中我们回顾了该领域的相关研究,并在第6节做了总结。

区块链背景知识介绍

在这一节中,我们将详细介绍区块链和相关方的背景知识。

“区块链”这一名称源于其结构特点,即“一连串的区块”

每个区块都通过加密哈希函数与前一个区块相连。区块是一种数据结构,用来存储一系列交易过程。所有交易都由区块链网络中的个体创建和交换,并由其修改区块链的状态。这里的“交易”包括但不限于以货币为代表的金融交易,还包括在“智能合约”内执行任意代码等其他形式的交易。

在深入探讨无权限区块链有权限区块链的具体差异之前,我们需要先对众多网络参与者进行描述。

在适用于所有数据库系统的情况下,我们将把状态写入数据库的个体称为“作者”。

在区块链中,“作者”对应制定共识协议的参与者。作者有助于增加区块链的数量。因此,作者可以在某一区块内累积交易数量,并将此区块附加到区块链中。也有文章将作者命名为“验证者”

我们将“读者”指定为不对区块链进行扩展的任所有个体。他们参与交易过程,但仅仅是阅读、分析或审核区块链,不能对其进行扩展。

需要注意的是,我们不将监管机构和区块链软件维护人员列入考虑范围内。

无权限区块链

比特币(Bitcoin)以太坊(Ethereum)是无权限区块链的典型代表,具有开放性和分散性的特点。任何作为读者和作者的个体都可以随时加入和离开网络。

有趣的是,在这个体系中并没有一个中央实体对成员进行管理。这种开放性意味着书面内容可以被网络中任何一个实体所阅读。尽管如此,使用密码原语设计能隐藏个人信息的无权限区块链在技术上也是可行的(例如Zerocash)。

权限区块链

为了授权有限的读者和作者,有人提出了“权限区块链”这一概念。在权限区块链中有一个中央实体,中央实体有权决定是否赋予个体写入或读取权。

为了实现隐私保护,读写过程也可以在互相分离但并行的区块链中运行。最广为人知的权限区块链实例是Hyperledger Fabric和R3 Corda。

01

特性介绍

在下文中,我们将对区块链最显著的特性——分散式账本和集中式系统进行描述与比较。

公共可验证性

公共可验证性允许任何人验证系统状态的正确性。

在分散式账本中,每次系统状态的转换都由验证者(例如比特币中的矿工)进行确认。验证者可以是一组受限制的参与者。

但是,任何观察者都可以根据协议验证账本的状态是否进行了更改,同时所有观察者最终都会拥有相同的、具有一定长度的账本视图。在一个中央系统中,不同的观察者可能对系统状态有完全不同的看法。

因此,他们可能无法验证所有状态转换是否都被正确执行。观察员需要信任中央实体能为他们提供正确的系统状态信息。

透明度

数据的透明度和更新过程是公共可验证性的要求。然而,对不同的观察者来说透明信息的信息总量可能不同,并非每个参与者都需要访问每一条信息。

隐私

隐私是所有系统的重要属性。隐私和透明度之间存在固有的对立关系。在中央系统中隐私更容易被实现,因为系统的运行不需要透明性和公共可验证性。

完整性

信息的完整性可以保护信息免受未经授权的修改操作。信息的完整性与公共可验证性密切相关。如果一个系统提供了公共可验证性,那么任何人都可以验证数据的完整性;否则,只有在集中式系统不受损害的情况下才能确保完整性。

冗余

数据冗余对许多用例的重要性都不言而喻。由于作者间的自我复制,冗余固有地存在于区块链系统中。在集中式系统中,不同物理服务器上的复制和备份行为也会造成冗余。

信任锚

由信任锚规定谁代表了给定系统的最高权限,该系统有权授予和撤销对系统的读写权限。

02

透明度和隐私之间的对立关系

透明度和隐私之间存在某种固有的权衡效应。在一个完全透明的系统中,任何人都能看到所有信息。换句话说,在完全透明的系统中不存在隐私。同理,完全私人的系统中也不存在透明度。

然而,系统仍旧可以提供一定的隐私保护,同时使状态转换过程透明化。

例如,分散式账本可以提供其整体状态的公共可验证性,而不会泄露每个参与者的状态信息。公共系统中的隐私保护可以通过密码技术来实现,但通常会降低效率。

比如加密货币Zerocash利用昂贵的加密技术来提供绝对的匿名性,同时提供足够的透明度公开验证账本的状态。

区块链何时适用?

一般来说,只有当多个相不信任的实体想进行信息交互、改变系统的状态,并且不认同在线的可信第三方时,开放式或权限区块链才适用。

为了简化决策过程,我们提供了图1这一流程图。

图1

我们考虑编写系统状态的一个或多个实体,也就是典型数据库中拥有写入权的实体或区块链中的共识参与者。

如果没有数据需要存储,则根本不需要数据库,那么区块链作为数据库的一种形式也就没有用处了。同样,如果只存在一个作者,区块链不提供额外保证,常规数据库也就更适用。因为此时常规数据库在吞吐量和延迟方面有着更好的性能。如果可信第三方(TTP)可供使用,则有两个选择。

首先,如果TTP始终在线,写操作可以委托给它,并且它可以作为状态转换的验证者。其次,如果TTP通常是离线的,那么它可以在权限区块链中作为权威机构,系统内所有编写者都承认这一机构的存在。

如果每一个作者都信任彼此,认为所有参与者都是没有恶意的,那么具有共享写入权的数据库就是最好的解决方案。

如果作者们互不信任,则权限区块链更适用。根据是否需要公开验证,任何人都可以读取状态(公开性权限区块链),读者也可以被限制(私人权限区块链)。

如果作者不是固定的,并且参与者知晓作者的情况——正如许多加密货币(比如比特币)的例子一样——无权限区块链就是一个合适的解决方案。

在表1中,我们比较了权限区块链、非权限区块链以及中央数据库的一些特性。

表1

集中式系统在延迟和吞吐量方面的性能通常比区块链系统更佳。因为区块链的共识机制增加了额外的复杂性。

例如,比特币目前只能维持每秒约7次交易的吞吐量(在不影响安全性的情况下可提升到约66次[5]),而Visa等集中式系统可达到5万多次的交易高峰。

分散化(在互不信任的情况下,系统能在多大程度上进行扩展)和吞吐量(系统在给定的时间内可以处理多少个状态更新)之间存在某种权衡效应,在决定是否使用区块链系统时,应充分考虑这种效应。

表1区分了无权限区块链、权限区块链和集中式数据库的特性。请注意,权限区块链可以是公开性的。例如当区块链内容需要公共可验证性时,权限区块链即为公开性权限区块链。

在接下来的章节中,我们将概述了几个使用区块链技术进行推广的用例。

扫码添加BLOCKSPACE联系人

立即加入项目联络群

了解更多咨询

BLOCKSPACE

可信任的价值互联网

扫码解锁

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180305G0IL8U00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券