白话解释什么是区块链

区块链是一个每个字都看得懂,但是各种介绍文章却让人更加疑惑的技术。本文希望可以透过问答与比喻来解释这个技术,让大众也可以理解区块链与其他技术的区别与优势。

虽然说区块链有很多应用,不过让我们先从金融系统开始讲起。

首先要让大家连续思考三个问题,第一个是:

你在银行存了钱,为什么不担心钱被A 走?

其中一个答案是政府从以前的经验学习到银行确实可能有这个问题,所以银行是个国家高度监管的行业,开设与运作程序都有一定规范。因为我们信任国家在发生问题时会协助处理,所以我们可以安心地把钱存在里面,需要时可以提领,不需担心银行会A 我们的钱。

下个问题:

你把钱从建设银行转到农业银行,为什么两间不同的银行可以互相转帐?

钱要在两间银行间转移需要两边的资讯系统可以互通,而且定时会需要有清算机制才知道互相欠对方银行多少钱。但是每间银行的资讯系统如果都要对接,一间间实作是很没有效率的。

为了让国内所有银行都能跨行转帐,有一间由财政部与金融机构合资成立的公司,由它负责整合、交换不同银行之间的资讯系统才得以完成跨行转帐,而因为这间公司由国家以及众多银行共同成立,由大家合资的方式来解决信任问题,让这些银行可以信任财他们来处理跨行转帐业务,如果不是受信任的中介机构来负责,每间银行都会担心会不会少算钱让自己的银行利益受损。

最后一个问题:

你要转帐给美国的朋友,需要填什么信息?

要填的资料有行名、银行卡号、地址与SWIFT code。SWIFT的全名是环球银行金融电信协会(Society for Worldwide Interbank Financial Telecommunication),这个代码是由SWIFT国际合作组织所提供的国际银行代码,加入这个组织的银行可以透过它所提供的服务来进行国际跨行转帐。以我自己的经验每次转帐要花数天到数周的时间不等,其中还有可能会有二到三手的费用产生。网络上的一篇文章《国际汇款以及费用》讲解了过程以及中间可能产生的费用。

加入SWIFT 的银行因为「信任」这个国际合作组织,所以可以做到跨国之前的资产转移,而且虽然说做到了,但是费用跟时间的成本其实也都不低。

说到这边大家应该多少感受到了,这些金融的服务都是建构在一层层的信任关系,个人信任银行与国家,银行之间信任中介组织,不论国内或跨国都相同。我们的金融系统是靠一层层的信任建构而成。

如果没有这些信任关系,我们现在的金融系统是无法建立起如此方便的系统。但金融系统已经存在许多,目前的架构是在数十年前所订定,随着科技日新月异,如今我们已经有更多的技术与科技了。

那让我们反过来问个问题:

如果不靠一层层的信任关系,以现在的科技要怎么打造金融系统?

答案之一就是区块链。

区块链利用了这数十年来累积的科技,创造了一种不需要依靠层层信任关系就可以完成金融系统的科技。转帐给另外一个人,中间是不需要信任一个特定的中介组织,这样的技术类型称为「去中心化」(Decentralized)。当然区块链除了金融系统以外还可以做其他事情,不过今天让我们先专注在解释金融系统。

启文要转钱给马克,该怎么做?

上面有提到以前的金融系统都是由一层层的信任所打造,仔细想想,如果没有这样的信任关系,中国的启文要把钱给高雄的马克是非常困难的,那目前银行跨行转帐运作的方式是怎么做的呢?

启文要转帐5000 元给马克的时候,涉及到两个银行以及一个中介组织。这个中介组织会负责转送双方的需求以及确认条件是否符合,比如说帐户是否存在、转出帐户是否足额,转帐结束后将双方银行的资产变动记录下来,过一段时间后会清算每间银行的资产变动。

那区块链的作法是怎么做呢?首先区块链是去中心化的技术,代表没有像中介组织一样的角色,取而代之的是一台台独立运作的电脑负责处理转帐事务,这些电脑称为节点(Node) 或矿工(Miner)。

银行的中介组织一定要特定机构运作,但区块链的节点则是所有人都可以自由的下载矿工软体并且加入,而这些软体都用相同的规则运作,这个共同的运作规则称作共识机制( Consensus)。这些矿工处理转帐事务会有奖励,这也是为什么大家会想加入当矿工了。

而每矿工的电脑上都记录了一模一样的交易纪录。

启文在银行开帐号的时候通常会需要附上一些文件证明如身分证等资料后才能开帐号,但是在区块链上开帐号则不需要。「建立帐户」按钮压下去,弹指间就会建立一组帐号。

这组帐号里面有地址(Address),类似银行帐户号码;另外还有一把私密钥匙(Private Key),这个私密钥匙功能好比是印章。要转帐时则会用印章盖在交易纪录上,它的功能是让矿工确认转帐金额、帐号等内容是由你发出的。

当启文要转帐给马克时,他会先建立一个转帐表格,上面标注着转帐金额与马克的帐号,接着用自己的私密钥匙在上面盖章,然后把这转帐请求交给任一个矿工(多个也行)就行了。

而网络上的矿工们刚开始的时候大家手上都会拿着一张空白的帐本。当一个矿工收到启文的转帐请求时,会先做些检查比如说帐号是否存在,启文的钱是否足够等。确认完后就会把它在纪录在自己那一页空白的帐本里。

不过因为这些转帐资讯送给哪个矿工都可以,所以其实每个矿工的帐本里面的搜集到的转帐资讯可能会来自不同的人,顺序当然也不一样,启文的转帐需求可能出现在节点A ,但是节点B 可能就没有收集到启文的转帐需求。

当矿工搜集到许多转帐需求直到一个帐本填满时,此时矿工根据共识机制会开始争取记帐权,争取到这页帐本记帐权的矿工会得到奖励。

争取记帐权的方式有些微复杂,主要是在密码学技术当中有一些数学运算计算很复杂,但是验算却很简单的运作方法,这边让我们用个比喻来让事情容易理解一点,这个数学运算有点像是魔术方块:解魔术方块比较困难,但是完成后要验证魔术方块是否完成却很简单,只要看每一面是否颜色都同即可。而且这个魔术方块非常难,平常魔术方块是3x3,你可以想像它是1000 x 1000 的魔术方块(甚至更难)。

当矿工搜集满一整页的帐本后,此时根据这整页的帐本的资讯,矿工的电脑里会生成一个尚待解决的魔术方块,至于上面的色块怎么排列是根据帐本里面的转帐需求计算出来的,因为矿工搜集到的转帐资讯都不同,所以每个矿工得到的魔术方块的色块排列都不一样。

此时搜集满帐本的矿工都会开始解这个魔术方块,但因为很困难的关系所以要花很多时间来解题。第一个解出来的矿工会把自己搜集到的帐本明细,跟可验证解题过程的证据发给其他矿工。其他矿工看到这个魔术方块解题证据很快就可以验证确实它已经解出来了。

其他的矿工很快的验证过后,还没解出来答案的矿工会放弃手边的魔术方块与正在计算的帐本。因为在实际上他不知道自己还要花多久才可以解出这个数学问题(虽然魔术方块是可以评估解题的进度,但是区块链的数学问题是无法评估进度的。这是魔术方块比喻比较不恰当的地方)。

此时矿工们都会将验证后的帐本纳入自己的帐本记录当中标示成「已确认」,并且重新建立一页新的空白帐本,继续往下一轮搜集与计算。值得一提的是这页已确认的帐本的摘要资讯会附在新一页帐本的开头,所以每页帐本都是一页页连在一起的,看起来就像是一条链,在系统里面每页帐本称之为一个区块(Block),这也就是为什么称之为区块链(Blockchain) 的原因。

此时这个矿工就会得到奖赏,举例来说以太坊区块链目前每15 秒会产生一个新的区块,每个区块奖励是2 ETH,以当下(2020/6/18) 的价格来看就是每15 秒钟就会有一个矿工得到3千多人民币。

由于矿工们会互相转送最新的帐本资讯,所以启文的交易纪录也会慢慢的传播开来,马克的帐户里面也会多了5000 元,最终整个区块链网络都会有同一页帐本,而且帐本之间串连的顺序也都会一样,而这也实现了不需要中介机构也可以做到金融系统的目的。

结语

区块链技术对现有的金融系统来说是一个相当大的突破,这代表以往会需要中介机构来用信任关系做资讯交换的地方,利用区块链都可以进一步的减少对中介机构的依赖。比如说银行之间原本一定需要财金公司才有办法有效率地做转帐系统,但是如果使用区块链就不会需要财金公司,甚至也不需要银行。

不过因为国内的金融系统发展已经相当成熟,其实一般民众可能一时之间也感觉不出来区块链的金融系统在平常生活有什么用处。但如果你想要转帐给美国的朋友时可能就会比较有感,如果透过国际转帐最快也要三四天才会到帐,依我自己的经验需要花费100元左右,而且国际转帐一定需要先行设定约定转帐的国外帐号,从国外转到中国时银行还可能会打电话给你确认来源之后才会放行。

以Ethereum 区块链为例,虽然交易费是浮动的但平常大概都是0.2~1元人民币之间,时间通常都是在一分钟内可以完成。网络上有大量交易时时间跟成本都会随之上升,但总体来说都比国际转帐便宜快速许多。

讲到这里,希望读者也对区块链的金融系统有更深的理解了。而区块链的应用不仅仅是在单纯的转帐功能,有许多跟信任相关的场景都可以应用区块链技术来解决。往后如果有机会,再来用浅白的方式解释其他区块链应用。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。