应用

技术

物联网世界 >> 解决方案 >> 物联网方案
企业注册个人注册登录

浅谈区块链-BlockChain

620)this.style.width=620;" border=0 src="http://www.iotworld.com.cn/eWebEditorUpLoad/2017-07/8480ec40d9ea810f1ab.jpg" width=560>

  前言

  区块链(BlockChain)又称区段链,该技术起源于比特币(Bitcoin:全球通用的互联网加密货币),是一种分布式账本技术,该技术使得交易过程中每个节点的每一笔帐都可以透明又安全的被记录下来。起初区块链中每笔交易透过加密的算法提升安全强度,现在已经可以结合认许制,来达到反洗钱与身分认证的规范。IBM一份《Blockchain Rewires Financial Markets》调查报告指出,在受访的金融市场机构中,2017年将有14%的金融机构采用区块链技术,到了2020年,将会有近七成的银行采用区块链商用解决方案。

  何谓区块链

  一、简介

  区块链是比特币的核心技术,具备去中心化储存、讯息高透明及不易窜改等特性。比特币协议及其软件创造者-中本聪在2008年发表比特币相关论文提出:“区块链完全是以P2P方式的电子货币系统,不依赖第三方(如传统支付系统背后的银行)”。

  以金融转账流程为例,A要汇款给B,该笔交易信息被称为“区块”,网络上参与交易流程的人称为节点,每个节点会为区块进行真伪验证,通过验证的区块才被允许进入区块链并记入公开的账本内,最终B才能得到款项,如图一。

  《图一》区块链运作-以金融转账为例

  二、发展

  区块链技术概念源自于拜占庭将军问题。1982年Leslie Lamport等人把拜占庭将军决定是否出兵的过程,延伸至运算领域,建立具有容错性的分布式系统,而David Chaum随后也提出注重隐私安全的密码学网络支付系统,拥有不可追踪的特性。

  1985年Neal Koblitz和Victor Miller,首次将椭圆曲线应用于密码学,建立以公钥加密的算法。至1991年Stuart Haber与W. Scott Stornetta共同提出以时间戳确保数字文件安全的协议,而此概念也被比特币区块链系统所采用。

  1997年Adam Back发明哈希现金(Hashcash),其为比特币区块链所运用的关键技术之一。Wei Dai及Hal Finney于1998及2005也相继提出分布式电子现金系统(B-money)及可重复使用的工作量证明机制(Reusable Proofs of Work,RPOW),这些技术的许多设计也都被比特币区块链所采用。

  2008年中本聪发表一篇比特币相关论文中,建立一套去中心化的电子交易体系,为区块链历史中重要的转折点。2008年至今区块链可切为四个阶段来介绍:

  Blockchain 1.0:数字货币。区块链技术的应用起点为数字货币,将数字货币加密并且去中心化,最具代表为比特币。

  Blockchain 2.0:数字资产。第二阶段为数字资产,金融业可以将数字资产放置区块链上进行传递,如:股票。以彩色币(Colored Coin)为此阶段代表。

  Blockchain 3.0:智慧财产。第三阶段为智能财产,可以将实体资产放置区块链,并应用于各个领域,如:医疗、科学及艺术等,并探讨如何将区块链与物联网进行结合。

  Blockchain 4.0:智能契约网络。目前已开始迈向第四阶段,比特币核心开发者Jeff Garzik认为“Blockchain 4.0是将所有的事情连结起来融进一个跨区块链智慧契约网络,对智慧资产进行保护。”达成金融市场交易清算、贸易金融、保险及跨境支付等服务。

  技术说明

  区块链是由多个区块组成,每个区块包含的信息有容量大小(Block Size)、区块头(Block Header)、交易数量(Transaction Counter)及其他相关交易信息(Transactions),而区块头为整个区块最重要的部分。区块链透过五大关键技术来达成去中心化、具独立性及安全性等特点。

  一、五大关键技术

  工作量证明机制:

  工作量证明机制(Proof of Work, POW)为区块链关键技术,简单来说就是用来确认你做过一定的工作量的证明。主要特征是工作者须要做出一定难度的工作才能得出结果,但验证方却可以根据该结果很容易的检查出工作者是否做了相对应的工作,流程如图二。

  《图二》POW流程

  在区块链网络系统中,任何节点花费时间及资源计算出一组数学公式的数值(新区块)并采用Hashcash算法作为POW,其他节点可以用相关的数学公式,即可容易地验证出该数值(新区块)是否有效。POW可以让每个参与交易的节点共同参与交易验证,达到一个能多方共同维护、共同享有事务历史记录的账本,实现出去中心化的Point-to-Point(P2P)的网络系统。

  椭圆曲线数字签名算法:

  区块链采用椭圆曲线数字签名算法(ECDSA)进行加密,属于公钥加密算法(Public Key Cryptography),每个User都拥有公钥及私钥,公钥是公开给其他User知道,私钥仅自己知道,当User A传送讯息给User B时,A需要使用B所公开的密钥来加密(仅B私钥才能解密),避免其他User解密得知讯息。

  Hashcash算法及多种Hash函数:

  Hashcash(哈希现金)在1997年由Adam Back提出,原理是基于单向哈希函数(One Way Hash Function),Hashcash能将数据经由Hash函数转换成一组固定长度的代码,如图三。区块链就是采用Hashcash来确保数据不被其他节点窜改,每个区块头透过算法取得一串代码后放置下个区块中,以确保正确性。

  《图三》哈希示意图

  Merkle Tree:

  Merkle Tree的所有节点都是Hash值,故又称Merkle Hash Tree。如图四,数字7-14都是一个叶子节点,数字0-6为非叶子节点,叶子节点里面的值可以自行指定,非叶子节点则是由它下面两个值计算而来的。例如数字3的节点值是由数字7和8这两个叶子节点进行组合,组合结果进行Hash运算得出的Hash值。整个Tree最终的Hash值会被存在数字0的位置,称为Merkle Tree Root。

  《图四》Merkle Tree示意图

  区块链中的区块利用Merkle Tree将区块中的大量信息缩成一个Hash值,也就是Merkle Tree Root,而这个值会被记录到区块头中被验证。如图五所示。

  《图五》区块中Merkle Root示意图

  电子时戳机制(Timestamp Server):

  时戳(Timestamp)就如同现实世界的“邮戳”,为信息时代不可或缺的安全机制,区块链中每个区块Hash后都会加上一个时间戳,每个时间戳会与前一区块的戳记进行Hash,所得出的Hash值会再与下一个戳记进行Hash,以确保区块的排序。如上图五。

  产业应用

  一、金融产业:

  对金融领域而言,区块链的特性可以解决原有金融交易过程中的漏洞,并减少交易成本。原本用来记录交易纪录的账本只存于金融机构内部,透过区块链技术,账本不再是金融机构独自拥有,而是每个人都共同存有并维护该账本,使账本维护起来更方便及安全。美国Nasdaq在2015年就宣布开始使用区块链系统来记录处理IPO 前私人股票交易市场,使市场交易更透明。

  二、音乐产业:

  Ujo是第一套运用区块链的音乐平台,于2015年10月成立。当买家向某歌手发出购买音乐讯息,并同意从电子货币包支付费用时,整个交易流程即启动。音乐平台上各端点开始处理此订单、系统会自动分配费用,直到交易流程结束后,该歌手就会寄出有存放歌曲的地址供买家下载,买家将歌曲存盘完交易则结束。整个交易过程不需透过第三方的介入,达到P2P的交易。

  总结

  区块链是属于Open Source,故拥有开放性的特点,各产业要取得原始码并不难,重点是需要对区块链有一定程度的了解,并找到合适的区块链服务供货商,才能客制化出符合产业的区块链应用。

  世界经济论坛(WEF)创办人Schwab说,区块链将带动第四次工业革命;俄罗斯联邦储蓄银行副主席Sharov更预言,区块链技术会让银行在10年内消失!区块链的出现就如同当时互联网刚出现时,大家都开始进行电子化,人工纸本作业的银行会失去竞争优势而被淘汰。一个看似简单的记账方式,改变了交易网络中人与人之间的信赖关系,它的贡献绝不仅限于金融领域,很有可能改变人类所有的交易行为。