内部区块链的优缺点

我经常转发与银行或大型企业实施的区块链实验有关的新闻,并提出这样的疑问:”他们为什么会在这种内部场景使用区块链呢?“

区块链的作用是取代可信赖的第三方,或者是在不完全相互信任的实体之间建立信任关系,如此看来,内部区块链似乎是矛盾的。

然而,许多公开发布的实验,试验性项目和针对应用的验证性测试都着重于区块链的内部使用案例,即区块链中可能有一个或多个节点,但是都由同一组织控制,且通常局限在一个区域内。

虽然最近有许多对比公有型(非许可型)与私有型(许可型)联盟区块链的讨论,但是却鲜有人思考内部区块链的优点。

一些概念:

公有型(非许可型)意思是任何人都可以对交易进行校验,以及添加新的区块,同时,任何人都可以读取区块链中的数据,例如比特币和以太坊。

私有型(许可型)意思是在区块链中,可以添加区块的实体对象对整个区块链网络的其余部分来说是已知的,并且得到了它们的许可。这种类型的区块链可以分为两大类。第一类即区块链的参与者是同一类型的实体,例如产业区块链。第二类则是内部区块链,即所有区块的添加者都由同一组织控制。


内部区块链实验

使用内部区块链进行实验的主要原因似乎是:

(1)在实施内容与区块链有关的情况下对工作压力和预算的考虑

(2)相比于同外部组织(通常是竞争对手)进行合作,内部设置更加简单

(3)可以亲自动手体验一些最新的技术

以下是一些关于内部区块链解决方案相较于传统数据库的优缺点的想法。我非常欢迎有这方面技术知识的读者,例如数据库管理员,对这些想法进行补充或指正,因为我并不是一个技术专家。


对数据安全的考虑

数据读取

目前,对非区块链式数据库的读取访问往往记录在日志文件中。而区块链的读取特点是,你可以自由地读取区块链中某一节点的数据(通常储存在一个固定的数据库中),只需要通过与其相连的节点。基于区块链的数据库本身并没有任何内置机制可以改善这个问题。因而你仍然会使用日志文件来记录谁读取了你的区块链,所以在这一方面,区块链式数据库和普通数据库的解决方案几乎没有什么差别。

数据写入(添加)

非区块链式数据库通常使用用户名和密码对用户进行身份验证,同时根据用户权限来决定他是否可以写入数据,并使用日志文件记录新数据写入行为。

区块链在添加数据时通常需要额外使用数据签名。数据签名的使用首先在交易层面,其次则是添加区块时(针对私有链)

在交易层面,例如在比特币交易中,你通过在支付信息中添加数字签名来证明你是这笔钱的所有者。尽管用于储存非交易性数据的区块链不需要使用此机制,但是许多用于数字资产转移的区块链都在使用它。区块链节点的软件理论上可以接收来自任何人的数据并将其添加到区块中,而不需要来自数据发送者的数字签名。

在增加区块的层面上,对于私有链的区块添加者来说,一种获取许可的机制就是在要添加的区块上使用数字签名来证明他们的身份,这样其他验证人员就会接受这个区块。但这种情况并不适用于公有链,例如比特币。在比特币区块链中,你完全可以在没有明确表示你是谁的情况下进行挖矿,尽管你的IP地址和你通过挖矿获得的比特币地址都会泄露你的信息。

数字签名能够在人们写入更改时在安全性和不可否认性上添加额外的一层保障。所以区块链能够在数据写入这个方面为数据库增加使用价值。

数据修改或删除

非区块链式数据库通常使用用户名和密码对用户进行身份验证,同时根据用户权限来决定他是否可以修改数据,并使用日志文件记录数据修改行为。

区块链包含许多节点,数据一旦写入,拒绝更改,除非你得到了绝大部分或者所有节点的同意,或者你滥用旨在解决区块创建的同步问题的“最长链规则”。这意味着你可以降低流氓管理员更改历史数据的风险,通过让区块链运行在不同数据中心的节点上,每个数据中心都配备不同的数据库管理团队。如果要更改历史数据(假设私有区块链设定不能在单一节点连续添加多个区块),那么需要多个团队合谋,共同协作才能办得到。

从这方面来看,区块链式数据库比传统数据库更安全。对于没有存档和业务连续性需求的不受监管的对象来说,区块链可能是一个极佳的解决方案。但是对于金融机构来说,频繁地备份以及长期保存这些备份是必须的,因此,不难想象,对于一个银行来说,比较各个备份来检测数据是否发生了更改可能更为直截了当。但是,在这种方式下每个数据库你都需要构建相应的比较方法,区块链则不然,你可以直接获得这种不可变性。


存档和备份

尽管如上所述,区块链不如存档简单,但我可以想象,未来区块链将会代替存档。如果你的区块链在全球范围内有多个复制这些不可变数据的节点,你还需要额外的定期备份吗?


适应性

添加一个新的节点并使其与现有区块链同步是非常容易的。只需要安装相应软件,输入区块链上其他计算机的地址,让它开始下载区块并校验新出现的交易和区块就可以了。在我看来,这比传统企业数据库提供的解决方案更容易操作,也更经济实惠。但也有可能我是错的。


跨境时的数据隔离

区块链在各个节点之间进行数据的复制。如果你的某些数据需要保留在特定的司法管辖区内(例如新加坡的客户数据),那么你需要找到适合的方法来解决这个问题。找到解决方案是相对比较简单的,只需要认真思考一下。这些数据和常规数据库中的客户端数据,以及内部区块链上的交易数据是十分相似的。


数据隐私

是否要考虑交易中的中国墙问题呢?如果需要,鉴于区块链的实现需要不断复制数据,那么使用区块链可能不会是一个好的解决方案。虽然隐私问题可以通过加密来解决,即将密钥安放在需要的地方,但是,数据需要在加密以及保持一定可见性用于校验这两者之间实现动态变化,尤其是交易数据。

思考一下:你在某个区块链中并添加了一些表示A(你)和B(交易另一方)之间交易的数据。同时,C也在这个区块链中。那么,交易数据添加到区块链上后,C就可以看到A在与B通信。此外,C也可以在没有攻破A和B的系统的情况下,用自己的时间尝试解密或者分析所有A和B之间的通信信息。从敏感的商业视角来看,这难道也可以接受吗?


第三方访问

对于为何使用内部区块链,有时我会听到这样的理由:监管机构或审计人员获取访问权限十分简单 - 他们可以很容易地接入区块链并从那里开始获取他们想要的数据。确实如此,但是,让他们从常规数据库中获取数据真的比这个要难吗?

另一个可能更好的理由是互操作性 - 当你希望其他的参与者也可以写入数据时,如果你有一个以区块链形式构建的内部数据库(即添加的数据记录中包含了块哈希的值,并且安装有有一些能够和外界通过对等网络进行交互的服务器软件),那么数据库接入其他参与者会更加简单。但你必须注意那些你与外部参与者共享的数据和元数据(参见上面的数据隐私部分)。


速度

区块链中数据的读取速度很快。同时,鉴于区块链节点复制的数据用传统数据的格式存储,你可以向读取普通数据库一样进行读取。

但如果写入速度对项目来说十分重要,或者你需要处理大量的数据,那么区块链的性能还不如常规数据库。

不过,我经常听到关于比特币区块链交易速度受限问题的担忧。但这种速度受限并不一定会体现在内部的,私有的,使用工作量证明协议的区块链上:内部区块链如果位于具有良好通信能力的数据中心,其交易处理速度可以达到比特币的3倍以上。


结论

尽管最开始我们并没有任何令人信服的理由能说明为什么要在解决内部问题时使用区块链,但从技术的角度来说,两者的结合是有利的。毕竟,这是一次实践,一次试验,是在创新和改良现有的技术以寻求更出色的解决方案。鉴于创建私有型区块链并不需要挖矿开销,也不复杂,在区块链技术还在发展的这个阶段,如果有人问:“为什么要用区块链呢?”,那么正确答案可以是:“为什么不用呢?”

请对上述关于在解决内部问题时使用区块链代替传统数据库的理由发表您的看法!

本文的版权归 五条 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏SAP最佳业务实践

SAP最佳业务实践:FI–现金管理(160)-16银企对账-客户收款-承兑汇票-FF67手动输入银行对帐单

4.5.4 FF67手动输入银行对帐单 银行托收成功后,寄来对账单,手动输入银行对帐单来过账银行承兑汇票收款,并清帐银行结算科目,形成财务凭证如下 借:银行存...

3105
来自专栏丑胖侠

智能合约中存在的3种最常见的误解

作为一名受欢迎的区块链平台的开发者,我们有时被问到类似以太坊的智能合约是否走多链路线。我总是回答说:没有,至少目前还没有。

3209
来自专栏区块链大本营

区块链分片技术为何比Visa的快?

3828
来自专栏区块链

长话短说:MultiChain(对 Epicenter Bitcoin 的采访 - 2015.11)

原文地址:https://bitsonblocks.net/2016/03/07/in-a-nutshell-multichain-epicenter-bitc...

3909

比特币浅析

“比特币被保存在数字钱包中”,“区块链技术可以被用于传递资金”。类似这样的内容越来越多的出现在了大众媒体上。对于一般人来说,这些内容似乎复杂难懂,甚至会形成误导...

1K21
来自专栏汇智网教程

决定以太坊未来的三个关键扩容项目

1483
来自专栏区块链

区块链到底是什么?(A Blockchain/The Blockchain/Blockchain Technology概念辨析)

区块链是一个效率非常低的数据库,它作为比特币中拼图难题(jigsaw puzzle)正常运转必须的技术之一而被人们熟知。

2.4K40
来自专栏大数据文摘

以太坊是什么鬼?!媲美比特币的加密币大揭秘

1213
来自专栏LuckQI

让入门者也能看明白的区块链讲解一

863
来自专栏CDA数据分析师

轻松看懂什么是以太坊

虽然"比特币"和"以太坊"这两个术语常常一起出现,但实际上这两者有很大的区别。以太坊与比特币的唯一联系在于,两者均为成功的区块链技术应用。

922

扫码关注云+社区