您现在的位置是:首页 > 区块链 > 区块链技术区块链技术

区块链两大核心技术拆解

2019-09-10 16:56:50来源:作者:云泽财富栏目:区块链技术人已围观

简介原标题:​区块链两大核心技术拆解说到区块链是如何做到去中心化、不可篡改、帐本公开的,相信多数人是一知半解的。在区块链这个领域里,究竟有哪些重要的技术创新?通常讲到区块链

原标题:​区块链两大核心技术拆解

说到区块链是如何做到去中心化、不可篡改、帐本公开的,相信多数人是一知半解的。在区块链这个领域里,究竟有哪些重要的技术创新?

通常讲到区块链技术,光是分布式帐本、智慧合约、去中心化应用程序这些专有名词就让人感到头痛。但其实只要了解一点点密码学、一点点程序概念,区块链其实没这么难。

区块链技术

区块链核心技术1:集结密码学、P2P架构的公开帐本

想了解区块链,必须从第一个应用——比特币开始谈起。它解决了数字货币最根本的问题:如何让大家信任帐本上记载的数字。

首先,比特币采用的是P2P(peer-to-peer)网络架构,帐本是公开透明的,只要下载一个程序就能共同维护并存取这份帐本,当有新的交易纪录,每个人的帐本都会一起更新,帮忙作证交易完成,因此不会有A已付钱给B、B却说他没收到的情况。

尽管大家都有帐本存取权,并不是人人都能随意更改帐本。在比特币中,每批交易只能有一个人负责记帐,为了获得记帐权,共同维护帐本的人或计算机(又称节点)必须比赛解出一个复杂的运算问题,最先解出的人就能获得记帐权,这个过程也被称作「挖矿」,而参与抢答的人就叫「矿工」。在记帐前,矿工会检查这笔交易的发起人是否合法,也就是如果交易内容是从A帐户转100元到B帐户,那必须先确认该笔交易是否由A发起。同时,矿工也会确认这笔资金过去是否没被花过,避免重复花费。由于挖矿程序也是公开透明的,大家都认同并遵守这套游戏规则,因此不会怀疑由此新增的交易资料。

在区块链的架构里,每批交易资讯都会被打包成「区块」储存在网络中,每个区块会按照新增的时间顺序串连起来,形成一条「链」。照理说,每个区块后面只会接一个区块,但如果一个区块后面接了两个区块,就会「分叉」成两条链,正常情况下,比较长的那条链会被保留,否则就会出现好几种不同版本的帐本。

再谈细一点,矿工挖矿时必须面对的那些运算,其实是出自密码学的杂凑函数。教导密码学和区块链的台湾大学数学系兼任助理教授陈君明解释,杂凑函数会把餵给它的东西打乱,很难预测结果,无论丢进去什么内容,最后只会算出一个长度固定的杂凑值(hash)。

以比特币为例,矿工把整包区块内容丢进杂凑函数后,会算出256位元的杂凑值。其中,每个区块有好几个字段,包含上个区块的杂凑值、交易内容,唯一可以动的字段称作「随机数」(nonce)。而矿工的工作就是不断调整随机数、放到杂凑函数中,直到算出的数字符合条件,才能把区块接到链上,完成记帐。在比特币的世界里每十分钟只能新增一个区块,所以挖矿的人越多,计算难度也会越高。

不过挖矿需要耗费大量运算资源,大家为什么愿意投入?为了鼓励更多人挖矿,比特币结合激励机制,成功挖到矿的人可获得一笔固定的挖矿奖励,和交易发起人提供的交易手续费。比特币的挖矿奖励每四年减半,从2009年的50颗,到现在只剩12.5颗,不过随着交易量变大,矿工可获得的交易手续费也变多。

除了挖矿,杂凑函数也被用来产生每笔交易的ID──相当于数字指纹,而这些ID又会和上个区块的杂凑值合起来成为新区块的杂凑值。由于只要内容稍有更动,算出来的杂凑值就会截然不同,其他矿工也会发现哪笔交易被篡改,并舍弃掉该交易。可以说是杂凑函数,造就了比特币交易不可抹灭的特性。

区块链核心技术2:用代码打造最有效力的契约:智慧合约

按照以太坊创始人V神的说法,智慧合约是一个可以自动控制数字资产的计算机程序,也可以把智慧合约想像成一台由程序码编写,而且能自动运行的自动贩卖机,投下多少钱,相对应的物品就会掉出。例如,有两个人打赌会不会下雨,如果气象传感器侦测到下雨、并把结果传给智慧合约,那智慧合约会自动把赌金转给赢家。

智慧合约的好处,又或者说把合约写在区块链上的好处是:合约甲乙方可以不必以信任作为立约基础,简单说,就是不用在乎合约对象是否有信用,因为程序码会强制执行合约内容。一旦合约被触发,矿工就会开始执行合约内容,这过程是完全自动且无法干预,延续了区块链的特性,因此合约内容很难被篡改、也几乎不可能违约。

虽然货币是区块链第一个应用,但区块链能做的远大于此,包含身分证、驾照等身分识别纪录,以及专利、商标、着作权等无形资产,都能编码成数字资产并在区块链上登记,甚至就连汽车或房子这类的实体资产也能数字化。想像一下,把住宅钥匙、饭店房卡、汽车钥匙换成密码学中的私钥,拥有私钥的人才能打开车门。

不过,区块链和智慧合约毕竟是底层程序码,要加上简单明了的使用接口,才能成为能让一般人使用的应用服务,像这样基于区块链打造的应用程序,就被称作去中心化应用程序(Decentralized Application,DAPP),其中,以太坊提供一系列DAPP的开发模组,是区块链应用百花齐放的重要推手。

智慧合约就是像计算机程序的「if…then…」条件语,当预先编好的条件被触发,智慧合约会执行相对应的合约条款。然而,过去因为「支付」这环节仍需人为介入,智慧合约一直难以实践,因此,在比特币这类基于区块链的虚拟货币出现后,智慧合约的应用才向前迈进一大步。

Tags:区块链   区块链技术

很赞哦! ()