区块链提供一种新的数据组织和访问模式,各参与者原来委托中心节点来代管数据,变成一个共享网络下自己管理数据模式,各商业银行需要深入洞察、了解这一技术变化,才能更好地进行业务上的创新工作,对此新技术需要保持持续跟踪,充分了解新技术可能带来的业务变化,抢占创新制高点。
当前,区块链技术已经成为金融行业技术革新的热点词汇,它被认为是一种类似互联网的颠覆式技术创新,有望重塑人类社会的活动形态。本文拟从商业银行系统建设者角度来审视解读区块链技术,通过深入剖析新技术的功能特点,从更实际的角度来应用区块链技术。
一、区块链技术来源
要了解区块链对银行能带来什么变化,我们首先要了解区块链技术的来源,深刻洞察和掌握该技术的特点,方能了解它对业务的影响力。
区块链技术起源于中本聪发起的无主权国家发行的电子货币“比特币”基础技术,它是基于对等网络,采用链式数据结构和密码学技术,实现分布式一致性的共享账本数据库。
比特币使用整个P2P网络中众多节点构成的分布式数据库来确认、记录所有的交易行为,并使用密码学的设计来认证数据的拥有者和第三方确认验证交易合法性。该账本数据库存放在互联网的各个比特币网络节点上,每个节点都有一份完整的备份,记录着自比特币诞生以来的所有比特币转账交易明细,每一个人都可以加入网络成为节点。各个区块之间通过随机散列(也称哈希算法)实现链接(Chain),后一个区块包含前一个区块的哈希值,随着信息交流的扩大,一个区块与一个区块相继接续,形成链状结构。当要发起一笔比特币交易时,只需把交易信息广播到P2P网络中,矿工把交易信息记录成一个新的区块连接到区块链上,最后交易完成。
区块链技术正是比特币的核心和底层技术,而以比特币为代表的数字货币则是区块链技术迄今为止最广泛、最成功的运用。区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式确保数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。
二、区块链技术特点的大白话解读
区块链技术在比特币的应用上大放光彩之后,技术界人士对此技术的应用又进行了广泛的研究和继承,针对比特币技术在数据脚本运行、共识机制、节点管控方面纷纷进行优化改造,提升效率以适应更多的应用场景,在保留区块链技术特点的基础上,发展出带有智能合约概念的新技术路线,并且各自发展出以太坊(Ethereum)和超级账本(Hyperledger)Fabric两大主流技术框架。面对区块链特有的去中心、共识机制、不可篡改、可追溯、分布式共享账本等新业务概念,银行技术从业人员会存在许多疑问。下面拟从银行技术层面作一个简单技术分析和解读。
(1)何为去中心化?笔者认为更多的是参与者之间信息交互的去中心化,随着联盟链等的提出,现在更是一技术上去中心的概念,区块链网络由各个节点组成,每个参与方节点上的数据和功能一致,组成分布式数据库,数据包括各参与方的数据,各节点的数据是一样的,无中心数据节点。
(2)何为分布式账本数据库?这里的账本数据库,在比特币技术框架下我们可以简单理解为所有的转账明细,每项转账明细(包括转入转出方信息)在区块链数据库中存在是否被引用消费的信息状态,所有没有使用的交易明细则组成了这个货币系统的所有货币余额和当前拥有者,拥有者的变化通过转帐交易明细来体现,区块链上的明细记录存在已使用和未使用两种状态。货币的产生通过新的区块链追加(矿工挖矿)来派生出来。
(3)分布式数据库的更新如何确保一致性问题?主要由共识机制(底层架构包中某基础应用模块)来完成,该共识机制可以保证数据有序串行更新,并且满足效率和公正性,所有节点都遵循一种机制,所以确保了数据的一致性和分布性,共识机制算法有多种,比特币采用的工作量证明算法POW(挖矿),此外还有POS(股权证明算法)、DPOS(股权授权证明算法)、PBFT(拜占庭容错算法)、RAFT等,每一个比特币项目都是只采用一种共识机制,一旦运行,中间不可更换。根据共识机制和节点管理的不同,区块链技术可以区分共有链、联盟链、私有链等模式。
(4)如何保证数据记录的不可更改性?采用链式数据结构,其中包含了密码学内容,通过对区块链数据里面交易数据层层加密和块与块之间关联,把整个算法也存储在数据结构里,数据与数据之间有逻辑校验关系(Hash算法),修改链上任何历史数据会导致整个Hash值变异,校验通不过,脏节点数据会被丢弃并从周边节点导入正确的区块链数据。
(5)如何保证数据记录明细的访问更新和使用人不错乱?由于数据库在本地公开,很容易出现不法分子想仿造一笔交易从他人账户转帐到自己账户的情况,区块链通过区块数据结构的设计来杜绝此种情况的发生,这是因为记录明细的数据结构里包括了拥有者的密码学脚本,对该明细使用时任意发起交易的节点的脚本系统都要验证此数据,只有交易中包括拥有者的私钥签名信息,才可以进行此次交易。而一旦被正确引用,该明细的余额就转移到下一个交易明细里,该明细就失去了余额价值。对数据的使用不需要通过一个中介机构来保存和发起,这正是去中心化逻辑的一个技术基础。
(6)区块链数据库与普通关系型数据库有什么主要差别?区块链数据库记录是顺序串行异步更新的,对数据的访问不通过删除修改功能,通过新增记录来达到对原记录状态的更新。
(7)区块链系统的构成是怎样的?简单说,区块链系统就是每一个节点上部署有一个应用(区块链底层平台程序包)+区块链数据库;各节点都是一模一样的,通过这个框架应用包提供的接口来访问或提交交易插入数据库。各参与者一般有自己的应用前置系统运行主要业务逻辑,区块链系统则提供一个数据库功能。比如比特币钱包就是这样一个外围系统来访问比特币区块链系统。大家也可以根据区块链平台框架的接口功能封装自己的各类钱包系统。在现实应用中,人们都可以使用各家不同的比特币钱包前置来访问比特币网络。
(8)区块链系统是怎样更新的?区块链节点上的应用包和数据是怎么初始化和更新的呢,区块链节点的应用包主要是区块链底层框架功能,包括脚本运行、共识算法、安全机制、存储访问、网络协议等各种系统基础功能,根据区块链项目的不同,可采用不同的技术框架,目前主流有三种:一是比特币技术特点的,另外是衍生出带有智能合约的技术框架,二是以太坊(Ethereum),三是超级账本(Hyperledger)Fabric,系统版本可从项目指定的网上开源社区里下载获取或在联盟链里管理节点获取;底层框架包版本同时包括自动升级机制,由管理各项目的区块链联盟发布许可;各节点的数据是根据加入网络后,通过底层框架的P2P协议向周边节点复制区块链数据。各节点可通过外部APP(一般前置系统)提交交易到节点上的区块链系统,由区块链节点上的交易处理模块提交到区块链网络上,并根据共识机制顺序更新到链上。交易的确认可通过访问区块链的更新长度来认可,一般通过查询区块链数据,发现原交易的区块链数据后面又更新了6个以上区块,基本确认交易正式写入数据库,存在不可篡改的情况。
(9)如何理解智能合约?在比特币区块链技术框架上,最开始是由每一个节点上固定功能的脚本系统来验证处理交易数据,存放在链上的交易数据中暗含了使用等逻辑功能,该逻辑功能比较简单有限。在智能合约的框架下,智能合约可以简单理解为我们开发一个功能函数,放在区块链上,并且可由参与者来定制该功能,数据访问通过该接口功能来访问链上数据,区块链技术就单纯从分布式数据库进化成一个分布式数据库系统。智能合约就相当于是各参与者把接口功能公布在一个共享网络上,类似于一个集中式系统,将各参与者的交互功能后,其中心系统的概念也即不存在了。
三、商业银行对区块链技术的应用认知
首先,区块链是一个技术概念,一种新型的数据库系统构建技术,就像对账户数据的存访组织方式从读写文件到读写关系型数据库一样,区块链提供一种新的数据组织和访问模式,各参与者原来委托中心节点来代管数据,变成一个共享网络下自己管理数据模式,各商业银行需要深入洞察、了解这一技术变化,才能更好地进行业务上的创新工作,对此新技术需要保持持续跟踪,充分了解新技术可能带来的业务变化,抢占创新制高点。从理论上来讲,区块链技术能适用与大部分银行业务应用场景,主要采用联盟链架构,可广泛应用于跨境清算、数字票据、数字货币、慈善公益、积分兑换、数字资产登记、电子合同等跨组织信息处理流程。其次,区块链技术在快速发展更新中,目前它本身也存在许多不成熟的地方,市场上底层框架多,一旦确定选用某个技术框架,中间就没有回退路径,项目不能在不同框架之间进行切换,推倒重来要取得所有参与者的一致认可。
从深入观察深圳市科技金融联盟的几个区块链探索课题项目情况来看,区块链技术对业务的影响并没有像各类咨询师说的那样大,目前也不需要担心太多,国内外都处于探索阶段,能真正产生效益的尚未出现,颠覆式的应用场景尚较难落地。例如招商银行的区块链跨境报文交换系统,也只是在招行集团内机构使用,用区块链网络以取代原来各节点之间的直联报文通讯系统,对用户的交付功能是没有发生变化,看起来更多的是一个技术改造项目。微众银行的联合贷区块链项目,也是在原系统中把交易数据旁路分发到区块链上,以供各合作银行在各自节点上能准实时查询和对账,取消双方对账逻辑。区块链技术的真正有效应用任重而道远。
责任编辑:王超
免责声明:
中国电子银行网发布的专栏、投稿以及征文相关文章,其文字、图片、视频均来源于作者投稿或转载自相关作品方;如涉及未经许可使用作品的问题,请您优先联系我们(联系邮箱:cebnet@cfca.com.cn,电话:400-880-9888),我们会第一时间核实,谢谢配合。