开源技术 * IBM 微讲堂:Kubeflow 系列(观看回放 | 下载讲义) 了解详情

通过 IBM Blockchain Platform 开发、治理和运营您的业务网络

区块链是一种变革性的技术,它可以节省时间、降低成本、降低风险和支持新的业务模式,从而帮助推动实现跨行业的业务价值。

例如,IBM 全球融资部是世界上最大的科技融资机构之一,在 60 多个国家或地区拥有 125,000 多位客户,有超过 4,000 家合作伙伴和供应商。提供利用区块链技术,IBM 已经释放了 1 亿美元的资金,而在以前,这些资金往往都用在了解决交易纠纷上。

区块链价值

任何网络中的协作者(供应商、消费者、合作伙伴等)都需要共享数据来开展业务。举一个简单的例子,假设有一个零售店:采购计算机配件的零售店会记下与供应商之间的采购订单,同时会在零售店的数据库中记录采购订单和资金转账。供应商发货,在供应商数据库记录货品已经发货,同时记录货物的收款。

在这种情况下,供应商零售店在各自的单独数据库中都有自己的数据。如果出现问题(例如,已发出的货物没有到达),零售店该如何跟踪配件的位置?目前来说,他们必须依靠独立的记录来验证所发生的事情,并浏览快递线路图以确定货品的最终位置。这种手动过程耗时且容易出错。

区块链的革命性之处在于,它允许用一个去中心化的、不可篡改的账本来记录每一笔交易。这个账本的特征是去中心化和共享:网络中的每个成员都有一个账本的副本(在我们的示例中,零售店和供应商拥有相同的副本)。同时,该账本不可篡改:每笔交易由多个参与方签名,并由区块散列链(表示每个数据块的内容)进行保护。因此,如果某个流氓组织试图篡改账本中的数据,就很容易被发现。

在我们的零售店情景中,货品由一家卡车运输公司提货,送到港口,装船,到达港口,最后用卡车送到零售店。当货品到达特定位置时,该货品、日期和位置将记录在区块链账本中。因此,当货品在快递线路图中移动时,账本将包含货品的日期和位置的详细记录。如果货品没有到达,零售店和供应商都可以查看账本,其中记录了所有信息。然后,零售店和供应商可以确定货品目前所在的位置,因为所有到达点都记录在账本中,无法删除或变更。

如果拥有共享的、无法篡改的账本,公司可以大幅缩短解决纠纷、查找信息和核实交易所花费的时间,从而加快解决问题的速度。此外,成本也会削减,原因有两个,首先是不需要中央治理主体或仲裁机构来解决纠纷,其次是共享账本支持自动完成效率低下的流程。考虑到区块链技术的安全性和透明性,最大程度降低了串谋和篡改的可能性,因此也降低了安全风险。

什么是 IBM Blockchain Platform

IBM Blockchain Platform 是首个利用 Hyperledger 技术的商用平台,Hyperledger 是由 Linux 基金会主导的全球性、开源协作项目。

IBM 是 Hyperledger 社区的共同创始人和高级成员,也是 Hyperledger Fabric 开源项目的积极技术贡献者。在商用许可区块链的标准化方面,该项目即将实现重大进展。虽然 IBM 为 Hyperledger Fabric 代码库做出了重大贡献,但贡献者的生态系统已经发展壮大,包括来自初创公司和大型企业的开发者。来自 27 个组织的 159 名工程师为 Hyperledger Fabric 的首次发布作出了贡献。

IBM Blockchain Platform 是唯一一个托管型软件即服务平台,支持和指导用户完成启动区块链网络的所有必要阶段:在预生产环境中构建和测试概念验证应用程序,激活生产网络,为网络成员建立灵活的治理策略,并以最高安全和性能水平管理日常运营。

IBM Blockchain Platform 反映了 IBM 与 400 多个客户合作以及为企业长期运行多个生产区块链网络的经验。自 2016 年以来,IBM Blockchain Platform 上一直运行着一些活跃的区块链网络,比如沃尔玛的 Food Safety、北方信托的 Private Equity Fund Administration、SecureKey 的 Trusted Identity Exchange 和 Everledger 的 Luxury Good Exchange 等。

对于跨多个公司的分散式网络或者构成一个业务生态系统的多家机构来说,IBM Blockchain Platform 可以简化其开发、治理和运营。它让所有成员能够迅速实现一个共同目标:激活和协同治理其网络,这样,成员们就可以继续开展业务交易,实现创新以及创造价值。

助力平台发展的开源技术

可以将 Hyperledger Fabric 看作是为 IBM Blockchain Platform 提供助力的“操作系统”。Hyperledger Fabric 是一个在许可网络上建立分布式账本解决方案的框架,这个网络中的成员彼此熟悉。它的模块化架构有助于建立一个灵活的信任模型,最大限度提高性能和可扩展性,同时为支持所需的标准(例如成员资格和加密)打通了道路。

网络可扩展性和性能得到了优化(因为只有小部分节点需要参与交易背书),同时降低了未能达成共识的概率,因为参与交易处理的签署者和提交者仅限于一个渠道中的成员。Hyperledger Fabric v1.0 中引入了各种渠道,这有助于确保数据仅传递给需要知道的相关方,为必须尽力保护的数据提供了数据隔离功能。

这样做还增加了信任,因为每个链代码都可以指定它信任的一组选定的签署者和提交者来执行每次特定的交易。(链代码也称为智能合约,是封装用于创建和修改资产的业务逻辑和交易指令的软件。)借助 IBM Blockchain Platform,拥有正确许可的用户能轻松为各个渠道安装和实例化链代码,并查看他们参与的渠道中包含的成员。得到正确授权的用户能调用链代码,创建新通道,甚至根据既定的区块链网络策略来更新渠道的访问权。

可以设置并实施要求在组织内外的成员或管理员间达成一致的策略,以授予渠道访问权,实例化链代码,调用链代码,提交交易,重新配置参与组织的成员凭证,升级链代码,甚至修改现有策略。此外,获得正确授权的审计人员也能轻松审计与某次资产转移相关的一些交易内容,从而确保业务逻辑得到正确应用。(注意,链代码哈希值已提交到区块链,所以背书人已与他们执行的交易绑定。)

链代码在一个与需要和它交互的任何对等节点有关联的安全容器中运行。链代码首先安装在一个将参与交换资产状态的对等节点的文件系统上。然后在包含一组成员的特定渠道上被实例化。每个渠道表示一个成员子集,这些成员有权查看在该渠道上实例化的链代码数据。通过仅对一组背书人和提交者而不是对所有节点执行信任模型,可以基于业务逻辑本身来执行与每个链代码有关联的信任模型。

如果您不在某个渠道上,则无法查看其中的数据。每个渠道都有一个唯一账本,用户必须经过合适的身份验证,才能对该渠道的这部分数据执行读/写操作。可为多个渠道设置许可成员名单。通过 IBM Blockchain Platform 的服务治理功能和用户界面,可以更轻松地管理链代码的安装和实例化,以及成员对渠道的参与。Hyperledger Fabric 还允许对应用层加密,同时仅限该应用程序信任的少数经过合适授权的背书人访问解密密钥。此功能演示了业务逻辑信任模型如何帮助确保密钥的机密性。

让我们看看 IBM Blockchain Platform 如何通过独特方式简化开发、治理和运行,从而加速整个网络的激活和协作式治理。

使用灵活的工具和服务进行开发

区块链网络源自创新性的商业理念,应用程序开发者将这些理念转变成了实用的代码。借助 IBM Blockchain Platform,开发者能利用流行的语言和框架,以极快的速度将业务和技术需求转换为实用的区块链应用程序。

开发者可以立即开始构建区块链概念验证应用程序,这要归功于该平台中全面集成的一系列开放式高级开发工具和热门服务:

刚接触区块链的开发者可以使用综合的示例和教程来学习关键的区块链概念,创建网络定义,并探索可重用的行业模型。业务建模语言和 JavaScript 业务逻辑“强强联合”,让应用程序开发者能够迅速成为区块链开发者。

此外,开发者在网络治理和运营方面获得的宝贵技能将无缝地转移到企业计划,以便部署到完整的生产网络中。Starter Plan 提供了与 Enterprise 计划相同的体验,所以迁移到生产网络中时没有学习曲线。

通用开发工具

有了 IBM Blockchain Platform 工具集,开发者只需要了解 JavaScript,而且只需几分钟即可使用 Hyperledger Fabric 建立一个正常运行的区块链网络。该工具集独特的软件设计方法允许业务人员和开发者以协作方式编写代码,确保业务概念的快速交付和完全忠实。

开发者可以通过以下方式快速地建立业务网络的模型:指定业务网络的资产(无论是有形的还是无形的货物、服务或财产);交易的类型和用于管理与资产交互的交易的规则(也许是买卖资产);以及与可能具有唯一身份的资产和交易进行交互的参与者。有了资产、交易和参与者这三个简单概念,开发者就可以快速创建真正的业务应用程序。开发者可以使用查询返回有关世界状态的数据。例如,您可以依据某个条件选择一个资产或参与者,然后可以对一组结果执行操作。

为了让开发变得更容易,该工具集集成了大部分 JavaScript 框架,允许开发者完成一个包含用户界面 (angular.js) 并连接到外部数据源 (loopback) 的区块链项目。该工具集为关键行业用例提供了预构建的链代码和可扩展模板。该工具集还利用 Node-RED 来集成 IoT、TCP、Web 套接字和其他现代接口,以及 IBM Integration Bus 等企业级集成工具,支持开发者集成 SAP 和 CICS 等外部系统,在区块链上添加和删除数据。

通过民主的集成式管理工具进行治理

确定如何通过共享账本对区块链网络中的所有参与成员提供一定的控制权,同时预防任何成员拥有独占的控制权,这是一大挑战,而这一挑战往往被忽略和低估。治理跨一组成员的运营式区块链网络可能需要大量的协调工作、时间和精力。适当的网络治理的最终目的是确保法规合规,消除应用业务规则(以智能合约或链代码编码)的不确定性和风险,为不同类别的交易(在渠道中受保护)提供隐私和机密性,并防止不良参与者加入网络。生态系统必须克服以下事实:它的牢固性取决于最薄弱的成员,速度取决于最慢的成员,富裕程度取决于最贫穷的成员(他们可能很难获得资助),安全性取决于最不安全的成员,智能程度取决于消息最闭塞的成员。

您可能认为启动一个企业级区块链网络是一个非常复杂的过程,需要大量信息和协调来设置硬件和软件。您的想法是正确的!设置网络中的所有证书、网络的成员和所需的治理非常复杂,但 IBM Blockchain Platform 简化了这一过程。只需几分钟,就可以激活一个区块链网络,邀请参与者加入该网络,添加新渠道,并设置网络的操作规则。激活工具允许您从小规模网络开始,并随着所需成员的增多而灵活扩展。

IBM Blockchain Platform 还提供了治理工具,帮助成员民主地运行分布式网络。作为治理策略的一个示例,成员可能希望设置规则来确定成员如何加入网络。另一个成员的加入是否要经过所有成员的同意?50% 的成员能否决定让某个成员加入网络?网络治理就体现在类似这样的治理策略中。IBM Blockchain Platform 中提供了一个策略编辑器来帮助为区块链网络的无数生命周期任务设置民主策略。

基于这个治理工具和有关谁拥有合适访问权的策略,还提供了资源屏幕来帮助管理证书颁发机构、对等节点和订购服务的资源。例如,在资源屏幕中,拥有相应权限的成员能够访问日志,这可能有助于调试特定渠道上的区块链应用程序。另外,策略编辑器是一个多方工作流工具,提供了成员活动面板、集成式通知和用于策略投票的安全签名集合等特性。

运行永续运营的安全网络

使用 IBM Blockchain Platform 激活网络后,您就可以使用针对性能而优化的生产就绪的、安全强化的、始终在线的服务来部署和运行去中心化网络。它的超高安全性环境包括许多硬件、固件和软件安全功能,旨在实现良好的可扩展性、连续性和可用性。

IBM Blockchain Platform 的运行可通过提供原生的连续性来确保正常运行时间,使架构能够消除单点故障,并向区块链网络增添了冗余。例如,订购服务需要能够容忍崩溃错误;并且可以为每个成员自动提供两个对等节点来实现高可用性。此外,在发生灾难性故障时,可以使用特殊技术来备份整个环境。

IBM Blockchain Platform 在多个隔离环境中使用专用的资源来管理背书者、订购服务和提交者。对等节点之间的通信是通过一个高速网络进行的,其中的通信是高度安全的,不会泄漏数据。此外,得益于高级加密技术,通信速度有所提高,哈希运算、加密和数字签名方面的操作性能也有所提高。

24/7 式全天候提供综合技术支持,以防成员在继续验证该技术和扩展联盟时遇到问题。此外,仪表板监视器提供了内置的监控和支持,以简化资产生命周期管理。网络成员可以看到区块链环境的概述,包括对等节点、日志、账本状态、渠道和链代码的信息。这使您能随时管理网络并了解资产状态。而且因为 IBM Blockchain Platform 是一个管理服务,所以会自动在所有网络组件上应用底层 Hyperledger Fabric 的无缝版本更新。

安全设计

根据 IBM 运行数百个生产区块链环境的经验,安全性是许多行业都需要保证的最关键要素之一。因此,IBM Blockchain Platform 已经经过了加固,并由外部公司进行了安全性测试,确保所有数据都得到适当的保护和管理,并且基础架构是可靠且经过安全验证的。

IBM Blockchain Platform 在一个隔离的、高度安全的环境中运行。嵌入式操作系统和所有 Fabric 组件是在多个安全服务容器 (SSC) 中运行。安全服务容器提供了高级加密算法、安全性和可靠性,它将操作系统与一个安全引导容器封装在一起,加密设备磁盘,提供篡改保护,并保护内容。可以将它配置为与 EAL5 兼容并获得其认证。所有这些功能有助于保护高度敏感的、受管制的数据。

针对 IBM Blockchain Platform,已经基于安全服务容器创建了一个虚拟设备。在这个设备中,数据访问受到控制,而且禁止访问嵌入式操作系统。固件禁止访问内存,以预防数据被转储。该设备通过一个安全引导架构来引导,确保代码未被篡改。所有设备镜像都经过签名和加密。该设备仅在内存中解密,而且加密密钥通过硬件和固件方式进行保护,所以管理员无法获得它们。管理员(包括服务管理员)无法访问或修改链代码、背书者、订购服务、提交者或区块链网络。

除了这些功能之外,HSM(硬件安全模块)还保护并管理着数字密钥,以实现强身份验证。Hyperledger Fabric 提供了经过修改和未经修改的 PKCS11 来生成密钥,这支持处理各种情况,比如需要更多保护的身份管理。对于处理身份管理的场景,HSM 增加了对密钥和敏感数据的保护。IBM Blockchain Platform 支持 HSM,具有最高 FIPS 级别的合规性。

后续步骤

本文翻译自:Develop, govern, and operate your business network with the IBM Blockchain Platform(2018-03-18)