
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1
隨著對比特幣的了解越多,越發(fā)覺得比特幣的發(fā)明及設計是如此的令人驚嘆,所以總也忍不住好奇比特幣到底是怎么被發(fā)明出來的。
說到比特幣,那就不得不提一個人,中本聰——比特幣的創(chuàng)造者,一個江湖中到處都是他的傳說,但卻堅持要把神秘主義原則詮釋到底,只留給世界一個背影的區(qū)塊鏈技術領域的先行者和開拓者。
眾所周知,中本聰?shù)膫髌鏆v史,同時也是比特幣的問世,始于2008年的一篇論文《比特幣:一種點對點的電子現(xiàn)金系統(tǒng)》,背景是基于2008年的全球經濟危機,美國政府仗著自己的記賬權無限增發(fā)貨幣,這讓中本聰覺得很不靠譜,于是思考能不能有這樣一種現(xiàn)金支付體系:不需要一個中心來記賬,大家都有權來記賬,貨幣不能超發(fā),整個賬本完全公開透明,十分公平。
中本聰之所以有這樣的想法,就在于對于記賬貨幣來說必須有一個記賬方,這個記賬方多數(shù)時候是銀行或者第三方支付機構,這是一個中心化的記賬方式,一旦銀行等受到類似黑客的攻擊,數(shù)據就有可能被篡改,除此之外,它高度依賴于銀行的信用,存在不安全的可能。
但如果記賬方由一個中心變?yōu)槎鄠€中心,由原來的只能銀行記賬變成人人都可以記賬,是不是就解決了上述問題,這也就是“去中心化”概念,同時也是中本聰發(fā)明了比特幣的由來。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2? ??
相信到此你也知道了比特幣產生的背景及要解決的問題,那么新的問題來了。
既然人人都能記賬,怎么保證每個人手里的賬本是統(tǒng)一的呢?如何保證賬本不被壞人惡意修改數(shù)據呢?畢竟,誰都有權利記賬,也就意味著誰都有可能作弊。
這時候,就引出了比特幣底層所依賴的一個叫做“區(qū)塊鏈”的系列技術集合,來保證賬本不被修改。
中本聰制定出了一套規(guī)則:
1.規(guī)定比特幣總量恒定為2100萬枚??
這也就解決了傳統(tǒng)的中心化組織可以無限發(fā)行貨幣,導致通貨膨脹的問題。
2.那如何發(fā)行比特幣呢?
中本聰把比特幣發(fā)行與記賬行為綁定在了一起,誰獲得一次記賬權,就會得到系統(tǒng)產生的新的比特幣作為獎勵。通常我們把通過競爭獲得記賬權的過程稱為“挖礦”,而競爭挖礦(也就是記賬)的人或組織稱為“礦工”。這也解釋了為什么大家要競爭記賬。
3.記一次賬對應一個區(qū)塊的產生,也就是一頁賬單的生成,同時也是比特幣的發(fā)行,那為了獲得比特幣,大家都搶著記賬,怎么決定最終誰有記賬權?
規(guī)定每10分鐘出一頁賬單,即產生一個區(qū)塊,這里先說一下,所謂的區(qū)塊,就是平均每10分鐘網絡誕生賬本的一頁。在這10分鐘內,大家要競爭記賬權,通過解答數(shù)學題的方式,誰先解答出來誰就擁有了記賬權,這中間有個“算力”的概念,即計算出數(shù)學難題答案的速度和能力,在比特幣系統(tǒng)中,是計算機做隨機的哈希碰撞來爭奪記賬權。
為什么要規(guī)定10分鐘出一個塊呢,可以理解為中本聰綜合考慮了效率,網絡延遲,寬帶,安全等因素,10分鐘是一個當時相對合適的時間,可以讓大家有充分的時間同步所有的信息。
毫無疑問,算力越高,解答出難題的概率就越大,獲得記賬權的概率也就越高。這種為了獲得記賬權付出了工作量,依靠工作量來證明記賬權達成的共識機制叫做“工作量證明”,簡稱POW。
簡單理解,所謂的“工作量證明”,就是一份證明,用來確認你做過一定量的工作。比如現(xiàn)實生活中的畢業(yè)證、駕駛證等等,就是通過檢驗你完成了一定知識的學習或者駕駛過一定時間的汽車,來證明你的技能的。也就是說通過這個結果證明你曾經做過這件事,曾經耗費過所謂的工作量。
4.每次記賬單的人能獲得多少新比特幣作為獎勵呢?
最開始每個區(qū)塊的獎勵是50枚比特幣,然后每21萬個區(qū)塊,也就是大概每4年減半一次,一直到2140年全部獎勵完,也就是比特幣全部發(fā)行完畢。目前的比特幣獎勵數(shù)量為2016年7月8號開始進行第二次減半之后的12.5枚。
5.如何判斷什么時候減半?
根據區(qū)塊高度,一個區(qū)塊的高度是從比特幣誕生以來,第多少個區(qū)塊!通過區(qū)塊高度,可以計算出大概還有多久,比特幣會進行下一次減半、多久會進行難度的調整、多久進行一次大事件。
區(qū)塊中包含什么信息呢?
大體來說兩部分:第一部分信息是這個區(qū)塊的身份信息?。包括這個區(qū)塊誕生的時間、是第多少個、哈希值是多少、整個區(qū)塊大小多少。這些信息證明了這個區(qū)塊是正確的,是沿著上一個區(qū)塊往下的區(qū)塊 ,也給下一個區(qū)塊提供了驗證身份的信息。
區(qū)塊的第二部分信息是這段時間內產生的網絡里的交易,也就是這個賬本的里記錄的每一筆交易。注意,這里說的 “交易”,是指你給隔壁老王在某個時間點轉了 N 個比特幣的時候,這樣的轉賬信息,不是我們說的用法定貨幣兌換比特幣這樣的買入賣出交易。
5.隨著新生比特幣每四年減半,新生比特幣獎勵越來越少,那么礦工還有動力挖礦嗎?
答案是肯定的。因為礦工們挖礦除了系統(tǒng)產生的新比特幣作為獎勵外,還有另外一部分收入,就是大家給的比特幣轉賬的手續(xù)費。隨著使用比特幣的人和機構越來越多,全球比特幣轉賬越來越頻繁,轉賬手續(xù)費總量也會越來越大,手續(xù)費會成為未來礦工的主要收入來源。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?3
看到這里,還是不知道如何保證賬本的統(tǒng)一及防止數(shù)據的篡改的話,繼續(xù)往下:
我們知道比特幣最重要的特性之一是:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 去中心化
表現(xiàn)在于人人都能記賬,每個人對應的每個節(jié)點在比特幣系統(tǒng)中都是平等的,之前的中心化記賬是由類似中央銀行的機構來驗證交易的,那去中心化的本質就是讓所有節(jié)點都能驗證交易的真?zhèn)巍?/b>
依靠什么來驗證?
中本聰使用了非對稱加密,就是指加密和解密的時候使用不同秘鑰的加密算法。
舉個例子:A 要向 B 發(fā)送信息,A 和 B 都要產生一對用于加密和解密的公 鑰和私鑰。A 的私鑰保密 ,A 的公鑰告訴 B;B 的私鑰保密,B 的公鑰可以告訴 A。A 要給 B 發(fā)送信息時,A 用 B 的公鑰加密信息。 B 收到這個消息后, B 用 B 的私鑰解密 A 的消息。其他所有收到這個信息的人都無法解密,因為只有 B 才擁有這把私鑰。
公鑰和私鑰在非對稱加密機制里是成對存在的,公鑰和私鑰可以去相互驗證對方。
這又讓我想到了關于中本聰?shù)膫髡f,比特幣歷史上出現(xiàn)過好幾次因為“中本聰”這個名字引起的大事件,因為中本聰實在是太神秘了,全世界沒人見過中本聰,也沒有人聽過他的聲音,F(xiàn)BI和全世界的媒體都在找他,但誰也沒找到,直到一天一個澳大利亞企業(yè)家克雷格·史蒂芬·賴特站出來聲稱自己就是如假包換的比特幣創(chuàng)始人中本聰,并出示了一筆交易來證明,那么他真的就是中本聰嗎?人們會相信他嗎?如何證明?
其實,要證明自己是中本聰很簡單,只需要使用“創(chuàng)世區(qū)塊”里的私鑰對“創(chuàng)世區(qū)塊”的公鑰簽名,隨意使用什么簽名文本都無所謂,因為“創(chuàng)世區(qū)塊”的私鑰一定為比特幣的發(fā)明人所有。
結果不言自明,當然最后假中本聰事件還是被真中本聰?shù)囊环忄]件給平息了,他在郵件淡定地說道“我不是克雷格·賴特,我們每個人都是中本聰”,轉身又留給世界一個背影,在江湖上留下他的傳說,好帥有沒有?
這下我們知道,非對稱加密技術保證了比特幣的去中心化特點 ,當然還有分布式存儲也同樣保證了比特幣的去中心化。
接著我們看比特幣的另一特性:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 無法被篡改
區(qū)塊鏈技術如何保證賬本無法被篡改? 或者為什么說區(qū)塊鏈賬本是無法篡改的?
這一點由比特幣采用的工作量證明機制和最長鏈機制來保障。
工作量證明機制,上面說過了,是 一種對在差不多時間內發(fā)生的事務的先后順序達成共識的一種算法。
工作量證明的特點,對于執(zhí)行一方來說,難度是適中的,對于驗證方來說卻是非常容易被驗證的,也就是說“解起來困難而驗證容易”。
舉個例子,可以把礦工們?yōu)楂@得記賬權進行的哈希計算用大家比賽完成一個同等混亂程度的魔方的還原來代替,可能完成魔方的還原需要投入一定的精力,但驗證魔方是否還原完成卻一眼就可以驗證。
在礦工挖礦成功獲得記賬權,也就是第一個成功還原魔方的人出現(xiàn)后,其他節(jié)點進行簡單驗證之后(其他人對該魔方進行驗證)就可以同意礦工記賬,與此同時大家同步自己的賬本,緊接著開始下一輪算力競賽,也就是開始新的一個魔方的還原競賽。我們可以理解為每一頁賬單都對應有一個還原好的魔方。
補充一下:各個區(qū)塊打包之后,會打上時間戳,按照嚴格的先后順序,跟之前的區(qū)塊連接起來,(這里需要知道,每個區(qū)塊都會包含上一個區(qū)塊的唯一標識值,一直可以追溯連接到創(chuàng)世區(qū)塊),這也是區(qū)塊鏈的由來。
如果某個人想要篡改區(qū)塊鏈中的某一條交易信息,那么這條交易信息對應的區(qū)塊就會隨之改變,那么當前區(qū)塊之后的下一個,下下一個…區(qū)塊也會隨之改變。
上面說了,每個區(qū)塊都會包含上一個區(qū)塊的唯一標識值,這個標識值的重要特性就是一旦上一個區(qū)塊的信息有任何改變,原來的標識值就會立馬失效,所以要篡改的人需要從當前區(qū)塊開始把之后所有的區(qū)塊都重新計算一遍, 把賬本再同步給其他人。
也就是說需要把當前這頁賬單連同之后所有賬單所對應的魔方都還原好,再趕上大家的進度并領先完成,要知道,他進行計算的同時,其他礦工們已經在原 來的鏈上繼續(xù)往前進行記賬了。 因為在比特幣的網絡里,大家認為最長的鏈才是正確的鏈。這個惡意篡改的人,需要在很短的時間內趕上現(xiàn)有區(qū)塊的高度,讓自己的這條區(qū)塊鏈成為最長的鏈,讓其他礦工誤以為這是正確的賬本。
除非這個惡意篡改的人,擁有非常大的算力,至少超過 50%,否則基本上沒有可能進行這樣的篡改。回到拼魔方的例子,兩種情況,一是你是世界高手,每次都能第一個拼出來,秒殺其他人,然后修改數(shù)據,當然這種情況下會導致大家拼命的提高自己的技術;二是你沒有完成魔方的還原,但賄賂所有參加魔方還原比賽的其他人,同意你已經完成, 可以獲得記賬權,但這樣做也會讓大家放棄比賽,那你的行為也將變得毫無意義。
另外,從經濟學的角度來說,這種 51%的攻擊也是非常不科學的。首先想擁有51%的算力需要非常雄厚的經濟實力和技術實力做支持,其次當這個攻擊的確發(fā)生,比特幣的區(qū)塊鏈得到了篡改,比特幣的價格將會變得一文不值。通過這個篡改獲得的利益也會受到很大的損失??偠灾?,想篡改比特幣賬本,簡直是比登天還要難,同時也無利可圖。
最后,我們再來看看比特幣的另一特性:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?不可偽造
如何保證一筆交易中的比特幣不是偽造出來的,而是真的比特幣呢?或者如何保證一筆交易中的一個比特幣沒有同時轉給兩個人或者三個人呢?
這就不得不提到UTXO(Unspent Transaction Outputs),所謂“UTXO”,具體的意思是未花費的交易輸出,是不能再分割、被所有者鎖住或記錄于區(qū)塊鏈中的并被整個?絡識別成貨幣單位的?定量的?特幣貨幣。它是比特幣交易生成及驗證的一個核心概念。
注意:在?特幣的世界?既沒有賬?,也沒有余額,只有分散到區(qū)塊鏈?的UTXO。
用我們非常熟悉的 紙幣來舉例幫我們理解UTXO,假設我要給你 20 元錢,其中 2 張 5 元紙幣,1 張 10 元紙幣。而我的這 2 張 5 元,來自水果店老板給我的找零,這 1 張 10 元來自加油站給我的找零,拿 到這三張鈔票之后,我還沒有花出去,才 能給你。
這就叫未花費的交易輸出。
水果店老板的這 2 張 5 元鈔票, 又來自其他人,加油站的 1 張 10 元鈔票,也可能來自于其他人。這樣這些鈔票,可以順藤摸瓜一直追溯到發(fā)行 的那一刻,由印鈔公司根據央行批準發(fā)行出來,并首先發(fā)給了哪家銀行, 最后流通到市場上的。由此驗證這三張鈔票都是真的。
比特幣的 UTXO 也是這樣的結構。在比特幣世界里的每一筆轉賬,都能能夠追溯到上一筆交易。每一筆付款,都可以追溯到上一筆的收款。我給你的0.1個比 特幣, 必須是別人給我的、我還沒有進行花費的比特幣。 然后可以一直往上追溯到它誕生時礦工挖出來的那個區(qū)塊。
這個機制, 保證了比特幣不可被偽造,不可以被重復支付。重復支付,在比特幣世界被叫做“雙花 ”,?就是花了2 次?。 在 比特幣之前 , 一直沒有數(shù)字資產能夠解決雙花問題,而中本聰用這個機制,解決了這個信任問題,使得比特幣能夠被廣泛的應用。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 4
最后,基于上面所講述的一系列區(qū)塊鏈技術原理,比特幣完美的實現(xiàn)了價值傳遞,所謂的價值傳遞,完全不同于互聯(lián)網的信息傳遞。
眾所周知,在互聯(lián)網上,我們可以輕易的傳送信息。不論你是在美國,還是在非洲,只要有互聯(lián)網,就能實現(xiàn)點對點的信息傳遞。但是互聯(lián)網傳遞信息的方式是復制,比如你有一張照片,發(fā)給了你的朋友,其實不是傳遞給了朋友,而是發(fā)給了他一份副本。
互聯(lián)網這種副本的信息傳遞方式,在諸如版權、貨幣、票據等價值載體的傳遞中會出現(xiàn)問題。因為我們不可能傳遞給別人一份帶有版權的文檔之后,自己手里還有一份。舉個極端的例子,你給別人轉過去一筆錢,你不可能自己再擁有這筆錢的。
價值的傳遞和信息的傳遞,不一樣在于:價值的傳遞要求信息的傳遞與價值的傳遞同時進行。而比特幣所帶來的區(qū)塊鏈,在一個沒有中心化機構的情況下,實現(xiàn)全球范圍的價值傳遞,如何互聯(lián)網將人類社會帶入了信息時代一樣,比特幣所帶來的區(qū)塊鏈將有可能帶領人類進入一個全新價值交換時代。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 小結
關于比特幣,關于區(qū)塊鏈,還有很多值得我們探索的技術及知識,希望這篇文章可以幫助更多人了解比特幣的基礎原理,進入區(qū)塊鏈世界的大門。
感謝您的閱讀,歡迎你的關注,希望我們一起深耕,一起收獲!
---------------------------------------
我是(幣圈娜姑娘)李拉拉(微信號:lina_lala),一個職業(yè)編程妹子、區(qū)塊鏈研究者、跑步健身愛好者,期望與您一起學習,一起進步!
喜歡記得點贊關注哦!