不可否认,区块链技术的发展和进步,为资产托管产业链上的交易方式、组织方式和业务流程变革提供了新的技术支撑,使得大家对区块链热情高涨,但在畅想诸多可能的同时,却需要更为落地的设想。首当其冲就要设计合理的区块链应用架构,这需要对业务流程进行深入分析。笔者认为应从以下两方面入手:
首先,要确定业务流程中是否允许使用区块链。区块链最基本的特点是分布式去中心,若业务流程或数据存储上不允许去中心化,以及不符合法律合规要求,基于区块链对该业务流程的改造就无法进行。另外,若业务流程中只允许部分使用区块链技术,还需要进行合理拆解,并评估拆解后的业务流程和系统架构上的可行性。
其次,确定业务流程上是否真正需要区块链。可从以下三方面考虑,即改造对业务发展和操作流程的影响程度、系统改造的投入产出比以及前瞻性。第一,可结合区块链分布式去中心化、无须信任、不可篡改和加密安全性等特点进行分析。例如,去中心化的系统架构经常会导致人员组织架构、工作安排和工作内容的全面调整;无需信任的特点对于产业链上的业务交互方式和操作流程会产生较大影响,通常会减少某些岗位和简化部分流程;不可篡改和加密安全性则对于数据的审计提出了新的机遇和挑战。第二,由于现行大部分行业的系统架构均为中心化,且行业内或行业间系统和数据的关联性越来越紧密,对系统改造投入可能较高,投入产出比并不理想。第三,要看区块链在未来几年乃至更长时间在本行业或产业链应用前景是否乐观,还需关注本行业或本产业链内企业对该技术的关注程度和发展方向。
经过上述业务流程分析后,若决定采用区块链技术,就可以进行区块链选型,也包含两方面:首先,应根据业务流程中涉及关联方范围以及区块链可开放程度,确定区块链采取公有链、私有链还是联盟链。其次,区块链技术已形成多个主流区块链平台以及较为成熟的软件应用,可选择某个平台作为切入点(包括把区块链应用建立在已有的比特币、以太坊等区块链平台上),或综合其中一种或多种主流技术作为基础进行自建。
在选型完毕后,就可进行技术改造,主要着眼点是技术应用的细节:一是区块结构的确定。确定区块中的要素,是否需要在运行过程中对要素值进行更新,是否需要对交易数据和状态数据组织方式进行改造。二是确定是否需要改造链式结构。为了满足当前业务功能、性能等方面的需求,是否对链式结构进行改造或扩展。三是根据实际确定节点类型。在比特币区块链开始建立时,每个节点存储的数据是一样的,功能上只存在矿工节点和非矿工节点。但在实际业务应用中,往往涉及更多角色,且不同角色承担功能也不尽相同,这就需要更多节点类型。四是改造或重建共识机制。POW、POS、DPOS等共识机制大部分用于公有链,各有优缺点,在实际应用中,特别是私有链或联盟链中,常需要对以上共识机制进行改造,或采用自建的共识机制。五是构建完备的智能合约。智能合约可实现对资产的控制,在满足特定条件下把资产发送给特定接收方。智能合约相当于区块链世界里面的法律合同,约定了参与方的权利和义务。智能合约是否完备直接影响到应用场景的丰富程度。以太坊是具有图灵完备智能合约的开源区块链,从开发时效上考虑,笔者建议选择或参考实现以太坊智能合约实现机制。六是确定奖励机制的实现方式。当前公有区块链平台上的奖励机制通常通过平台上的加密数字货币来实现,若完成挖矿的节点,会奖励适当的加密数字货币,这种奖励机制是保证区块链上应用正常运行的关键。对于私有链和联盟链,可使用加密数字货币,也可使用其他的奖励或考核机制。