APP下载

区块链关键技术及应用探究

2021-03-14滕琳雅杨一帆林斌

广东通信技术 2021年1期
关键词:侧链汇款比特

[滕琳雅 杨一帆 林斌]

1 背景

区块链作为互联网技术3.0,习总书记在中央政治局第十八次集体学习时强调过将把区块链作为核心技术自主创新的重要突破口,加快推动区块链技术和产业创新发展。区块链作为新型基础设施是推动数字经济和先进制造业高质量发展的基础,未来可以应用在几乎所有的信息化系统上,带来生产关系和生产力的变革。在区块链发展领域我国目前与其他发达国家相比基本在同一起跑线上,我国较高的互联网普及度及基础设施建设均为区块链良好发展奠定了基础。并且,由于近年来民粹主义盛行,大国间博弈升级,对技术保护、出口越发严苛,我国急需依靠创新来建设由中国主导的世界级的基础设施、技术标准和应用,抢先占领这一领域,摆脱由欧美国家为主导的基于TCP/IP协议层的现有互联网体系,因此加快推动区块链技术及网络成熟落地,拓展应用场景变得十分重要。

2 区块链关键技术及概念

2.1 区块链密码算法

Hash(哈希)算法在区块链系统中应用广泛,它主要是将任意长度的明文字符串换算为二进制的形式,再将这些二进制的内容计算得到固定长度的二进制密文串,也是就Hash散列值,理论上不同的明文经处理后不可能得到相同的Hash值,算法的不可逆性保障了数据的安全。Hash算法得到的结果可以当作一个字符串来对待,因为输入算法中的熵源存在随机性,所以Hash算法的结果也具有随机性,可能存在两个不同的明文输入得到一个相同的输出,这种情况称为一次Hash碰撞。Hash碰撞的情况需要尽可能避免,Hash抗碰撞性可分为弱抗碰撞性和强抗碰撞性:

(1)弱抗碰撞性:在给定明文前提下,无法找到与之碰撞的其他明文。

(2)强抗碰撞性:无法找到任意两个发生Hash碰撞的明文。

为了保障Hash算法在密码学上的安全性,一个优秀的Hash算法应具备:特性一是逆向困难,无法(或者说很大程度上很难)从输出散列值逆向推导出原始输入;特性二是输入敏感,任意输入明文的变化,即使十分微小也会导致输出值发生改变;特性三是抗碰撞,抗碰撞不意味着完全不会发生碰撞,若要找到两个发生碰撞的输入需要消耗大量的算力。

常见的用于Hash算法的有MD、SHA、和RIPEMD,下面详细以SHA算法作为介绍。SHA算法是一个家族算法,最初代为SHA-1,目前已被破解,在商用领域不适用。鉴于安全性考虑,一般推荐使用SHA-256或能输出更长Hash值的算法。

SHA-256算法是将原数据通过二进制表示后进行补位,使其长度在对512取模后余数是448。也就是说,补位后的数据长是512的整数倍并且余数是448,即使长度满足对512取模后是448也要进行补位(补512位),补位长度范围为1到512。原始数据在补位后得到二进制表达式会被分为N个512 bit长的数据块,Hash初值H(0)经由第一个数据块执行过程后得到H(1),H(1)经由第二个数据块执行计算过程后得到H(2),有多个数据块时以此类推,得到的H(N)便是最后的计算成果,由8个32 bit长的计算结果连接成一串256 bit长的二进制数值,流程如图1所示。

图1 SHA-256算法计算过程

区块链的密码算法保障了数据的不可篡改性,用户不再能通过修改自己本地数据进行造假,通过技术手段建立起用户之间的信任机制,在应用中保障数据使用的可靠性。

2.2 区块链共识机制

区块链是由分布式的数据库通过共识算法机制保障每个节点间的数据完整性和同步性,可以说共识算法是区块链技术实现的基础。常见的共识算法可分为两类,一类是能解决网络拜占庭错误的算法——BFT(Byzantine Fault Tolerance)类算法,另一类是不能解决网络拜占庭错误,而只是针对普通节点错误的算法——CFT(Crash Fault Tolerance)类算法。

能够解决网络拜占庭错误的算法有以PBFT算法为代表的PoW算法、PoS算法以及DPoS算法等。PBFT算法很像一种少数服从多数的投票机制,这种机制在网络节点数量可控、具有监管方机构的分布式网络环境下能发挥较大的优势。一方面,PBFT算法在这种环境下共识的时延只有2~5秒。另一方面,在这种环境下即使交易量非常高频,PBFT算法也有较高的共识效率。但是网络节点数量不可控、没有监管机构的分布式网络环境下存在一定隐患。

能够解决网络非拜占庭错误的算法有以Paxos、Raft等为代表的共识算法,使用网络拜占庭容错的算法对网络的运行要求更加严格,在大部分的区块链技术应用中没有使用这类的算法。常见共识算法及应用如表1所示。

表1 常见共识算法及其应用一览表

区块链的共识机制是区块链实现去中心化的关键技术,在应用中我们不再需要依托可信任的中心化机构或组织,由所有用户参与制定的共识机制保障大家手中数据的完整性、一致性,减少中间环节,大大提升数据要素的使用效率。

2.3 区块扩容

区块链扩容即扩大每个区块的容量以存储更多的交易数据,在每个区块链技术的应用中通常都限制了区块数据占用存储空间的大小。限制区块的大小很好地控制了区块账本数据的增长速度,比如比特币早期对其区块数据占用存储空间的大小设定为1 MB,按照每个交易数据平均占用存储空间为200 byte(字节)计算,再加上区块头占用的80 byte空间,这样一个区块中平均放置交易事物的数量大概为5 000个左右,也就是每5 000次交易进行一次打包,按照每10分钟产生一个区块,5 000起交易的处理效率大概每秒8起。当交易次数高频发生时该交易效率无法满足要求,必须进行扩容。

目前在用的扩容方法有隔离见证和区块直接扩容。隔离见证与交易签名密切相关,一个交易中要包含能够识别的交易者的签名才能算是有效的交易,在之后验证交易的过程中也会涉及过往的交易签名。隔离认证是指将交易中的签名部分独立出来,放在交易数据末尾的称为“见证(Witness)”字段中。“见证”字段会随着交易被各个节点接收,但在交易经过打包存储在区块中时不再包含“见证”字段。通常一个新用户节点在接收到一个新区块时不会对里面每一条交易的签名合法性进行验证,只关心交易数据本身,签名对他们来说意义不大,同时签名所占存储空间约为50 byte,如果这部分数据没有随区块存入区块链的话,理论上需要4 MB的区块才能存储下来的交易数据现在只需1 MB的区块就足够了,无形中获得了扩容的效果。当最后需要对交易数据执行SHA-256计算,以得到交易事物ID进而构建Merkle树需要用到整个交易事物的数据时(包括签名在内),而签名部分存放在“见证”字段里,不会对交易事物ID的计算过程产生影响。

区块直接扩容便是直接将区块扩容至更高MB容量,如比特币系统通过硬分叉方式直接产生一个新的比特币区块链变种——Bitcoin Cash(BCH,比特币现金),这次分叉便硬生生将区块扩容至8 MB。

区块链技术可应用在各行各业的信息化系统中,各行业对数据的生产、使用、存储有不同的需求,对区块的扩容有其个性化需求,通过以上的扩容方式用户可选择自己喜爱的方式进行区块扩容,满足其应用需求。

2.4 侧链

侧链技术实现了在两个不相干的区块链应用上来回转移数据,进而达到沟通两条区块链的目的。从“侧链”的称呼可以看出,侧链是相对于主链而存在的,想要确定哪一条链为侧链就必须先确定一条主链。没有一种应用规定自己所存的数据必须作为主链数据,同样也没有一种应用规定自己所存的数据必须为侧链数据,可以依据用户使用需求及实际情况进行划分。

侧链的设计主要用来在主区块链应用和侧链区块链应用之间实现资产的安全转移,通常称主链和侧链之间的数据往来为“双向挂钩”。以比特币系统中设计的SPV(Simplified Payment Verification,简化支付确认)证明为例,其主要是为快速验证数据的安全及有效性。

SPV机制从主链向侧链交换数据的过程大概为以下几步,如图2所示。

(1)用户先在比特币系统上创建交易,这起交易的输出就是用户在另一虚拟币系统(以莱特币为例)上的地址,由于输出的不是比特币地址,所以这是一起特殊的交易。

(2)这起特殊交易所涉及的比特币被系统主动锁定,在交易没有被矿工成功挖出之前,这些比特币不应该再被使用。

(3)交易需要等待被打包进区块,可能需要十几分钟,有了足够的工作量证明,侧链应用才会承认该笔交易的合法性。

(4)用户来到莱特币系统,通过SPV机制向莱特币系统证明来自比特币系统的输出就是用户在侧链系统内的账户地址,然后领取到该笔比特币。

(5)在莱特币系统,用户等待一段时间,当该笔交易被足够的工作量证明之后,这些比特币才能在莱特币系统上自由流通。

图2 主/侧链交换数据过程

侧链的使用为不同应用间的数据安全交互提供可能,实际生产中每个应用需要使用的数据源通常来自于多个应用,侧链技术的使用十分必要,有助于区块链应用在生产中的落地。

3 构建区块链网络

为落地部署各类区块链应用,需首先部署一张区块链专网,搭建好网络环境。以省级区块链专网为例,在省级(一级)节点以区级进行部署,二级节点以下以各市为节点,全网按照业务垂直架构定义专网垂直层级,全网CA、秘钥和网关SDK统一,实现上下层级互通。各区域节点是本区域内用户业务系统接入和部署应用完成记账的节点,采用统一的共识机制。运营平台部署在其中一个区域节点中,监管节点负责对专网内数据和交易情况进行监管。各节点可部署在用户现有云资源或购买新的云资源,各节点可采用逻辑或物理隔离方式进行部署。全网拓扑结构如图3所示。

图3 省级区块链专网拓扑图

4 常见区块链应用场景案例探讨

4.1 精准扶贫领域

我国正处于脱贫攻坚收官之年,扶贫工作仍是政府部门的重要工作之一,现阶段扶贫工作存在低收入对象识别不准,对扶贫对象动态信息掌握不及时不完整,未能完全达到有效退出;帮扶对象难以全面了解扶持政策,缺乏全程监管技术手段,在资金使用过程中出现套取、侵占和挪用等问题。为了长效解决此类问题,结合区块链技术提供以下解决方案:

(1)扶贫对象精准识别。利用区块链防伪造性,结合指纹、语音、面部识别,将扶贫对象和扶贫干部双指纹进行确认并记录在区块链中,生成基于区块链的数字身份,保证扶贫对象的精准识别。记录数据可用于跟踪扶贫工作开展情况,便于政府、医院、学校等单位进行贫困户身份识别,采取相应的事务处理手续。

(2)扶贫对象精准退出。利用区块链可追溯性,精准记录帮扶行动和效果,确保帮扶对象精准退出。

(3)扶贫资金精准管理。利用区块链的智能合约技术,匹配帮扶项目和帮扶资金的发放及使用情况,实现扶贫资金流动的全程追踪。

(4)社会扶贫资金全流程管理。利用区块链共识机制,对社会扶贫资金的募集、申请、使用、效果评估全流程上链记录管理,提高资源的效益,提高资金使用透明度。

4.2 税务领域

“假票真开,真票假开”一直是传统发票领域的痛点,在多方参与的区块链中,将支付信息融入发票流程,一切可追踪可追溯。将“资金流、发票流”二流合一,将发票开具与线上支付相结合,打通发票申领、开票、报销和报税全流程,如图4所示。使用区块链技术后可解决以下痛点:

(1)解决信息孤岛问题。将发票流转信息上链,实现了发票状态全流程可查可追溯。

(2)实现无纸化报销。因为发票全流程的信息都在链上,报销时只要链上更新发票状态即可,无需再打印为纸制的文件存档,节能环保。

(3)解决一票多报,虚抵虚报的问题。利用区块链技术,可以确保发票的唯一性和信息记录的不可篡改性。

(4)提升政府监管力度。由于发票全流程的信息都在链上可帮助税局等监管方实现实时性更好的全流程监管。

图4 区块链电子发票业务流程示意图

4.3 医疗领域

医疗行业在尝试做跨医院、跨省市的医疗数据共享,但是现有的医疗数据共享平台普遍存在着两大痛点:一是患者敏感信息的隐私保护,二是多方机构对数据的安全共享得不到保障,没有建立可靠的信任机制。医疗领域特别适合使用区块链技术,通过其加密算法保障数据的安全性,点对点的网络传输机制,使数据仅向获得自己授权的用户进行开放共享。

从隐私保护层面,传输的医疗数据都经过加密处理,安全地存储在区块中,难以被篡改和丢失。从访问控制层面,现有的区块链上的访问控制机制可以采用智能合约或者一些非对称加密算法来实现。患者在不同医疗机构之间的历史就医记录都可以上传到共享平台上,不同的数据提供者可以授权平台上的用户在其允许的渠道和范围上对数据进行公开访问,可通过医疗数据区块链共享平台实现医疗资源的共享。医疗数据区块链共享平台如图5所示。

图5 医疗数据区块链共享平台示意图

4.4 农产品溯源

目前市场上的农产品若出现质量问题,要查找其完整的生产销售链条需要耗费大量的人力物力,并且消费者对于商家标榜的生产于优质产地或品种的产品也会存疑,厂商利用消费者的信息不对等大肆销售低品质或假冒伪劣产品。为解决以上问题,可利用区块链技术对农产品进行多环节管控,从根本上杜绝伪劣假冒,提升农业信息化程度,实现产销协同,如图6所示,可带来以下的优势。

(1)实现物流全流程信息追踪,农产品关联物流信息,物流进度数据与区块链平台对接,将全程数据上链存储,全链条无死角公示,防止信息丢失漏报或误报。

(2)实现仓储库存信息同步,有效证实货品库存及发货情况,信息公开透明,接受消费者的监督。

(3)减少人为操作风险,利用区块链智能合约对农产品流程进行智能管理,结合物联网等技术,将采集到的数据直接上链,减少人为产生的错误或欺骗行为。

(4)“区块链+大数据”结合,进行数据分析。基于不可篡改的唯一编号,利用大数据技术精准分析,便于产量的预估及产销协同,提高生产销售效率。

(5)便于政府有关部门对农产品产量、质量进行监督管理,制定有针对性的规章管理制度。

图6 农产品溯源交易平台示意图

4.5 跨境汇款

目前要进行跨境汇款转账,从发起用户进行转账开始到对方用户收到账款,中间会经过多个中间行,如汇款人所属银行支行、该行总行、对接的对方国家银行总行、收款人所属支行等等,汇款流程复杂,每个环节都需进行两两对账,到账时间通常需要一到两天,时效性差。区块链使得跨境汇款的各参与方有了实时、可信的信息验证渠道,汇款有迹可循,汇款再也不是串行的一环扣一环,而是点对点的直接价值传输,监管机构可以对个人跨境汇款链路进行实时、全程监测。汇款方式对比如图7所示。

图7 区块链跨境汇款的原理

基于区块链技术,能够实现:

(1)跨境汇款就像境内转账一样实时到账。

(2)7×24小时随时可用手机进行汇款。

(3)手续费更低,无需经过层层中间银行。

(4)安全性高,整个汇款过程可在链上追溯,钱不会丢。

(5)透明性高,各方汇款信息上链保存,无法被篡改,便于监管。

5 总结

区块链技术虽然历经十多年的发展,目前也已经在几大城市(北京、杭州、雄安等)有试点落地或处于建设部署中,但整体仍然处在发展成熟的早中期,各项技术及标准仍在更新迭代中,如成熟的跨链技术、区块扩容标准、如何有效避免区块链分叉等。各行业应用也处在摸索阶段,只有应用遍地开花才能真正使区块链发挥其作用,带给现有信息化系统颠覆性变革,促使生产要素、生产过程、数据使用等都发生彻底的变化,成为推动第四次工业革命的几项主要技术之一。区块链结合云存储、智能技术等新兴技术可推动社会及各项产业向更高层级发展,将区块链引入更多的行业中进行使用。中国在发展区块链技术上具有一定优势,加快推进区块链技术将更好的帮助中国完成新一轮的技术革新,助力国家民族复兴。

猜你喜欢

侧链汇款比特
汇款
酞菁锌的侧链修饰及光动力活性研究
含聚醚侧链梳型聚羧酸盐分散剂的合成及其应用
比特币还能投资吗
比特币分裂
梳型接枝PVC的性能研究
比特币一年涨135%重回5530元
开拓境外业务须重视境外汇款格式的规范性
紫杉醇C13侧链的硒代合成及其结构性质
苹果封杀比特币应用另有隐情?