• 山西省国家密码管理局
  • www.sxgmj.gov.cn
行业新闻

密码工程的创新—区块链

发布日期:2018-06-08  来源:山西省国家密码管理局

区块链是一种利用密码学方法组织和记录数据的分布式账本技术。在无中心化节点参与的情 况下,区块链能够为无信任节点提供一种全新的建立信任的方法,促成各方达成共识,为各种业务的 后续发展奠定基础。其主要技术优势是去中心化,使得整个交易系统在复杂网络环境下的运行更稳定、 更健壮。除了在金融领域已有成功应用案例之外,区块链在公益、能源、征信、物联网以及供应链等 各行业中都有很大的施展空间。作为区块链技术的核心算法,数字签名、杂凑函数、零知识证明、同 态加密等多种密码技术能够提供身份认证、数据校验、隐私保护以及公平激励等核心功能,为区块链 技术的安全运行提供了关键保障。区块链的出现已经带来了全新的商业模式,也可能缔造一个崭新的 经济形态,对社会的发展和人们的生活必将产生深远的影响。

初识区块链

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

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

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

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

区块链的技术特点和优势

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

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

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

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

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

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

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

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

区块链的应用探索

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

区块链技术展望

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

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

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

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