当前,区块链技术正在全球范围内蓬勃发展,并在许多行业得到了应用性探索。那么,什么是区块链呢?根据工信部于2016年发布的《中国区块链技术和应用发展白皮书》,区块链被定义为“分布式数据存储、点对点传输、共识机制、加密算法等多种计算机技术的集成应用”。
区块链最早的应用对象是比特币,但作为比特币底层技术的区块链的起源却并不始于比特币。早在比特币诞生以前,密码学、分布式计算、点对点网络、共识机制等技术和理论已经历了较长时间的积累。如1976年,惠特菲尔德·迪菲(Whitfield Diffie)和马丁·赫尔曼(Martin Hellman)发表了论文《密码学的新方向》 ,为整个密码学的发展指明了方向。1980年,拉尔夫·默克尔(Ralf Merkle)发明了Merkle-Tree的数据结构和算法,可以用来校验分布式网络中数据同步的正确性,该技术后来用于比特币,并逐渐成为区块同步校验的重要方式。1999—2001年,eDonkey和BitTorrent等分布式下载终端先后出现,从而奠定了P2P网络计算的基础。中本聪(Satoshi Nakamoto)于2009年1月3日在赫尔辛基的服务器上创建了第一份比特币开源代码;同日18时15分,他创建了第一个比特币区块。这一天被称为“创世日”,而这个区块也被称为“创世块”。
在结构上,区块链是在链式结构的助力下,将各个基本的储存单元(也即区块)基于产生的先后顺序相连的一种链式数据结构。其中,一个区块的结构可以分为区块头(Block Header)和区块体(Block Body),如图1-1所示。区块体是包含了一条条交易记录的数据库。如交易人A给交易人B转了一笔账,那么区块体就会记录交易人A和B,以及交易金额和时间等信息。这些信息就构成了一条交易记录。一个区块体会包含大量的交易记录,是真正存储数据的地方。
图1-1 区块的结构
区块头中的属性信息都是公共的,因此调用者可以很方便地调用相关区块的属性信息。但是,区块头的组成相对复杂,具体构成如下:
(1)哈希(Hash)值:当前区块的ID值。每个区块都有自己的唯一哈希值。
(2)父区块哈希(Pre Hash):上一个区块的哈希值。区块头中都会保存上一个区块的哈希值。
(3)版本(Version):该区块链系统的版本号。
(4)区块高度(Height):区块链系统中的区块序号。如第一个区块被称为创世区块,高度为0;第十个区块高度为9,这个表示产生顺序的序号就是“高度”。
(5)时间戳(Time Stamp):区块创建的时间。
(6)随机数(Nonce):一个从0开始、最大长度为32位的随机数。随机数与“挖矿”密不可分。挖矿,就是反复将随机数与当前网络规定的目标值做对比,如果小于目标值,则解题成功,从而获得记账权以及代币奖励。
(7)难度目标(Target Bits):“挖矿”成功与否的重要指标,它决定了矿工大约平均需要经过多少次运算才能产生一个合法的区块。
(8)默克尔(Merkle)根:在对每条交易信息进行哈希的基础上,对每两个哈希相加结果进行哈希,不断迭代直至最后只有一个哈希值,也即Merkle根。Merkle根连接区块体和区块头,主要用于维护账本校验数据的完整性和不可篡改性,并能在变动时快速定位变化的交易数据。
区块链具有去中心化、不可篡改、开放性、匿名性等关键技术特征。
去中心化 去中心化是在互联网的发展过程中逐渐形成的现象和结构特征。从结构上看,去中心化就意味着一个多元化的网络体系。不同节点彼此连接、制约,但并不受某一个中心节点的约束和管制。如传统的亚马逊、淘宝等都是一个中心化的网络平台,消费者和商家都必须依托于此。而随着时代的发展,传统中心化电商平台的推广成本将越来越高,这使得去中心化的微商、社交电商等不断崛起。平台只是推广的渠道,而不是立足的根本。区块链是一个去中心化的分布式数据库,网络中的每个节点可以进行平等、自由的数据交换。因此,与传统的数据库相比,区块链的去中心化的分布式数据库并不需要统一管理。这可以帮助实现透明、低成本、高安全性等益处,是区块链的优势所在。
不可篡改 不可篡改,其原理其实和微信群是一样的。我们都知道,微信群的聊天记录是不可篡改的。每个人手机上都会存有微信群中的聊天记录的完整备份。群内任何成员都不可能去修改别人手机上的聊天记录,只能修改自己的记录,即使是腾讯也不例外。而区块链与此类似,所有的交易记录都会保存在每个节点的数据库中,使得数据无法篡改。
开放性 开放性体现为账本的开放性(所有历史交易记录对链上合作伙伴公开)、组织的开放性(所有人都可以通过“挖矿”或购买的方式持有代币)和生态的开放性。区块链是去中心化的分布式数据库,所有的账本交易记录都对外公开。这充分体现了区块链的账本开放性。区块链的初创公司可以通过发放代币,在原有公司利益相关者的基础上进一步扩大参与者的范围。参与者基于对公司前景的判断,可以通过“挖矿”或者购买持有公司的代币。这充分体现了区块链的组织开放性。而开放的账本和开放的组织,最终的目的是构建一种开放的生态。在这种开放的生态下,效率会越来越高,价值传播会越来越容易。
匿名性 由于区块链各节点之间的数据交换遵循一定的算法逻辑,因此区块链网络中的数据交换可以基于加密的IP地址而非个人身份进行。以比特币为例,由于交易双方的地址被加密,因此在区块链网络上只能查到转账记录,而无法查到交易人的相关信息,从而保证了区块链的匿名性。
(1)公有链。
公有链中的节点可以随时加入或离开网络而不需要任何许可。公有链的应用主要是点对点的电子加密货币现金系统,如比特币等。另外,基于智能合约的以太坊也是公有链的应用之一。但是,比特币的区块链架构对区块链技术的应用场景拓展(除了加密货币外)非常有限。以太坊技术作为区块链2.0时代的代表,其作为可编程的分布式的基于智能合约和去中心化应用开发的基础设施的理念也确立起来。公有链为了激励全网节点维护整个网络,需要设计相应的激励机制予以保证。但由于激励机制的不完善,节点之间恶性竞争,争夺记账权,造成了巨大的资源浪费,效率低下。同时,公有链的交易记录信息是全网公开可见的,这对某些涉及商业机密的企业级应用而言,显然是不能满足其需求的;而企业数据的公开化也不符合有关数据保护的法律法规规定以及监管要求。因此,公有链与企业级应用差距较大。
(2)联盟链。
联盟链是针对特定群体建立起来的,因而设置了一定的准入机制,防止由于参差不齐的参与者的加入而导致整个网络产生利益诉求冲突以及效率低下等问题。联盟链在企业级层面得到了应用推广。联盟链的主要群体是商业协会、集团企业及其产业链上下游企业,以及银行、证券公司等金融机构。互联网时代,这些机构的办公信息化和互联网化程度非常高。区块链技术诞生以来,其去中心化、不可篡改等技术特征得到了这些机构的青睐,但当它们尝试使用以比特币为代表的公有链系统时,处理效率以及合规性等问题导致都不能满足自身的业务需求。在此背景下,符合这些机构自身发展诉求、适应行业特性的联盟链系统得以形成。
当前比较知名的联盟链系统是由Linux基金会主导的非营利性质的超级账本项目(Hyperledger)。该项目是旨在推动跨行业区块链技术的开发和普及应用的开源协作工程。基金会的领导方包括金融、供应链物流、制造业等领域的领导者。项目于2016年一经推出,就得到包括埃森哲、IBM、华为、三星等行业内领军企业的大力支持和推广应用。另外,如京东于2018年12月7日推出的拥有自主知识产权的JD Chain,也是2B端的联盟链服务系统,且应用场景十分广泛 。2020年,一场突如其来的新冠肺炎疫情席卷全球,给国内经济和广大人民的生活带来了巨大冲击。许多企业受疫情冲击出现了经营困难的局面。在此背景下,北京海淀区于2020年2月7日上线了基于区块链的中小企业供应链金融服务平台,区内企业可以把与市政府、区政府、区属国企等机构签订的采购合同上传到平台上进行确权认证,并凭借确权证明快速拿到贷款。这为将区块链技术应用于解决融资难题增加了新的渠道。
(3)私有链。
私有链一般只对单独的个人或实体企业开放。其应用场景一般是企业内部,如公司内部或者分公司的库存管理、各地数据的汇总统计、数据库管理、审计等,也可以用在政府的预算和执行等公众可以监督的领域。一些金融机构目前也倾向于使用私有链技术。如微众银行和华瑞银行两家民营银行于2016年率先将区块链技术应用于联合贷款业务中的备付金管理及对账流程,并搭载在核心产品“微粒贷”上 。
区块链一路走来,从主要用于数字货币领域,到面向各种企业级项目的落地应用。总体而言,区块链技术在企业级层面的应用有如下发展脉络:以私有链和联盟链的方式,企业建立自己的私有链系统;行业内和行业间的企业通过联盟链建立合作联盟,来解决行业利益分配问题。
为什么说区块链可以在供应链管理领域大展拳脚呢?下面,我们来看看现代供应链管理面临的挑战。