在2017年11月,四大国际会计师事务所之一德勤(Deloitte)发布了一份关于区块链技术和开源平台GitHub的调查报告。报告中称,随着区块链技术逐渐兴起,在全球范围内诞生了约26000个区块链项目,其中92%的项目在过去两年里走向了消亡。据雷锋网AI金融评论观察,如此之高的失败率源于区块链的高技术门槛,难以突破技术限制,找不到真正适用的落地场景,也因为项目本身的管理混乱。这都给后来的区块链创业者敲响警钟,要真正创建一个靠谱的区块链项目,应该从哪些方面着手布局思考?
在过去两年里,26000个区块链项目中,有92%最终死亡。这个数字是如何失控的?对于那些怀有区块链技术热情的创业者来说,又该做些什么来避免成为这92%的大多数?
区块链能做什么:理解核心能力
首先,我们需要对区块链能够创建有意义的应用案例的核心能力进行深入探讨。基于分布式分类账本的技术,开发人员可以打造一个供多个互不信任的用户进行价值交换的数据库环境,在去除一个中心化协调机制的背景下上载记录。
通过将密码学和博弈论的概念相结合,区块链能够在系统中实现去信任化,确保用户大幅减少对于第三方实体机构的依赖,进行公开透明的互动。
在区块链系统的内部,“去中心化”的概念极其重要,原因在于其消灭了中心化集权的失败所带来的负面效应:安全漏洞、网络瘫痪和运行中断等问题。另外,只要保证安全性和活跃度,区块链网络能够杜绝不可信参与者的交易审查或其他恶意行为。
这样的分布式账本系统已经被成功应用在金融和分歧解决等领域。以往在这些领域,交易各方需要提交对于一个中心化权威机构的信任,后者对交易数据进行审查监督,保证交易严格遵守协议。
像Hyperledger一样的公司已经创造了私有的企业级应用区块链,设计为去中心化的交易生态系统,来为全球范围内主要技术、金融和供应链范畴的公司的交易业务提供支持。值得注意的是,这些都是杰出的区块链项目,而非属于那92%业已消亡的行列。
如该流程图所示,对于那些寻求区块链解决方案的人而言,是一份行动清单,也是一份列出投入到分布式账本技术前需要仔细思考的步骤大纲。
制定区块链案例的应用标准
1.搭建数据库的选型考虑
当我们开始尝试搭建一个区块链应用案例时,我们需要深入研究,是否拥有一个保证所有节点基础安全的数据库。如果我们尝试建立的区块链系统极易被外界世界所篡改,该项目在系统内部,将失去无需信任和去中心化等技术特性,从而导致这个应用案例被设置重重局限性。
一个类似的例子是“血钻追踪”(Blood Diamond Tracking)项目。为公司利用区块链来追踪合法的钻石在一条供应链中从生产者到最后到消费者手上提供服务。尽管对于追踪钻石相关的交易流程,区块链是一个很好的解决方案,但其仍然需要参与者对于区块链系统内部将钻石上链的员工和节点提交大量的信任。在这个案例里,数据库的节点无法保证百分之一百的安全,导致影响困扰着其的信任问题的产生。
2.交易方
下一个在着手利用区块链前需要搞清楚的重要问题是,是否在数据库里,有多方参与采取行动。
如果数据库不需要众多的利益相关者来协调,并能由一个关键的主要撰写者来发挥作用,那么应该考虑使用中心化结构的数据库。从先天属性来说,区块链的本质是分布式分类账本技术,但如果对于数据库的拥有权没有必要分散化的需要,我们应该启用不同的数据库结构。
从这点来看,简单来说,在建设一个高质量的区块链应用案例的过程中,经常被忽略忘记。事实上,和现有的去中心化区块链系统相比,如甲骨文数据库或MySQL等中心化软件,能打造出更为健全的交易底层架构,意味着只有对于该项目而言是完全必需的,我们才应该只使用分布式分类账本技术。
一个中心化趋势体现得更为明显的例子是,如Facebook或谷歌等现有的科技巨头,都使用具有大容量的储存单位艾克萨字节(Exabytes)来管理用户的数据。
尽管对于谷歌来说,对用户的交易流程实施去中心化也是不错的选择,但这样的区块链应用没有实际意义。这是因为在中心化的系统中,所有的信息都经过一个单独的节点,使得追踪信息更为容易。
在基础性质上,和去中心化系统、分布式账本技术相比,中心化系统在内部更具有内部的整合性和一致性,更能实现经济的规模化。事实上,好像Gmail等谷歌产品之所以能实现“智能垃圾邮件过滤”的功能,全因为谷歌能够轻松窥探到几乎每位用户的邮件。
3.信任化
在决定了中心化设置对于区块链应用案例是否重要之后,接下来至关重要的是需要弄清楚,出于系统运行情况和信任缺失的后果的考虑,我们需要提交信任的对象。
在中心化系统中,恶意攻击的行动将表现出不同的形式。一个中心化的权威机构不单止尝试对于现有的交易进行编辑修改,会出现隐瞒信息的现象,甚至还会在整个网络环境中提交报告反常交易,对具体实施具体具体交易的用户进行监管。如果出于某些刺激的因素,在现有系统中中心化机构采取了以上这些行动,我们就要考虑在应用案例中采取如引入区块链等安全措施。
但是如果在用户中,是否需要提交信任并不是一个显著的问题,那么在一个区块链项目中,我们可以仅简单起用一个分布式的数据库,在其中用户也持有一份数据的复制文件,并能随时上传信息或更新数据库的状态。如果没有对于拜占庭容错等区块链安全手段的需求,这样的设置将更为轻松的得到利用。
特别案例解析:公有链和需要授权的区块链(联盟链)
同样值得注意的是,应用一个区块链系统,是从中心化的数据库、分布式数据库和分布式账本技术里面的概念集合里受益的。
好像联盟链这样的需要授权的区块链,就是这样概念集合的体现,将中心化的用户授权机制和去中心化的区块链交易生态系统结合起来。这样的区块链拥有准许用户进入这个网络的权限,使得减少恶意攻击变为可能,同时还能够打造一个有别于传统公有链的区块链系统,不需要太多的容错机制和体现更为安全的性能。
这样的区块链结构缺点在于,和公有链相比,它的去信任化程度更低,用户仍然需要对这个组织机构和应用于全系统的共识机制提交信任。
摩根大通的“Quorum”即为这样一种需要授权的区块链应用案例。在其中,该公司通过减少对拜占庭容错算法的利用,赋能金融行业高速的交易性能(数十次到数百次每秒)。
4.去中介化
还有一样重要的考虑因素为,开发人员需要决定在交易系统中去中介化是否为必须的。
如果这个区块链解决方案是为了解决过多的中间商费用和确认交易所导致的时间延迟,区块链技术能加快这个优化的进程,削减所有用户在这方面的开销。
但如果对于整个交易系统,去中介化并非必不可少的,那么将验证交易的任务分配给一个中介商或者中心化机构将极大降低技术难度,因为无需在区块链网络上布置分布式的验证器。
# 5. 基于交易相互依赖的机制设计
在开始着手落地应用这个区块链应用案例前,需要思考最后一个问题:在系统中的交易是否是相互依赖而生成的。
交易依赖性这个特征在所有类型的数据库系统里都能发现,特别是在一个涉及多方参与或涉及资产、商品交易所的多用户系统中(如零售)。
如果每笔交易彼此之间没有发生交互关系,应用主从关系的数据库结构将会极大提高效率,其中主节点验证或批准一个确定的交易子集,而从属节点则负责执行工作。
但如果交易的确体现出来相互依赖的性质,在主要节点间分配交易将会变得相当困难,这种情况下,区块链是改变这样的集中化数据库的解决方案。
除此之外,区块链还能为用户的交易流程提供原子性能(数据库内部一致化的能力),确保相互依赖的交易能被立即执行,而不会发生被取消或在交易期间被篡改的情况。这也保证了在这样复杂的交易结构中,没有任何财富会被凭空产生或遭破坏。
原文发布时间为:2018-02-12
本文作者:吴阳煜
本文来源:雷锋网,如需转载请联系原作者。