一文弄懂比特幣的交易原理
最近被比特幣等虛擬貨幣刷屏了,比特幣、以太坊、狗狗幣,一大堆名詞撲面而來,不明就里的人們被搞得暈頭轉(zhuǎn)向。
很多人都在關(guān)注虛擬貨幣的大漲大跌,卻幾乎沒有人關(guān)注到底是什么樣的技術(shù),支撐著這么大的一個(gè)幣圈?虛擬貨幣交易的流程,到底是怎么一回事?
非對(duì)稱加密
首先,我們得先理解什么是非對(duì)稱加密。非對(duì)稱加密我們?cè)?jīng)詳細(xì)地對(duì)它進(jìn)行了介紹,這里只簡(jiǎn)單地說一下概念。
對(duì)稱加密指的是加密和解密,用同一個(gè)密鑰。而非對(duì)稱加密其實(shí)很簡(jiǎn)單,加密和解密必須使用一個(gè)密鑰對(duì),密鑰對(duì)包含一個(gè)公鑰和私鑰。
公鑰是公開的,任何人都可以獲取,而私鑰只有自己知道。其他人可以使用公鑰加密數(shù)據(jù),再發(fā)送給你,你再使用相對(duì)應(yīng)的私鑰解密,得到數(shù)據(jù)。
當(dāng)然也可以反向操作,使用私鑰加密數(shù)據(jù),其他人再用公鑰解開。用自己私鑰加密的數(shù)據(jù),只有對(duì)應(yīng)的公鑰才能解開,所以這一方式可以用來驗(yàn)證數(shù)據(jù)的真實(shí)性,也叫數(shù)字簽名。
別人用你的公鑰能解密成功,說明這一數(shù)據(jù)來自于你,而不是其他人,也沒有被篡改過。
虛擬貨幣原理
明白了非對(duì)稱加密,我們很容易理解虛擬貨幣背后的原理。
如果有人想轉(zhuǎn)一些比特幣給你,他就會(huì)使用你的公鑰進(jìn)行加密發(fā)送給你,由于私鑰在你的手里,只有你能解密,因此這筆錢就變成你的了。
可以看出,在整個(gè)虛擬貨幣交易過程中,私鑰非常重要,交易只針對(duì)私鑰,不針對(duì)某一個(gè)人,這也是虛擬貨幣匿名性的體現(xiàn)。
如果私鑰沒有保管好,泄露了,那么自己的虛擬貨幣很容易被人偷走,因?yàn)閯e人可以拿著你的私鑰,冒充你進(jìn)行交易。
交易流程
虛擬貨幣是如何進(jìn)行交易的呢?
首先需要去虛擬貨幣交易所開戶,平臺(tái)會(huì)自動(dòng)生成一個(gè)密鑰對(duì)(公鑰和私鑰),存放在你的錢包里。
在進(jìn)行比特幣交易的時(shí)候,要用到比特幣地址,這個(gè)比特幣地址是怎么來的呢?
這個(gè)地址是由公鑰演變而來的。
根據(jù)協(xié)議,公鑰長(zhǎng)度為512位,這么長(zhǎng)顯然不易于傳播,因此協(xié)議又規(guī)定,應(yīng)為公鑰生成一個(gè)160位的“指紋。”所謂的指紋,其實(shí)就是一個(gè)哈希值。
160位是二進(jìn)制,一般用十六進(jìn)制表示,所以比特幣地址一般在26到35個(gè)字符之間。這樣一來,比特幣的地址大幅縮短了。
在開始交易前,還有一個(gè)問題沒有解決。
因?yàn)楸忍貛诺忍摂M貨幣的交易記錄,是全部公開的,哪個(gè)地址有多少個(gè)比特幣都能被看到。
問題就出在這。
假如地址A說:“我向B地址支付了1個(gè)比特幣。”比特幣要怎么驗(yàn)證這個(gè)交易記錄是真實(shí)發(fā)生的,而不是某一個(gè)人隨意捏造的呢?
根據(jù)比特幣的協(xié)議,當(dāng)A說給B支付了1個(gè)比特幣的時(shí)候,必須提供以下幾種證明:
- 你是從哪里獲得這些比特幣的?
- 你的比特幣地址是多少?B的比特幣地址是多少?
- 你的公鑰是什么?
- 你用私鑰生成的數(shù)字簽名。
如果A地址能提供以上文件,就能證明這次交易真實(shí)發(fā)生了。
當(dāng)A地址和B地址的交易真實(shí)發(fā)生后,還需要將本次的交易數(shù)據(jù)寫入到數(shù)據(jù)庫里,B地址才能真正收到比特幣。
挖礦的礦工們
寫入數(shù)據(jù)庫的這項(xiàng)工作,由挖礦的礦工們承擔(dān),他們負(fù)責(zé)把這一交易記錄寫入到區(qū)塊鏈中。
當(dāng)A地址向B地址支付了1比特幣后,這一行為會(huì)通知所有正在挖礦的礦工們。
交易行為發(fā)生后,會(huì)先通知離A地址最近的那些礦工,當(dāng)這些礦工收到消息后,又會(huì)把消息擴(kuò)散到離他們較近的礦工們,經(jīng)過一圈又一圈的傳播,所有人都會(huì)接收到這筆交易的信息。
根據(jù)比特幣協(xié)議,一個(gè)區(qū)塊大概可以包含2000多筆交易,礦工們負(fù)責(zé)把這2000多筆交易打包起來,組成一個(gè)區(qū)塊,然后計(jì)算這一區(qū)塊的哈希。
這一過程叫采礦,需要大量的計(jì)算,誰能先算出哈希值,誰就能第一個(gè)將這一區(qū)塊添加進(jìn)區(qū)塊鏈,獲得一定數(shù)量的比特幣,而其他礦工會(huì)一無所獲。
虛擬貨幣的交易,大概就是這樣一個(gè)過程,說起來其實(shí)也并不復(fù)雜。但能提出這一革命性構(gòu)想的人,真的很了不起。在全世界無數(shù)愛好者的支持下,虛擬貨幣經(jīng)濟(jì)越來越發(fā)達(dá),其野蠻增長(zhǎng)也受到了各國(guó)的關(guān)注,規(guī)范虛擬貨幣交易,成為全世界各國(guó)的共識(shí)。