金融科技圈> 金融科技> 区块链> 文章页

没有套路 | 从无到有的区块链应用指南

摘要:目前市场上有两种不同类型的区块链架构:需要许可的和无需许可的,但实际情况要复杂得多。

来源:金融科技圈 日期:2018-09-18 14:23

500846565_wx

目前市场上有两种不同类型的区块链架构:需要许可的和无需许可的,但实际情况要复杂得多。理解区块链的架构和组件可以帮助团队在开发区块链项目时做出合适的选择。

区块链技术是一种建立在分布式账本基础上,按时间排序、不可撤销且签名加密的交易记录。每一笔交易记录都包含一个时间戳和对前一笔交易的链接。在目前的技术版本中,这些交易记录会被分组成块并依次添加到之前块组成的链中。由于交易信息都被保存在分布式帐本中,任何一个有权限的人都可以追溯任意一个成员的历史交易。

然而,现阶段还没有一种架构方法或实现方式与区块链开发相关联。这就造成信息和交易访问、透明度和使用的复杂性(参见图1)。与分类帐的体系架构和平台组件同样重要的是,使用不同的方法将这些架构基于企业、行业以及更广泛的生态系统要求组合起来。

如何基于实际组合区块链架构?

首先,核心平台架构需要从构建比特币区块链开始,因为所有后续方法的根源都是这个初始设计。虽然比特币技术堆栈不符合大多数企业的需要(主要是工作量证明共识算法的低效,以及缺少弹性和规模),但其中一些因素可以用在随后的非连接分布式分类帐架构中。

第二,企业需要承担和管理各种相互关联的、涉及核心区块链或分类帐平台范围外应用的交易流程。这就意味需要审查由其他因素组成的大规模解决方案架构,包括分析、报告和安全性,而这可能需要整合同一个行业甚至是不同行业的企业。

第三,商业平台的演变,以及市场生态系统的发展,意味着这些解决方案架构将需要在相互依赖的实体生态系统背景下进行拓展。

这些架构之上,是信任的叠加。这主要体现在不同的架构类型是如何被应用到商业案例中,并且通过这些案例的相互关联满足中心化和去中心化的要求(如公共网络和私有网络)。(有关不同架构部署类型的特性,请参见图6表格)

下文将从区块链平台架构的基本组件开始分析。为了便于分析和系统概述的目的,以下将使用区块链代替所有的分布式分类帐。

区块链平台架构的组件

分布式分类帐有多种架构形式,而区块链是这些架构形式中的一种。区块链是一种将交易记录分组成块并按顺序编译成一个长相关的数据链。然而这种架构方式也带来了一些问题。

区块链平台架构拥有多个组件(具体见图2)。对这些组件的实施和组装会根据应用和参与者的不同而不同。这些组件的复杂性从电子钱包到共识机制越来越高。而在代码设计和实施阶段的任何错误都将会给区块链平台的完整性带来持久的损害。

钱包:存储凭证和令牌

钱包是一个用来存储凭证和令牌(如加密货币)的用户库。尽管一些区块链捆绑了钱包,但钱包仍是一个外部系统,而不是核心系统的一部分。

目前有很多第三方的钱包 (一些是存储在本地节点的,一些是托管在云端的) 通过API生成区块链系统的交易。钱包是区块链系统的主界面,发起并接收网络上进行的价值交易加密记录。比特币捆绑的钱包被认为是一个提供了基本功能的单一界面,还有很大的改进余地,并且有很多第三方正在寻求这样做。

网络节点

网络节点是对等网络中运行比特币客户端程序并参与交易的计算机。比特币客户端程序类似于万维网中实现了HTTP核心协议的浏览器和服务器端程序。

在比特币栈中,每个节点都维护了一个包含两个列表的相同数据存储。第一个列表是区块链,这个区块链包含了通过认证的和已经完成的交易的记录。在目前的区块链平台上,这些交易都是被加密签名的,并且被连接到一个包含有很多块的链式数据结构上。

这条链在所有节点都是一致的,并且这个数据集表示不可变的已完成的历史交易。这些节点确保了所有节点上的数据都是“最终一致”——也就是说所有节点都有这些交易。

而第二个列表是指由钱包发起并通过网络验证的交易。节点间以一种比整个区块链更柔性的方式来共享这些已发起的交易集 (在比特币中被称作矿池) .

根据协议,每笔交易可以决定是否需要承担费用。由于矿工们更青睐高价值的交易,所以这些高费用的交易比那些低费用的交易更优先被传播和处理。

矿工理论

矿工理论上是与一个单一的网络节点相关联。但随着时间的推移,一个虚拟的网络节点后面会有一组矿工。“挖矿”几乎是比特币中的一个专有术语,是指比特币栈中的动态对等节点如何最终达成共识,以合作的方式而不是依赖于一个中心化的机构来确定最终记录的流程。

目前有多种不同的方式达成共识。最原始也是目前使用在比特币栈中方法叫工作量证明,有时也被称为“Nakamoto共识”。

在工作量证明方法中,矿工将来自网络上的交易打包成块。每一个矿工然后与其它矿工进行竞争,计算出一个由交易内容决定并包含一个随机数的结果值。这个值对任何一个矿工来说都很难计算出来,也是不可预测的,并且矿工也必须要将这个结果值记录到帐本中。

如果一个块被添加到其中一个分类帐的副本上,将会通过网络进行传播。通常只会产生一个这样的区块。然而有时候会有不止一个矿工计算出满足参数要求的结果,这时将会有两个版本的结果 (暂时性的) 产生——数据分叉。

这种不一致性会随着新块的添加而得到解决,这是因为比特币鼓励矿工把新生成的块加入到最长的链上。而更短的链将会被丢弃,其上面的交易将会在最新的链上进行重新确认。最终获胜的矿工将获得奖励(该奖励将会随着时间的推移而减少,目前是12.5比特币,大约相当于12225美元)。

共识机制

共识机制目前被其他区块链平台用来与比特币进行竞争或者是寻求替代比特币,因为比特币在扩展性、灵活性、保密性、可编程性以及监管上存在局限。目前下一代的区块链正在研发新的、更易扩展和更有效的方法来实现在对等网络中实现共识。

私有链更是选择了一种更高效但只能在节点很少的网络中使用的分布式同步算法,包括拜占庭容错算法(PBFT),Raft, Paxos以及这些算法的变种。

如何选择区块链实施平台?

区块链的代码看似简单,但在实施的过程中却有很多风险。在实施过程中的任何错误所造成的成本都是昂贵的,包括平台层面和解决方案层面的错误。因为这些错误一般很难被发现,直到引起严重问题的时候才会被发现。

在进行平台选型的时候,对比特币系统 (目前已经被公众验证,但在扩展性和灵活性上有明显不足) 和以太坊 (在可编程性上更强大,而且已经接受了公众的验证,很有潜力) 的详细了解和评估是必须的。

还有其它的平台,包括IBM的超级帐本项目Fabric,MultiChain, Monax(eris), Ripple和Chain,以及一些其它的联盟或独立组织的平台。由于目前的区块链平台都极其不成熟,因此企业在选择平台做决策的时候必须要十分谨慎。

解决方案架构

解决方案架构(SA)是某个特定解决方案的架构描述。解决方案结构结合了不同企业架构观点(业务、信息和技术的)和企业解决方案架构(ESA)的指导。一般从两个方面对核心平台架构进行展开。

第一,他们将共有网络(无需许可)和私有网络(需要许可)的概念从操作的角度进行了具体化。

第二,他们包含了区块链的应用和/或非区块链的应用,区块链相关的应用如运行在智能合约上的分布式应用,非区块链的应用如传统的商业智能和报表工具(见图3)。

这些应用程序可以被包含在传统的企业技术栈中,或包含在传统的企业技术栈外,或是通过其它参与者介入网络的企业的边缘。

从信任的角度看公有部署还是私有部署问题是至关重要的。稍后将会解释不同的实施类型。随着区块链实施的发展,结构化部署将不仅仅跨单个实体和行业,还将会跨多个市场生态系统。这将极大的促进多边市场模型的建立(见图4)。

生态系统架构

随着数字业务的成熟,对满足跨商业生态系统且内在关联的人、设备、物和组织的数量增长的需求将会越来越多(见图5)。而区块链和分布式分类帐将通过减少实体间的摩擦、降低成本来放大这种需求。

除此之外,本地数字资产的创建和智能合约这两个额外的关键因素也为区块链和分布式分类帐放大这种需求提供了基础。这两个额外因素的引入作为可编程经济的先驱将会继续引领一系列使用不同交易方式的全新市场。

要使这些生态系统得到发展和扩展,生态系统架构必须要容纳更高层次区块链的互操作性。目前一些项目正在从事这样的工作,如Ripple的interledger项目,WC3研讨会以及其它联盟的倡议。然而,对于技术和信息标准化的推进还有很多工作需要做。国际标准化组织和国际机构间贸易安全协会是解决这些问题的众多既定组织中的两个。

在不同发展阶段,区块链的实施类型不同

上文提到的这些结构的实施类型可以被应用到不同的模式中。

1、无需许可的公共分类帐 (公有链):如区块链或以太坊任何一个未知的货不被信任的用户都可以访问帐本,并且这些用户也能够发起交易。这些系统包含有很多不被信任的矿工或验证者。

2、需要许可的公共分类帐 (单个或多个行业,联盟链) :如Ripper, R3的Corda,超级帐本的Fabric——代表一个联盟的利益,但仅很少有权限的参与者才能访问。这些系统有多个可信任的矿工或验证者。

3、需要许可的私有分类帐 (私有链) :如Chain, BankChain, Setl或Domus Tower——只能完全由一个指定机构中已知或可信任的参与者进行操作,如财务部门和政府结构,并且只能由该机构控制访问权限和发起交易。这些系统包含有一个或多个可信任的矿工。

有些公司 (比如财务服务公司) 也会对一些分类帐的原始代码进行修改从而实现某个特定的目的,比如以太坊或Fabric的代码。而绝大数的这些开发都是针对许可环境的。

企业是否真的需要部署区块链?

目前市面上的分布式分类帐和区块链项目都仍然处在早期Alpha或Beta阶段。当前包含令牌、数据和可执行程序的版本都允许进行客户化的概念证明(POC)的开发。目前这些生态系统的价值已经被察觉到。

例如,ING银行宣布他们在8月份完成了一个POC,该项目可以将合规成本降低10%到15%,而能将银行收入提高15%.然而人们仍然对技术、初创公司、安全性(软件和硬件)、扩展性、合法性和互操作性存在担忧。

在可预见的未来,该技术将会继续发展,并且多个分类帐模型将会持续存在。其中重要的一点就是区块链的实施不需要立即切换到公有模式。这种简化降低了在刚开始部署时的风险。企业也必须要考虑清楚是否真的需要开发和部署区块链,而这需要对已有技术方案进行仔细分析并判断是否满足特定的业务实例。

如何规划区块链的实施

基于案例特性和企业环境,区块链的价值可以在增量的实施中得到体现。在图6中跨类别实施是一个非常实用的方法。随着实施的成熟,允许对数据结构和业务协议进行修改,而大的风险在于切换到多矿工或多验证者模式。多一个验证机制的存在 (或者是链受到了损害,如2016年夏天DAO的黑客攻击事件),就会出现冲突块的创建、记录分叉和相当大的潜在补救成本的风险。

关注中国IDC圈官方微信:idc-quan 我们将定期推送IDC产业最新资讯

查看心情排行你看到此篇文章的感受是:


  • 支持

  • 高兴

  • 震惊

  • 愤怒

  • 无聊

  • 无奈

  • 谎言

  • 枪稿

  • 不解

  • 标题党

热点文章