密码工程的创新—区块链

2018-02-19 03:04王现方贾音彭真黄征
信息安全与通信保密 2018年5期
关键词:共识密码区块

王现方 ,贾音 ,彭真 ,黄征 ,2

(1.卫士通摩石实验室,北京 100070)(2.上海交通大学,上海 200240)

1 初识区块链

近几年来,“区块链”频繁出现在各大媒体、学术报告和网络热评热搜上,吸引了学术界、工业界、投资机构等各行业人士的关注。

区块链这一新技术起源于比特币的发明,并抽象升华成为一种关键技术手段。通俗地讲,区块链是一种全民记账的技术,即分布式账本。在区块链技术中,一连串的数据块通过密码学的方法产生并被关联成一条链,每一个数据块记录了特定时间内全网的若干交易。

广义地理解,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。可以说,区块链是密码工程的创新,密码技术是建立区块链信任机制的核心。

区块链按照开放程度不同可分为公有链、私有链和联盟链。不同类别的区块链有着各自不同的应用场景。公有链是一个开放给所有互联网用户的去中心化分布式账本,典型的代表有比特币[1]、以太坊[2]等。私有链是由一个实体控制,被严格限制在特定范围之内,仅对实体内部开放的账本技术。而联盟链介于两者之间,适度的对外开放,授予权限的节点才可加入到联盟链。

2 区块链的技术特点和优势

区块链的出现间接推动了传统技术的创新和应用。比如,在分布式系统中保持数据一致性是很有挑战性的一个问题。计算机科学研究中的共识机制(Consensus Mechanism)是用于分布式系统之间就某个数据值达成一致的过程。共识机制在许多现实的分布式系统中,例如,Google的网页排名,负载平衡,智能电网和无人机控制,有着广泛的应用。区块链的出现,对传统的共识机制开辟了新的应用场景,但同时也提出了新的要求。相对于传统的共识机制,区块链中所要求的共识机制的特点包括:

(1)安全要求高:区块链记录的是敏感数据(如公证信息,交易记录等),记账节点间不一定存在信任关系,也可能有恶意攻击者参与记账过程。因此区块链的共识机制有较高的安全性要求,需要防止双重花费,满足51%攻击安全性。

(2)有一定的效率要求:公有区块链中参与节点多,节点间的网络延迟较大。而交易数据的记账有一定的实时要求,因此对共识算法的效率也有较高的要求。

(3)一致性要求高:负载均衡和网页排名的共识机制对数据一致性要求不强,系统节点之间可以有状态不一致的情况,甚至只要整体状态的概率分布一致就可以认为达成了共识。而区块链记录的交易信息是关键数据,要求各个节点对记账内容有高度一致的共识,不允许有错误出现。

(4)利益分配合理:为了激励共识机制参与节点的积极性,区块链的共识机制还设计了一种激励机制,根据各个节点对共识执行过程的贡献,给与一定的奖励,有利于共识机制健康、长期稳定的运行。例如Bitcoin对每个成功记账的节点奖励一定数量的比特币。

目前区块链上的共识机制有多种,如工作量证明(PoW, Proof of Work),权益证明(PoS,Proof of Stake),实用拜占庭容错(PBFT,Practical Byzantine Fault Tolerance)等,每种共识都有其适用场景。

区块链作为去中心化的账本技术,其应用范畴涵盖可编程的货币系统、可信任的公证系统,基于物联网的商品追踪溯源等。这些应用系统的核心技术是形成一个不可篡改的、对所有参与者数据一致的数据库。传统的方法是建立一个中心化的数据库。例如,传统的学历系统往往由一个第三方机构维护一个中心化的数据库,但这会带来信任问题,也容易受到黑客的攻击。而基于区块链的学历公证系统可以保证每个人的课程成绩被永久且不可更改地记录、存储下来,对于潜在雇主而言,这些记录也都是公开可见并且可信的。同时,由于整个数据库是分布式的,单独篡改某一个单点的数据不会对系统造成严重影响,因此提高了黑客的攻击成本。再例如,对于商品溯源问题,传统的解决方案是引入一个第三方,建立一个完全由第三方控制的溯源系统,从而将买方对于卖方的信任转移到对于第三方机构的信任,但这仍无法避免卖方和第三方机构共谋欺骗买方的情况,因此这种信任关系十分脆弱。基于物联网的商品追踪溯源系统可以通过生产企业和物流企业的物联网设备将商品生产过程中,从原料入库,粗加工,包装,运输物流的所有信息都记录下来,并且不可篡改,从而保证了数据的真实性和可信性。

这些都是利用区块链重构传统解决方案所展示出来的优势。除此之外,区块链还可以解决金融、公益、监管等很多领域的痛点难点。例如,在支付领域,采用区块链技术有助于降低金融机构间的对账成本及争议解决的成本,显著提高支付业务的处理效率。在金融监管方面,区块链可提供一致且易于审计的数据,通过对机构间区块链的数据分析,能够比传统审计流程更快更精确地监管金融业务。

3 区块链的应用探索

随着技术的不断提高,区块链已经从以比特币为代表的数字货币这一单一应用推广到社会的各个领域,为金融、能源、医疗、公益、供应链等领域提供了创新驱动力[3-6]。

区块链技术本质上是一种通过去中心化、去信任化的方式,进行记账的分布式账本技术,能够降低交易成本,提高交易效率,这决定了其在银行、支付和证券交易等金融领域具有广阔的应用前景。

在数字货币方面,据不完全统计,截止目前全球现有数字货币共1500多种,总市值约3万亿美元。除比特币、莱特币等外,全球中央银行或商业银行都在研究利用区块链技术开发法定数字货币。中国人民银行也成立了数字货币研究所。近期,委内瑞拉政府发行石油币,成为全球首个有政府背景、以国家身份发行的法定数字货币。在支付业方面,国内银行业实现了三方间使用区块链技术的跨境人民币汇款,这是全球首笔基于区块链技术的同行业跨境人民币清算业务;VISA推出首个基于区块链的B2B Connect支付服务;IBM发布首个跨境支付区块链网络,实时完成清算和结算;在证券业方面,业内已经提出基于区块链的证券交易平台,实现“交易即结算”。美国纳斯达克(Nasdaq)证券交易所推出NasdaqLinq,通过该平台进行股票发行的发行者将享有“数字化”的所有权。在保险业方面,智能合约有利于简化保单理赔处理流程,降低成本,以及索赔欺诈的概率,目前业内已经推出了运用区块链技术进行记账的保险,国内银行也开发出区块链银行保险业务平台,将银行销售第三方保险产品的流程移动到分布式账本上进行。

区块链在上述金融领域的各方各面已经展示出其潜力和价值,随着其自身技术的发展和完善,区块链在金融领域必将开阔出前所未有的商业模式。

能源管理是一个高度中心化的产业,区块链的应用有助于打破能源行业固有的产业模式。将能源交易过程中的交易确认和核对问题放在区块链上进行,通过区块链记录交易信息,加速了工作流程,降低了人为错误的概率。目前,欧洲在天然气市场的交易核对问题上进行了试点。此外,首次用以太坊区块链进行的能源交易平台也已经上线,平台上每一个绿色能源的生产者和消费者可以在平台上不依赖于第三方自由的进行绿色能源直接交易。

区块链技术的日益普及,给医疗领域带来的革新更是显而易见,在保护患者个人隐私的同时,可以让医疗健康数据以更为安全、快捷的方式来进行全网的共享。中国第一个基于医疗场景实施的区块链应用已经落地。将区块链应用到医联体底层技术架构体系中,实现业务数据真正的互联互通,且数据密文流转授权、全程可追溯可审计,提高医生和患者的体验。还可以利用区块链搭建超级医疗账本,真正实现“病历是属于病人本人所有”。

在社会公益方面,可利用区块链记录每一笔款项或者捐赠物资的生命周期,保证信息的不可篡改,并实现全程可追溯。在扶贫方面,国内打造了脱贫攻坚基金区块链管理平台和连接银行资金划拨系统的金融服务区块链平台,通过行政审批链和金融服务链的传递与共享,实现扶贫资金从审批到拨付全流程透明使用、精准投放和高效管理。针对目前供应链领域存在的问题,利用区块链技术的共识机制、分布式账本等特点,可以实现物品管理、物链码管理、上下游管理、智能合约管理以及安全管理,从而形成全方位、高公信力的供应链体系。此外,可利用区块链技术提供供应链的溯源服务,在区块链上记录全球零售供应链上全流程的信息,方便消费者实时检索,提供供应链上信息的透明度。并且通过智能合约,还能创新购物模式。在汽车租赁方面,可利用区块链技术记录、保管租车数据,简化租车过程。区块链技术的去中心化,数据的不可篡改、分布式账本等特点,有助于打破现有电子政务原有的信息传递的壁垒,创新电子政务的服务模式。目前,国内已经上线基于区块链技术的电子证照共享平台,由政府职能部门共同组成的电子证照区块链网络,建立起政府部门之间点对点的可信网络。在共享账本中存储公民信息和数据归集记录,在智能合约中实现数据目录规则和数据隐私管理规则,解决了权责不分的问题以及数据被篡改的可能,提高政务工作效率。此外,区块链技术有望在异构CA之间的统一认证方面提出新的解决方案。

4 区块链技术的核心:密码技术

区块链技术已经在很多行业中展现出了巨大的应用潜力,这正是由区块链技术本身的优势决定的。区块链属于算法高度密集的工程,其应用了大量的密码学算法。区块链达成的共识本质上是对密码算法所基于的数学难题的共识,所以密码技术可以看作是区块链技术的核心。区块链最初所用到的密码算法主要有杂凑算法和数字签名算法,随着区块链技术的发展,越来越多的密码算法逐渐被引入到区块链中,如环签名、多重签名、零知识证明、同态密码以及安全多方计算等。可以说,密码算法的安全决定着区块链技术的安全。

杂凑算法又称为Hash算法,能将任意长度的输入消息压缩为固定长度(如256或512比特)的输出值,这个固定长度的输出值称为输入消息的摘要,通常是一个随机数。杂凑算法的主要作用是对任意的消息产生该消息的摘要。杂凑算法是单向的,即计算任意消息的摘要是简单便捷的,但已知消息摘要推断出原消息是困难的,只能通过穷举的方式查找。优秀的杂凑算法能够对不同的消息输入产生不同的消息摘要,这种特性称之为抗碰撞性。在区块链技术中,杂凑算法主要用于工作量证明(POW)、区块的构建以及地址的生成。在工作量证明中,负责打包交易的矿工为了找到满足特定格式的消息摘要需要进行大量的Hash运算。在区块的构建过程中,每一个区块头中都包含上一个区块头的Hash值,杂凑算法将该区块的交易记录逐层生成消息摘要,并以Merkle Tree的格式存储最终的消息摘要,以便于检验交易记录的存在。在数字资产转移流通时,需要生成地址,地址一般都是公钥的杂凑值。

我国商用密码标准算法SM3算法是一种杂凑算法[7],SM3可在区块链技术中用作杂凑算法,该算法采用成熟技术设计,算法速度快,安全强度高,适用性强,摘要值长度为256比特。在国际化方面,SM3算法也进入了国际ISO标准草案阶段。

数字签名是电子签名的一种重要技术,能够解决电子数据交换过程中的伪造、抵赖、冒充和篡改等问题,利用杂凑函数压缩技术和公钥加密技术,使收发数据双方确保:接收方能够鉴别发送方所宣称的身份,发送方以后不能否认其发送过该数据这一事实。在区块链技术中,数字资产的转移需要资产持有人对该交易进行签名,经签名广播后,全网节点都可以验证交易的真伪。为了进一步提高安全性,部分区块链技术引入了多重签名,即单个地址进行数字资产转移时需要多个私钥签名才能支付,从而保证资金的安全。

SM2算法是我国颁布的商用密码标准算法中的公钥密码算法[8],已被收入国际ISO标准。SM2算法密钥长度为256比特,具有密钥长度短,安全性高等特点。SM2算法中的数字签名部分已在我国电子认证领域广泛应用,SM2签名算法可直接用作区块链技术中的签名算法。

为了更好的保护个人隐私,环签名和零知识证明等密码技术也被引入到区块链技术中。

环签名是一种可以隐藏签名者身份的密码技术。在环签名方案中,环结构中一个成员可以利用其自身的私钥和其他成员的公钥进行签名,但却不需要征得其他成员的允许,而验证者只知道签名来自这个环,但不知道谁是真正的签名者。环签名解决了签名者身份匿名问题,环签名允许一个成员代表一组人进行签名而不泄漏签名者的信息。零知识证明运用在区块链中,可以隐藏发送者、接受者的身份以及交易的金额。通俗的说,零知识证明是一种在无需泄露数据自身信息的前提下证明某些数据运算的一种密码技术,允许两方(证明者和验证者)来(被)证明某个提议是真实的,且无需泄露除了它是真实的之外的任何信息。零知识证明具有完备性、合理性、零知识性,在区块链技术中实现了信息匿名化,从而保护用户的隐私。同态加密是一种无需对加密数据进行解密就可以实现某些计算的密码技术。它允许密文进行特定的代数运算得到新的密文,将其解密所得到的结果与对相应明文进行同样的运算结果保持一致。在区块链技术应用中,同态加密技术可以加密公有链上的数据以保护隐私,且并不改变其为公有链的属性;同时,可以随时对公有链上的加密数据进行审计。

与同态加密不同,安全多方计算的核心思想是将数据分成一些碎片用于保证数据在存储、分享和分析时的安全。也即是,安全多方计算是一种可以保证各参与方不泄露各自信息并能进行特定计算的密码技术。在区块链中,敏感的数据不能直接放到链上,此时可以将数据分成一些碎片,分开存储,单独获取部分碎片不能得到原始数据的任何信息。运用安全多方计算可以利用这些碎片进行与原始数据一样的操作,并能保证隐私性。

随着应用需求的多样化和区块链技术的发展,越来越多的密码技术会融入到区块链技术中,区块链技术也会直接刺激密码技术的创新和发展。

5 区块链技术展望

目前区块链技术对于传统行业的升级已经拉开序幕,它通过将人们对于传统大型企业、机构的信任转移到对于技术的信赖,构建了一个透明、平等、自由的体系。该体系的核心将不再是依靠规模、道德、法律等约束而构建起来的可信第三方,从而削弱了一些垄断性行业、机构相对于个人、小型机构的优势。在将来,大型企业可能将不再完全掌握用户的数据,他们只有在被许可的情况下才能拥有相应数据的使用权。同时,对于金融、能源、零售、不动产等行业,区块链技术的应用将可能改变其运行模式,直接将供应者和需求者联系到一起,从而促使像银行、Visa、滴滴、淘宝等提供服务并赚取中间费用的机构必须进行业务升级。可以设想,在未来随着区块链上应用的发展,我们可以便捷地使用电子钱包来进行低手续费的跨境支付;家庭用户无电时可以直接向附近的邻居购买他们多余的电力;政府福利可以定期自动地分发到满足条件的账户中;歌手可以在平台上发布歌曲,粉丝也可以通过购买歌曲等方式对歌手进行支持,避免了经纪公司、唱片公司等赚取中间费用,也可以增强粉丝与偶像间的互动等等,甚至,随着人工智能、物联网技术的发展,这一切都可以自动完成。

由于区块链技术在医疗、能源、金融、公共事务等国计民生的方方面面都有着广阔的应用前景,其安全性是非常重要的。作为其技术基础的数字签名、杂凑等密码算法,它们的安全性尤为重要。为此,推进区块链技术的自主创新,基于符合国家标准的国产密码算法,构造安全可靠的区块链及其应用迫在眉睫。另一方面,2017年SM2、SM9数字签名算法已被收入国际标准,SM3算法也进入了国际ISO标准草案阶段,国产算法无论从安全性、还是效率方面都有着核心竞争力,将商密算法应用到构造自主可控的区块链技术中,也是安全和发展形势所需。

自区块链技术诞生以来,它对我们生产生活的积极影响正在逐渐凸显。但目前区块链概念虚热,各种打着区块链名号的虚拟货币,ICO项目等层出不穷,“良币”与“劣币”,“技术创新”与“集资创新”真假难分,有些甚至给消费者带来严重的经济损失。如果监管缺失,以数字货币为依托的洗钱犯罪会更加猖獗,影响消费者的利益,也不利于金融市场的稳定。

表面上看,区块链匿名性以及去中心化的架构,与现有的监管体系有一定的冲突,但其实区块链的不可篡改、分布式账本、可追溯性等特征,更便于监管的接入,实现全生命周期的跟踪溯源。如何将监管手段融入到区块链技术中,通过技术实现对区块链的监管,使区块链能够真正的助力实体经济的发展,将具有重要的现实意义。

参考文献

[1]NAKAMOTO S.Bitcoin: A Peer-to-Peer Electronic Cash System[EB/OL].(2008-03-17).https://bitcoin.org/bitcoin.pdf.

[2]WOOD G.Ethereum: a secure decentralised generalised transaction ledger[EB/OL].(2018-04-07).https://ethereum.github.io/yellowpaper/paper.pdf.

[3]中国区块链技术和产业发展论坛.中国区块链技术和应用发展白皮书[EB/OL].(2016-10-18).http://www.cbdforum.cn/index/article/rsr-6.html.

[4]长侠,韩锋.区块链:从数字货币到信用社会[M].北京:中信出版集团,2016.

[5]唐文剑,吕雯.区块链将如何重新定义世界[M].北京:机械工业出版社,2016.

[6]龚鸣.区块链社会:解码区块链全球应用与投资案例[M].北京:中信出版集团,2016.

[7]国家密码管理局.GM/T 0003-2012, SM2椭圆曲线公钥密码算法[S].北京:中国标准出版社:1-48[2018-04-17].www.spc.net.cn.

[8]国家密码管理局.GM/T 0004-2012, SM3密码杂凑算法[S].北京:中国标准出版社:1-16[2018-04-17].www.spc.net.cn.

猜你喜欢
共识密码区块
密码里的爱
共识 共进 共情 共学:让“沟通之花”绽放
区块链:一个改变未来的幽灵
论思想共识凝聚的文化向度
区块链:主要角色和衍生应用
商量出共识
密码抗倭立奇功
区块链将给媒体业带来什么
区块链+媒体业的N种可能
密码藏在何处