比特幣的發(fā)明人中本聰留下過(guò)一篇關(guān)于比特幣算法的論文。本文解析這篇論文,介紹比特幣的密碼學(xué)基礎(chǔ)。
比特幣是近年來(lái)互聯(lián)網(wǎng)金融創(chuàng)新最引人注目的現(xiàn)象之一。比特幣不需要第三方信用支撐,直接把P2P的信用基礎(chǔ)建立在密碼學(xué)協(xié)議之上。在經(jīng)濟(jì)學(xué)上,它實(shí)踐了哈耶克提出的設(shè)想:流通貨幣應(yīng)該由市場(chǎng)起決定性作用,優(yōu)勝劣汰。在密碼學(xué)上,它解決了數(shù)字貨幣重復(fù)支付的難題。在社會(huì)學(xué)上,它已經(jīng)開(kāi)始形成了全球互聯(lián)網(wǎng)金融生態(tài)圈。在未來(lái)學(xué)上,它給我們提供了以下可能性和發(fā)展機(jī)遇:可能通過(guò)互聯(lián)網(wǎng)P2P形成全球貿(mào)易的“超主權(quán)”貨幣體系,可能在一些通脹異常嚴(yán)重的國(guó)家出現(xiàn)通縮性數(shù)字貨幣救市的現(xiàn)象,可能大幅度降低全球貿(mào)易的信用成本。
中本聰(Satoshi Nakamoto)在創(chuàng)建比特幣時(shí),需要解決三個(gè)核心問(wèn)題:
第一,交易確認(rèn),利用互聯(lián)網(wǎng)P2P協(xié)議,防止貨幣的重復(fù)支付(即防止造假幣)。
第二,比特幣的發(fā)行。
第三,保護(hù)比特幣系統(tǒng)不受惡意攻擊。通過(guò)研究中本聰關(guān)于比特幣的文獻(xiàn)《比特幣:P2P電子現(xiàn)金體系(Bitcoin: A Peer-to-Peer Electronic Cash System)》,我們可以發(fā)現(xiàn),中本聰設(shè)計(jì)的比特幣,通過(guò)挖礦、記賬、算力保護(hù),從而“一石三鳥(niǎo)”地解決了上述三個(gè)核心問(wèn)題。
據(jù)清華大學(xué)密碼學(xué)專家王小云教授介紹,比特幣的發(fā)行(俗稱“挖礦”),是建立在SHA-256密碼系統(tǒng)之上的。SHA是Secure Hash Algorithm的縮寫(xiě),意思是基于哈希(Hash)函數(shù)算法的加密系統(tǒng)。以下我們通過(guò)解析SHA-256密碼學(xué)系統(tǒng),來(lái)分析展示中本聰解決問(wèn)題的方法和思路。
哈希函數(shù)是一種加密算法,一般寫(xiě)為:h=hash(m),h代表哈希值,m代表對(duì)應(yīng)這個(gè)哈希值的解(message)。哈希函數(shù)的特點(diǎn):一是已知m,通過(guò)h=hash(m)很容易驗(yàn)證出它對(duì)應(yīng)的哈希值h,但反過(guò)來(lái)很難,就是已知哈希值要求出對(duì)應(yīng)的解m很難。正是由于哈希函數(shù)有這樣運(yùn)算的不對(duì)稱性,或者說(shuō)不可逆性,所以它特別適合為密碼學(xué)所用。比如哈希值就適合當(dāng)加密的“公鑰”,可以完全公開(kāi),但是人們即使得到了公鑰,也幾乎不可能一下子算出它的“私鑰”,也就是哈希函數(shù)的解m。但是反過(guò)來(lái),如果我們已知私鑰m,卻很容易驗(yàn)證它對(duì)應(yīng)的公鑰就是哈希值h,這就是所謂“不對(duì)稱加密算法”。
哈希函數(shù)的第二個(gè)“寶貴”特性是:如果“解”(即私鑰)稍有不同,那么它對(duì)應(yīng)的哈希值就會(huì)有很大不同,這叫雪崩效應(yīng)(avalanche effect)。哈希函數(shù)所具有的這個(gè)優(yōu)秀特性,保證了不同的私鑰(哪怕只有一點(diǎn)點(diǎn)差別),都不會(huì)和對(duì)應(yīng)的公鑰搞混!進(jìn)一步我們可以了解:SHA-256是基于十六進(jìn)位制的加密系統(tǒng),也就是每一位上允許有十六個(gè)比特幣的不同信息,一般用十個(gè)阿拉伯?dāng)?shù)字和前六個(gè)英文字母表示,即0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f。所以,你要是看到這樣一個(gè)十六進(jìn)位的哈希
值:Hash:00000000000000004cf3aa249551432fa84da4de05e9cfc3e6d95a5ce8bed5f7,這是比特幣世界2014-02-08T 03:06:30美東時(shí)間,剛挖出的一個(gè)比特幣區(qū)塊(block)對(duì)應(yīng)的哈希值,不要覺(jué)得奇怪!
之所以叫SHA-256,就是因?yàn)槠涔V涤?4位,每一位上有十六比特也就是二的四次方種選擇,這樣總的哈希值就可以有2的256次方個(gè)比特。
真是天文數(shù)字!中本聰把SHA-256加密算法選為比特幣的挖礦算法,因?yàn)楣V登懊婷吭黾右粋€(gè)零,尋找其解m的難度就會(huì)增加二的四次方倍。因?yàn)镾HA-256還沒(méi)有像王小云教授的SHA-1那樣被破解,所以任何一個(gè)六十四位的哈希值,要找到其解m,都沒(méi)有固定算法,只能靠計(jì)算機(jī)隨機(jī)的hash碰撞。一個(gè)挖礦機(jī)每秒鐘能做多少次hash碰撞,就是其“算力”的代表,單位寫(xiě)成hash/s,這就是所謂工作量證明機(jī)制POW(Proof Of Work)。
正是基于SHA-256這種十六進(jìn)位制的加密算法,中本聰在他最原始的比特幣論文中寫(xiě)道:“工作量證明過(guò)程包括掃描SHA-256的哈希數(shù)由多少個(gè)0開(kāi)頭,每增加一個(gè)0,平均工作量都會(huì)有指數(shù)級(jí)的增加,就是二的四次方,增加了多少個(gè)零就是多少個(gè)二的四次方乘在一起倍數(shù)的工作量增加,這些將在解一個(gè)哈希數(shù)(也就是挖一個(gè)比特幣區(qū)塊過(guò)程)中得到證明?!?/p>
比特幣系統(tǒng)就是靠對(duì)于挖礦的哈希值前面加零來(lái)控制挖幣的總量,不管全網(wǎng)算力如何增加,都能通過(guò)在哈希值前面加零來(lái)保證平均每十分鐘每個(gè)區(qū)塊目前都只能挖出25個(gè)幣(前四年是每十分鐘50個(gè)幣),這樣建立礦工,就自然解決了第二個(gè)問(wèn)題,即比特幣發(fā)行的問(wèn)題。
那么比特幣是怎樣利用密碼學(xué)挖礦系統(tǒng)來(lái)防止重復(fù)支付呢?就是靠這些“挖礦”的計(jì)算機(jī)算力來(lái)同時(shí)“記賬”和蓋時(shí)間戳(time stamp),每十分鐘挖出一個(gè)區(qū)塊,必須記錄這十分鐘全網(wǎng)的比特幣交易和給每一個(gè)交易蓋上時(shí)間戳,每一筆交易必須通過(guò)全網(wǎng)產(chǎn)生區(qū)塊的節(jié)點(diǎn)(node)六次確認(rèn),才能算合法交易,這樣一個(gè)龐大的記賬和蓋時(shí)間戳系統(tǒng),保證了重復(fù)支付的不可行(因?yàn)槊總€(gè)時(shí)間戳都要檢驗(yàn)再次交易之前這些比特幣沒(méi)有支付過(guò),才會(huì)蓋上“戳”,這樣也保證原比特幣持有者無(wú)法再支付給此次交易之外的第三方了。)所以,整個(gè)比特幣系統(tǒng)的“挖礦”,既保證了比特幣的正常發(fā)行,也保證了它的記賬,從而避免了重復(fù)支付的可能。所謂“礦工”,同時(shí)也應(yīng)該叫記賬員,特別是等到2040年比特幣大部分已經(jīng)被挖出,礦工們的工作獎(jiǎng)勵(lì)主要靠收取“交易費(fèi)”時(shí),他們就更應(yīng)該被稱為“記賬員”了。
第三個(gè)問(wèn)題
即保護(hù)比特幣系統(tǒng)不受惡意攻擊的問(wèn)題,中本聰是怎么設(shè)計(jì)的呢?其實(shí)“礦工”對(duì)于比特幣世界還有一個(gè)重要的功能就是“保護(hù)”,按照中本聰最初的比特幣系統(tǒng)協(xié)議,必須持有全網(wǎng)51%算力的人,才有可能攻擊比特幣系統(tǒng),并造成重復(fù)支付(也就是造假幣)。據(jù)比特幣挖礦資深人士透露,當(dāng)前算力成本每年維持1G hash/s約需要240元人民幣,即現(xiàn)在比特幣全網(wǎng)算力的年成本是9.6億美元,這是保護(hù)比特幣系統(tǒng)的基礎(chǔ)力量,也是它現(xiàn)有價(jià)值的支撐
鏈信也作為比特幣的一種,比特幣所具有的的所有特點(diǎn),鏈信CCT也是具有的,鏈信作為一家負(fù)責(zé)的公司,希望通過(guò)社交產(chǎn)生價(jià)值,目前已有上千萬(wàn)的用戶,鏈信的成功不是一蹴而就,每一滴水加一起 可以成為一片大海 鏈信的明天會(huì)更好
-
互聯(lián)網(wǎng)
+關(guān)注
關(guān)注
54文章
11182瀏覽量
103616 -
P2P
+關(guān)注
關(guān)注
0文章
152瀏覽量
26785 -
比特幣
+關(guān)注
關(guān)注
57文章
7006瀏覽量
140970
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論