猎云网 | 微信号ilieyun | 编译堆堆
编者注:本文作者为 Lee Cocking,CigarZen 联合创始人,知名产品经理,在移动数据领域拥有多项专利。
以下是这两年来我专攻区块链和分布式账本了解到的 9 件事。姑且就请大家把这一经验贴当做是了解区块链领域的启蒙读本吧。先和大家报备一下,我大部分时间都是在研究企业机遇,而不是去彻底改变金融市场。换句话说,我一直在研究区块链对于金融市场以外的我们来说,意味着什么。
如果你需要从技术层面深入了解区块链,我建议你去阅读两篇文章《Bits on blocks》以及《The Product Manager’s guide to the Blockchain — Part 1》。
对于那些没有时间的人来说,那么简单来说我的结论是:区块链技术中很多都是过于夸张的宣传,并未给出实在的解决方案,但是发展机遇也是存在的。
那就开始吧。
1. 大量过于夸张的宣传
你是否听过这样的宣传——区块链技术可以解决世界温饱问题,它们可以将水变成酒,它们可以让所有人不再说谎,它们可以为政府和普通民众创造一个公平的竞争环境,开启一个全新的、人们从未接触过的透明、无私的时代!这类话数不胜数,这就是确实存在的不实宣传成分。
“我认为区块链确实是一个值得关注的领域,但是目前这个领域被过分夸大了”,来自 Gartner 的 Peter Sondergaard 这样说道。
但是,请不要因此放弃探索和学习。我们现在依然处于理解区块链技术、找到靠谱产品或市场热点的初期阶段。我深信,区块链技术背后还存在一些关键有用的价值主张。
关键要点:不实宣传的车轮正在全速转动。
2. 区块链就是散列
构成区块链的方块碰巧大多数都是散列(因此可以认为我们处理的其实都是散列链而不是区块链)。散列就是一个固定长度的值,有点类似于颠倒顺序的字母表,但它可以准确复制成相同的数据集。它们能被用来处理数据模糊、快速索引等用途。
区块链的散列由许多不同类别组成,拥有的强大算法却不易被破解(比如说 SHA256)。它们通常拥有各式各样的深奥特性,比如说耐碰撞、抗二次原像映射等等。上述这些特征其实没必要去了解,你只需要知道——当你将数据放入这些算法之中,它就会突然给出类似以下这种的散列:
FQi2l4lavwPVXDhB9ZI2q5LJumuol5XIM3/POS/e6LQ
这是 SHA256 算法下我名字“Lee”的哈希值。
你输入的数据量以及数据类型都不重要,因为你得到的值会是一个固定长度的哈希值。
关键要点:核心开发元素是散列,这一情况已经持续了相当长一段时间。
3. Merkle Tree 默克尔树
事实上,许多区块链或是散列链都是基于一种叫做默克尔树的结构。与相对概念比较新的区块链技术相比,默克尔树最早诞生于 1979 年,由 Ralph Merkle 发明。
默克尔树也许听上去很“数学”,但它其实只是一个将散列数组高效组合在一起的结构。这样就可以用一个根哈希值来代表整个散列数组,还可以显示出原始数组中的所有哈希值都参与促成了此唯一的根哈希值。在分解一个大散列数组时,这些哈希值也都有助于更加高效地查找更大的数据集(区块链就是这样一个大的数据集)。下面给出一个简单的例子:
上图就是一种默克尔哈希树。
在上述的图例中,我们可以看到一棵长有很多叶子的默克尔树。底部是几对红色的叶子,这是单独的散列,它们串联在一起然后再次进行散列输出。图例中用蓝色标记的是数据输入。它的散列与左边的红色散列串联在一起,从而生成了上方的灰色散列。顶部的黄点则是由下方所有散列组成的哈希值。
关键要点:散列串联在一起形成了默克尔树。
4. 默克尔树的火车车厢
区块链事实上就是散列链,但它却比散列链更加强大,原因在于它通常是由默克尔树根哈希值组成的散列链,这意味着其背后藏有大量的信息或交易记录。如果你觑着眼看区块链,你可以将其看作是一辆火车,而火车的每一节车厢就是代表着大量数字资产的默克尔根植(也就是火车上的乘客)。
用火车来作隐喻的唯一问题在于:在区块链中,每一个方块都是基于前一个方块而产生的。因此我们正在讨论的是从守车(通常挂在列车末尾)开始,之后是在守车的前方为下一代乘客(也就是孩子)创建一个新的车厢。如果守车中没有人,那么你是无法为孩子创建新的车厢的,一个简单的 DNA 测试就可以轻松验证世系起源。火车车厢 DNA 测试就像是你对散列进行的测试一样,这可以确保它来源于正确的默克尔树根部,因此它也是区块链中合适的“方块”。
这看上去确实有一点深奥,但我希望这一比喻能够帮助大家理解基础区块链是什么,至少可以从精神上稍许领悟。
关键要点:默克尔树连接在一起形成了更大结构的区块链。
5. 进入分布式账簿
现在我们有了由散列组合而成的默克尔树火车,那么什么是分布式账簿呢?它有什么不同之处吗?简单来说,有不同之处,但其在一定程度上也是由散列和默克尔树组成的。分布式账簿的关键不同点在于它拥有一部分共享的代码。这往往会分布于多个匿名参与者手中,但这些参与者却能够决定不可改变的数据库可以添加什么新内容。
让我们退一步来说,要研究的关键点是就它的分布性(共享性)、匿名性(有时候)以及不可改变性(几乎总是)。分布性这就意味着没有一个中央集权机构可以控制结果。匿名性意味着任何人都可以与其他人进行交易,这就如同现金一样。而不可改变性则意味着其他人几乎完全不可能改变历史。尽管这听上去很简单,但其影响却很复杂,这意味着去除了中间人(如中央银行)的存在,这一影响让很多人都感到兴奋不已。
但千万别让这一认知欺骗了你。分布式账簿依旧属于新兴技术,当下这一技术可以应用的领域数量远比实际解决方案要多。就我到目前为止的经验看来,许多看上去能由分布式账簿解决的有趣问题,实际上也可以用传统的解决方案来解决,比如说安全的多主数据库或者标准的客户端-服务器端网页解决方案。
我想让你在脑海中想象这样一幅画面:假设你带着一位古板的会计与流浪摇滚酒吧的保镖迎面而过,然后在人们想要做生意的地点将他复制出来。你就会相信做交易的这些人会以合法方式正规完成交易,这也就是分布式账簿存在的目的。如果你尝试改变一些事情,那么你就会被保镖一顿胖揍。
(上图就是类似的区块链保镖会计)
*但这就已经证明了分布式账簿并非是真的不可改变。如果那些“有权进行修改”的人决定为了更大的善而要修改历史(或者依据你的观点来说这是一种恶行),那么这也是有可能的。换句话来说,分布式账簿依旧不可免于受到人类的影响,从而犯下错误。
关键要点:分布式账簿是基于区块链建立的分布式数据库,它利用共享代码来决定逻辑。
6. 智能合约&一致性
Ok,让我们来说些不错的方面吧!如果我们增添另一个建筑方块,那么我们就会接触到智能合约以及决定其的一致性算法。我们在之前讲述分布式账簿时涉及到了一些支持它的共享代码,通常来说这一共享代码也就是所谓的智能合约。它不一定必须是一个合约,当然它也可以实际指代合约。关键在于这一智能合约要确保分布式账簿达成的逻辑共识以及进行交易的逻辑是安全的,且所有参与方拥有的是相同的代码。换句话说,大部分创造数据的节点都必须在方块内容的问题上达成一致,这种一致性是基于各个节点执行的是相同的代码。
智能合约的范式各式各样,部分(如以太坊 Ethereum)声称必须要以自己的编程语言在虚拟机器中才能运行,还有部分(如 Tendermint)则支持采用更加灵活、编程语言独立的方式。不管怎样,这都是为了确保交易可以被存在高度决定论的分布式账簿记录下来。根据平台不同,这一目标需要花费的努力有多有少。
最后要指出的是,由于决定论需要存在的层级,智能合约代码应该尽可能的小规模且集中。
关键要点:智能合约只是小规模、确定性的部分代码。分布式账簿的成员均可以共享这些代码,而这些代码则决定了哪些内容可以添加到分布式账簿中。
7. 问题
成熟度
很多运行区块链的代码(尤其是那些最近存在的)都是一些非常新的代码。它们还没有经过“战争的洗礼”,运行时间还没有达到很多年,它也没有支持数百万的用户。当然,这里绝对有一些上升的发展空间。
*我这里讨论的明显不是比特币,比特币的运行已经有一段时间了且保持稳定。不过就比特币而言,我持有以下两个观点:它不会无期限的扩大规模;此外,比特币在解决大多数要求快速和高效资源的企业用例中并不能起到很大帮助。
规模
下一个问题就是规模。尽管一些区块链已经存在一段时间了,但是它们中无一成为主流技术选择,以至于被用来解决大规模全球系统中的最终需求。区块链仍需变得更加成熟,我预计在我们进行性能调优的同时,区块链这辆车将会偏离轨道几次。
速度
速度是较为复杂的一个问题,我们通常不确定区块链究竟要保持多快的速度来运行。一些人建议如果区块链想要被大范围采用,那么它们也许需要比现有的速度更快一些,这样来说应该是比较稳妥的。但这实际上取决于你是如何使用区块链或是分布式账簿的、你需要呈现的是何种信息或交易、它们需要以多快的速度被确定或验证。上述这些内容在很大程度上都取决于用例。
采用率
一些人将区块链等同于互联网。我不确定这样的类比是否合理,但如果我们按照这样的类比来说,那么距离区块链技术被大规模采用,我们还需等待较长一段时间。对我来说,关于区块链技术是否是一个比传统技术更出色的解决方案这一点我尚不确定。创新实验室将会继续进行研究。
能量影响
简单谈及能量影响还是很有意义的。这里的关键点在于一些区块链框架非常渴求资源。比特币也许是最为严重的,每一个添加的新方块所需的能量甚至于超过了美国一个普通家庭一天所需的能量。并非所有区块链都是如此饥渴,我认为区块链是一种能量中和的技术,或者说至少它也是节能的。
关键要点:不成熟、规模有限、非常缓慢、较长的采用曲线(市场采用新型或创新产品的速度)以及运行经常需要较高能耗。
8. 用例
很高兴你已经阅读到这里了!就用例来说,要么数量数不胜数,要么数量很少,这取决于你交谈的对象。我了解到的用例数量适中。我认为其中一些是极具价值的用例,但它并非是万灵药。
下面是一些我认为区块链技术和分布式账簿能够起到关键作用的用例:
去中心化数字货币
这一点显而易见,比特币是推广区块链的核心用例之一。
微支付平台
区块链从交易中移除了中间人的事实为网上高效微交易(或者为任何互联物联网设备——比如说汽车)提供了机遇。想象一下,只要几毛钱你便可阅读像本文这样的干货贴、看 YouTube 视频或者玩游戏。这给内容提供商带来了切实价值,他们也就不必依赖那些恼人的推送广告。而现有的支付处理器则不然,因为每次交易的处理费在 0.35 至 0.75 美元之间,只收费 0.01 美元(或者更少)几乎不可能。
存在证明
区块链为创造一个长期存在证明提供了一个强大的机制。如果你需要证明数字文件在特定时间存在并且由特定实体拥有,那么区块链就会通过数字签名来提供一种替代传统公钥基础设施(PKI)的机制。随着企业和政府步入无纸化办公时代(如 Estonia),区块链会因此变得特别重要。
数据和系统完整性
由于基础加密散列的存在,作为下一任存在证明的区块链展现出了强大的完整性验证能力。要求数据完整性的每一种情形并非都适合使用区块链,但是我已经看到了在这个类别下的许多潜在用例,包括确保数据库中的记录在第一次执行之前不会被篡改以验证虚拟 OS 映象。利用区块链来验证这些数字资产,这提供了一个强大的第二要素完整性检查,且这种检查方式不会被密码管理员操控。
来源
再进一步探索完整性,这就带来了一个非常有趣的区块链命题:起源。如果区块链提供的是一项包含了情境元数据且不可改变的记录,那么你就可以使用区块链来追踪端对端数据流。随着云计算、数字化以及物联网趋势逐渐在数据世界发展,我坚信区块链会变得异常重要。当然,还有一些棘手的问题亟待解决,特别是当数据在国家边界与司法管辖区之间流通时。我预测区块链在其中会起到一定作用。
安全交易
远离金融交易、区块链,特别是支持分布式账簿的智能合约,这为基于分布式共识的交易提供了一个机制,其中任何一方不能破坏计划。我见过该领域一些有趣的用例,比如说保险、医疗、投票等等。
关键点:许多适合探索的行业已经出现了大量区块链用例。你也许对其中一些用例会感兴趣,比如说 IBM 当下看好的公开分类账项目。
9. 会出现什么问题?
对于区块链以及这项技术能够做到的事情,很多人都期待不已。但我不确定未来是否像描述得那般美好。
伪创新
当下,我们看到创新实验室非常活跃。尽管我绝对是支持实验和学习的,但我也发现一些利用区块链技术的产品仅仅是为了使用这项技术罢了。在我看来,这就是在浪费宝贵的资金,而这些资本本可以用于其他在真正意义上属于创新的系统或解决方案。我的建议是在你选择要开发原型和试验的内容上必须要持审慎态度。
政府
区块链是一把很有意思的双刃剑。一方面,它们应当让所有人可以彼此之间匿名进行交易,但它们却又应当保证所有的交易情况透明公开。这里出现的一种糟糕情况可能是:我们所做的一切附加到了不可改变的区块链上并且被政府监管,那么我们的生活将不再拥有自行决定的自由。我赞成政府拥有一定程度的可见性来保证我们的安全,但是区块链呈现的诡异未来我却并不喜欢。
黑市&地下组织
不幸的是,我无法无视一个事实,那就是数字加密货币(也就是现在所谓的比特币) 促进了大量黑市活动。这也是区块链口碑不好的原因之一,尽管这些负面评价并非都是公允的。我看到过比特币是如何让诈骗犯和网络钓鱼者确定目标对象的——利用比特币提取资金,进而移除了中间人的存在并且将可追踪性降到最低程度。它还可以通过像 USB 驱动器这样的小物体提取出大笔资金,这就意味着资金可以轻易转移出境,而不易被发现。这不一定就是影响数字加密货币的关键,毕竟人类总是会尝试利用各式各样的物体来实现自己的目的,这也是情理之中的事情。
权利和法律补救
为了弄清楚人们的权利范围以及如果事情出现变数,有什么法律补救措施可以保护人们和企业,我认为我们还有很多工作要做。人们一直沉醉于去除政府和银行这些中间人的想法,但是如果去除了所有集中管理或控制,那么当事情出现问题时,谁最终要来负责呢?这很难说,我也不知道答案,但我相信这必然是一团乱。
结论
区块链会迎来曲棍球棒效应吗?只有时间能告诉我们答案了。(曲棍球棒效应指在某一个固定的周期,前期销量很低,到期末销量会有一个突发性的增长,而且在连续的周期中,这种现象会周而复始)
回过头再来谈谈之前的互联网类比。互联网的重要性毋庸置疑,这一平台支撑了我们现在做的很多事情。事实上,正是这些基于互联网衍生出的应用将这项技术置于了聚光灯之下。区块链也需要经历同样的事情。除非这项技术拥有了一个可以解决实际问题的值得信赖的产品/市场组合,人们愿意为此付费,否则区块链将依旧只是一个新奇的技术。新奇的技术可以吸引众多人的兴趣、投资以及大量创新活动,但它始终也只是一个新奇的体验罢了。
我建议读者学习并且尝试一些不同的区块链栈。但是,千万别被这些炫酷的表面所迷惑。用务实的方法来解决你要处理的问题,然后自己决定区块链技术是否能够真正增加价值。
好消息是目前已经涌现出了很多开源平台让用户免费进行尝试。欢迎了解区块链!