区块链目前是热门话题。有各种会议、初创公司、展览、开源项目(事实上,几乎所有正在进行的区块链项目都是开源的——例如以太坊、Zcash 和比特币);我们现在只需要嬉皮士经营的区块链主题咖啡馆了。1 如果您正在寻找初步概述,维基百科的条目可能是一个不错的选择——但这并非本文的目的。
在我们深入探讨之前,有一件关于许多区块链项目的事情需要了解,那就是它们并非真正的区块链。更准确地说,它们是分布式账本。4 然而,现在,让我们将区块链和分布式账本技术放在一起讨论,并假设我们在谈论同一件事:这在目前会更容易理解,而且在大多数情况下,对于我们的讨论来说,差异并不重要。
我不打算在此深入探讨基础知识,但我们应该简要讨论加密技术和区块链之间的主要联系,那就是区块本身。为了构建一个区块——一组要放入区块链的交易——然后将其链接到区块链中,需要使用加密哈希。这是各种区块链与密码学之间最明显的关系。
然而,还有另一个同样重要的方面,那就是身份。5 现在,对于许多基于区块链的加密货币来说,使用它们的主要原因之一是在某种程度上身份并不重要。加密货币中有许多参与者可能会互相传递极小或非常大的金额,他们不需要知道彼此的身份即可进行交易。
更清楚地说,每个参与者的独特性绝对是重要的——我需要确保我将钱发送给刚刚为我提供服务的实体——但是将这种独特的身份与现实生活中的特定人联系起来6不是必需的。用技术术语来说,这样的系统是匿名的。现在,如果匿名性是系统的关键部分,那么保护该属性可能对用户很重要。加密货币在这方面取得了不同程度的成功。这里的教训是,如果您计划使用加密货币并且此属性对您很重要,那么您应该认真阅读和研究。
另一方面,在许多区块链/分布式账本技术中,匿名性不是必需的属性,甚至可能是不需要的。从专业的角度来看,这些是我最感兴趣的系统类型。
特别是,我对许可型区块链感兴趣。非许可型(或无需许可型)区块链是指您无需任何人的许可即可参与的区块链。您可以看到为什么匿名性和无需许可型区块链在今天可以很好地结合:大多数(所有?)加密货币都是无需许可的。然而,许可型区块链是另一回事,它们是许多企业现在正在关注的。在这些情况下,您知道将要参与的人员或实体——或者,如果您现在不知道,您需要在他们加入您的区块链(或分布式账本)之前检查他们及其身份。这就是为什么区块链在商业领域很有趣。7 不仅仅是因为身份很有趣,尽管它确实有趣,因为如何将特定实体与身份结合起来,并确保这种绑定在系统的整个生命周期内不会被欺骗是非常困难,困难,非常困难8——但还有更多原因。
真正有趣的是,如果您正在考虑迁移到具有许可参与者的许可型区块链或分布式账本,那么您将不得不花一些时间思考信任。您不太可能使用工作量证明系统来创建区块——这在许可型系统中意义不大——那么谁来决定什么是系统其余部分应该同意的“有效”区块呢?嗯,您可以轮流选择一些(或全部)实体,或者您可以随机选择,或者您可以选举少数几个超级信任的实体。这些方案的组合也可能有效。
如果这些实体都存在于您控制的一个信任域中,那很好,但如果它们是分销商、客户、合作伙伴、其他银行、制造商、半自主无人机或商业车队中的车辆呢?您确实需要确保您在实施/部署中编码的信任关系真实地反映了您与系统中表示的实体之间的法律和现实生活中的信任关系。
问题是,一旦您部署了该系统,就可能很难回溯、调整或重置您设计的信任关系。如果您不考虑我上面提到的关于身份长期绑定的问题,那么当例如发生以下情况时,您将面临一些严重的问题:
- 实体被欺骗
- 实体破产
- 实体被另一个实体收购(收购、兼并等)
- 实体迁移到不同的司法管辖区
- 法规或规章发生变化。
这些都是在现有法律框架内得到很好解决的问题(第一个问题可能除外),但在我们本文通常关注的系统类型中,这些问题更难管理。
请不要将上述问题与关于如何将法律协议映射到区块链/分布式账本系统中的所谓“智能合约”的问题混淆。那是另一个棘手(而且,说实话,并非不相关)的问题,但这个问题直接触及了系统是什么的核心,这也是人们在采用最新的流行语技术时需要认真思考他们真正想要实现的目标的原因。再次强调,我们需要理解系统和业务如何协同工作,并坦诚地面对它们是否契合。
1 如果您遇到其中一家,请告诉我。在评论中放一张照片或什么的。2
3 而且一切免费。
4 关于这个问题,网上曾有争论。我不参与。
5 还有其他方面,但我会在另一天再谈。
6 IRL = “现实生活中”。我太老派了。
7 对我而言。如果您已经读到文章的这里,我希望您也有同样的想法。
8 我将此作为读者的练习。不过,请观看它以及它所基于的电视剧。除非您不喜欢脏话,否则不要观看任何一个。
本文最初发表于Alice, Eve, and Bob—一个安全博客,并已获得许可转载。
4 条评论