比特币的核心技术,区块链的原理与应用(下):颠覆金融业的创新技术

作者 | 发布日期 2017 年 05 月 17 日 14:52 | 分类 Fintech , 科技教育 , 财经
bitcoin-224233_960_720

【Technews科技新报】由于比特币不适合即时大量的小额交易,而且在法规上存有疑义难以被主管机关接受,因此有人将比特币的部分技术(主要是保护资料无法篡改的技术)抽离出来寻找新的应用,并且取了新名字“区块链(Block chain)”,也有人扩大区块链的定义,把前面提到的交易识别确认、资料无法篡改、节点资料同步 3 种技术统称为“区块链”。所以到底这 3 种技术的是怎么做的呢?



公开金钥加密(Public key encryption)

公开金钥加密的每一位使用者必须自行产生自己所拥有的金钥对(Key pair),包括一把“私密金钥(Private key)”与一把“公开金钥(Public key)”,加密与解密使用不同的金钥,使用者必须秘密地保存自己的私密金钥,并且在网络上发布公开金钥。公开金钥可以用来加密,也可以用来验证,验证的流程如图一所示,传送端使用自己的“私密金钥”对文件(明文)进行加密(签署文件)产生密文再传送到网络中,接收端使用传送端的公开金钥解密(确认签署者)得到明文,如果可以解密代表确认文件真的是传送端的某人传送出来的,数位签章就是使用这种方式来验证文件的真伪。

▲ 图一:公开金钥加密的验证流程。

交易识别确认

假设 Alice 支付 Bob 金额 10btc 购买一颗苹果,则她的手机应用程序(比特币电子钱包)使用 Alice 自己的私密金钥将讯息加密,这个动作称为“数位签章(Digital signature)”,想想这不就好像我们在交易文件上签名一样吗?

接下来再将讯息传送到节点 A,节点 A 再使用 Alice 的公开金钥将讯息解密,如图二所示,如果真的可以解开代表这个讯息确认是由 Alice 发出来的,而且 Alice 也不可否认,因为只有 Alice 的公开金钥能够解开 Alice 私密金钥加密过的讯息。

▲ 图二:比特币的交易识别确认机制。

比特币帐本(BTC ledger)

比特币帐本是由一个一个的“区块(Block)”连接而成的“链结(Chain)”,因此这种技术又称为“区块链(Block chain)”,如图三所示,每一个区块记录着付款人与收款人以及交易金额,每一个区块都记录了许多笔交易,区块与区块之间再链结起来,例如:区块 3 链结到区块 2,再链结到区块 1,最后再链结到区块 0。

▲ 图三:比特币帐本示意图。(Source:杜宏毅,Block Chain 的前世今生与未来,台湾网络认证公司)

值得一提的是,图三画出来的只是示意图,实际上比特币帐本并不是像 Excel 一样的表单,基本上比特币是一种虚拟电子货币,因此比特币帐本其实就是一个电脑程序,里面有许多栏位,如图四所示,其中包括:

1. 表头(Header)
previousblockhash:前一个区块的杂凑值(Hash value)。
difficulty:杂凑(Hash) 必须小于“困难指数(Difficulty)”。
time:代表这个区块形成的时间,以 Unix 操作系统格式表示。
nonce:计算杂凑值所使用的参数。
merkleroot:储存“交易(Transaction) ”的“摘要(Summary)”。

2.交易(Transaction)
tx:储存“交易”的栏位,每一个区块可以储存多笔交易。

3.其他栏位
confirmations:代表这个区块已经被 35,561 个节点(Node)确认过了!
height:代表这个区块在比特币区块链中的排序为第 277,316 个。

4. hash:利用杂凑演算法(Hash algorithm)计算出杂凑值。

▲ 图四:比特币帐本。(Source:杜宏毅,Block Chain 的前世今生与未来,台湾网络认证公司)

杂凑演算法(Hash algorithm)

杂凑演算法是一种从资料中建立“数位指纹(Digital fingerprint)”的方法,可以将任何长度的资料转换成一个长度较短的“杂凑值”。某一段资料对应到某一个杂凑值,不同资料具有不同杂凑值,就好像不同人具有不同指纹一样,所以称为“数位指纹”,我们可以利用杂凑值来确认资料有没有被篡改。

区块(Block) 的意义

“区块”是指电脑中的一组资料,以事先设定好的栏位与格式储存,我们可以将图四的比特币帐本看成是一个区块,我们的目标就是要将这个区块的资料“封锁(Block)”起来让别人无法篡改。
问题是,如果“重新计算杂凑”很简单,则这整个保护机制就无效,而且我们不只需要“资料篡改可以检查出来”,更需要“资料无法篡改”,因此科学家发明了“条件杂凑(Conditional hash)”,规定“杂凑”必须小于“困难指数”,让杂凑很难重新计算,而保护“交易”的内容不被篡改。

【参考资料】封锁的方法是利用杂凑演算法结合条件杂凑,由于流程比较复杂,有兴趣的人可以参考《知识力专家社交:区块链的原理》。

比特币的采矿(Mining)

讲到比特币大家一定常常听到网络上有许多人在“采矿(Mining)”,到底什么是比特币的采矿呢?各节点熟悉电脑操作的自愿者计算“杂凑”小于“困难指数”的动作称为“采矿”,而我们所要采的“矿”就是计算出“杂凑”小于“困难指数”。进行采矿的人称为“矿工(Miner)”,计算出一个区块可以获得 50btc 的酬劳,如果其他支付交易有给手续费,则矿工还会获得手续费。比特币设计大约每 10 分钟采出一个区块,每采出 21 万个区块(大约 4 年)酬劳减半,因此比特币总数不超过 2,100 万个(btc) ,总数固定可以提升比特币的价值。

【参考资料】比特币采矿是利用不停的重覆计算找出“杂凑”小于“困难指数”,由于流程比复杂,有兴趣的人可以参考《知识力专家社交:区块链的原理》。

比特币 2009 年发行矿工酬劳 50btc,2012 年 12 月第一次减半酬劳剩下 25 btc,2016 年 7 月第二次减半酬劳只有 12.5btc,酬劳下降使手续费成为采矿动机。为了维持大约每 10 分钟采出一个区块,产生新区块的难度会定期调整,每采出 2,016 个区块(大约两周)会自动调整接下来 2,016 个区块的采矿难度。比特币矿工最早使用 Intel 或 AMD 的中央处理器(Central Processing Unit,CPU)产品来挖矿,2013 年矿工开始使使用图形处理器(Graphics Processing Unit,GPU)、现场可程序化逻辑阵列(Field Programmable Gate Array,FPGA)来进行,甚至特定应用积体电路(Application Specific Integrated Circuit,ASIC)投入使得个人矿工已经没有收益。

【参考资料】处理器的种类会影响比特币采矿的难易,到底 CPU、GPU、FPGA、ASIC 有什么差别?为什么会影响比特币采矿的难易呢?有兴趣的人可以参考《知识力专家社交:处理器的种类》。

区块链(Block chain) 的应用

比特币(Bitcoin)主要必须达到 3 个特性:

  1. 交易识别确认:使用可验证的匿名制,确认交易真实,使用者不可否认。
  2. 不可篡改否认:使用区块(Block)与链结(Chain)确保交易资料无法篡改。
  3. 节点资料同步:使用工作量证明(Proof of Work,POW)达成收敛同步。

区块链是集合了几种软件程序的技术,由全世界许多节点(电脑主机)组成的的系统,只要满足 3 个特性的应用都可以用区块链来做,由于区块链落实困难开始演化,并且出现新名字:分散式帐本(Distributed ledger)、分享式帐本(Shared ledger)、超级帐本(Hyper ledger)。

【参考资料】比特币帐本的节点资料同步过程有些复杂,这里不再详细描述,有兴趣的人可以参考《知识力专家社交:工作量证明》。

比特币在法规上存有疑义难以被主管机关接受,因此有人将比特币的部分技术抽离出来寻找新的应用,并且取了新名字:区块链,可能的应用包括:

  1. 加密数位货币(Crypto currency):必须考量主管机关接受程度,例如:比特币、美国邮政货币(Postcoin) ;考量是否适合应用在高频交易,Ripple 将其应用在非即时的跨国金融机构外汇交换业务可能更合适。
  2. 有价资产登录(Value registry):Factom、SmartContract 将分散式帐本应用在所有权与存在证明(Proof of Existence and Possession,POEAP),这类的应用该是目前区块链最成功的例子。
  3. 价值型联网(Value web):进行有价资产登录(Value registry)、智能合约(Smart contract)、国内支付(Domestic payment)、国际支付(International payment)、贸易金融(Trade finance)、资本市场(Capital market)。
  4. 价值生态系(Value ecosystem):应用在非金融服务,Ethereum 将其应用在公开帐本(Public ledger) 提供各种商业应用;R3CEV 将其应用在私密帐本提供各种金融应用。

(首图来源:Pixabay

延伸阅读:

如需获取更多资讯,请关注微信公众账号:Technews科技新报

Dr. J

喜欢研究科技新知,撰写科技教育文章,带领非理工背景的读者们了解艰深困难的科技原理。
相关著作发布于个人网站科技台湾http://www.hightech.tw。
未经许可,任何媒体、网站或个人不得复制、转载、或以其他方式使用本网站的内容,违者必究。

直接使用新浪微博发表评论

 

发表评论