1. 程式人生 > >比特幣到底長什麽模樣?

比特幣到底長什麽模樣?

很多 網絡支付 郵件列表 多人 中間 專利 ons 2009年 隨機數

“區塊鏈”、“比特幣”這兩個概念在2017年非常熱。但是,2018年這個概念可能會更熱。

各大互聯網公司相繼發力區塊鏈:百度推出了基於區塊鏈的萊茨狗遊戲,網易推出了基於區塊鏈的星球,阿裏巴巴在區塊鏈的專利申請已經是國內企業的第一位。

區塊鏈發源於比特幣,那麽比特幣到底長什麽樣呢?下面,我們就一起來看看比特幣的真容!

上面的圖片當然不是真的比特幣。比特幣只是一串數字而已。

01 創世區塊

2007年,中本聰提出:

“我相信存在一種不依賴信用的貨幣,我無法阻止自己去思考它。”

2008年11月1日,一封不起眼的帖子出現在論壇的“密碼學郵件組”裏,帖子言論大膽:

“我正在開發一種新的電子貨幣系統,采用完全點對點的形式,而且無需授信第三方的介入。”帖子署名是中本聰(Satoshi Nakamoto)。

2009年1月3日,中本聰把自己的思考落地,他在赫爾辛基的一個服務器上創建、編譯、打包了第一份開源代碼;18時15分,創建了比特幣世界的第一個區塊(block),這一天被稱為“創世日”,而這個區塊也被稱為“創世塊”。

那麽,下面我們就正式來看看這個創世塊的真容吧,下面是創世區塊的鏈接地址:

https://blockchain.info/block/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f?nsukey=qV486C6yJIaopG1HEuXoAqeWvYLkD1Fo8rV7JgvHi27SMRSDuHaWI%2B1PryrBEIEKeEpg0SCeU9Fm0Rm%2F9lngW4v611uQioJ4YOCDr2E1UhZkbK%2BcSXFxQz5VLBy%2B1gzhJuhPJW0sWI847byarFAvDbq4rqkJNuMZqd%2FfOFOWen8SmivODLeMpN2P8Q4wH%2FBDmBvgutVOeZcODUpjc5pa3w%3D%3D

如果你不便打開網頁,我把創世區塊截圖出來:

比特幣第一個區塊創世區塊

是不是一臉懵逼。我簡單來解釋一下創世區塊(BLOCK#0)裏的內容:

每個區塊都分為3個部分:

summary(基本情況)

Hashes(哈希值)

Transctions (交易詳情)

第1部分:summary(基本情況)

Number Of Transcations 是交易數量,因為是第一個交易,所以它的值是1

Output Total 輸出數量,是一筆獎勵50BTC

Estimated Transaction Volume 是輸入值,因為是第一筆交易,來自系統獎勵,所以輸入是0。

Transction Fees 是交易的手續費,剛開始的交易都是不需要手續費的。

Height 區塊在主鏈(Main Chain)中的高度(每增加一個區塊加1),因為是創世區塊,所以為0。

Timestamp 這個區塊創建的時間,是2009年1月3日18時15分5秒。

Received Time 是收到的時間,時間也是2009年1月3日18時15分5秒

Relayed By 中繼,未知。

Difficluty 難度,代表挖礦的難度值,後面會講到,數值為1。

Bits 位數

Size 表示區塊的大小,是0.285kB

Weight 區塊重量,主要是隔離見證和礦工使用的。

Version 表示交易數據結構的版本號

Nouce 是礦工在區塊頭上添加的哈希值數據,後面會講到

Block Reward 是這個區塊獎勵的數量,第一筆是50BTC

第2部分 Hashes(哈希值)

Hash 是這個區塊的哈希值(哈希是一種算法,把數據變成一串數字代碼),是這個區塊的唯一編號

Previous Block 是這個區塊前面一個區塊的哈希散列值,因為前面沒有,所有全是0

Next Block 是這個區塊下一個區塊的哈希值

Merckle Root 是默克爾根,這是一種二叉樹的計算方法,通過Merckle Tree,將區塊頭與區塊體(大量交易)連接(之後有詳細介紹)

第3部分 Transctions (交易詳情)

是這個區塊所記錄的全部的交易情況,每一筆交易都包含交易的時間、輸入地址、輸出地址、交易的數量等信息。因為這一筆交易沒有輸入,所以Input為0,而交易的數量是系統獎勵的50個BTC。

以上這些就是一筆比特幣交易的全部信息。你看,比特幣也不是那麽復雜嘛!

下面,我們將逐漸揭秘比特幣到底神秘在哪裏,我們先從中本聰的《比特幣白皮書》開始了解。如果要想了解區塊鏈,比特幣白皮書是必讀的。

02 比特幣簡明工作原理

1.比特幣解決的痛點

比特幣到底是個什麽東西呢?中本聰是這樣定義的:

是一種完全通過點對點技術實現的電子現金系統,它使得在線支付能夠直接由一方發起並支付給另外一方,中間不需要通過任何的金融機構。

為什麽要創建這麽一個比特幣呢?中本聰指出:我們非常需要這樣一種電子支付系統,它基於密碼學原理而不是基於信用。

換句話說,比特幣能夠讓交易不再需要中間機構,直接用密碼學就能實現人和人之間流暢的交易。(有這樣的願景,被打擊也就不奇怪了!)

2.比特幣記賬與挖礦

傳統的交易,除了線下我們可以直接一手交錢、一手交貨,不需要第三方,遠距離不見面的交易我們必須要一個中介機構。

比如我們在淘寶上買東西,就是通過支付寶,我們把錢提交到支付寶裏面,雙方都確認之後,然後支付寶再把錢打給到另外一方。我們轉賬也是這樣,我們把錢打給一個金融機構,這個機構把這筆錢打給我們需要交易的人,金融機構就是這個第三方。

比特幣是怎樣運行的呢?

你可以把比特幣理解成一個軟件,它在計算機上運行。它的核心功能就是維護一個賬本,這個賬本與我們現實中賬本的不同之處在於,所有的賬本都是一樣的!

所有的交易都是記在一個賬本上,這樣就不會有人提出異議了。但是,誰來負責記賬呢?——這是一個關鍵問題。

中本聰用一個天才的方法把這個問題解決了,這個方法就是——挖礦。

挖礦的礦機其實是一臺能進行告訴計算的電腦,每臺裝有比特幣軟件的電腦都可以通過競爭的方法來記賬,記賬的過程就是把一批交易進行打包,形成一個區塊,就像我們前面看到的那樣,這些區塊一個個首尾相接,就形成了區塊鏈。

為了獎勵這些為交易打包的行為,比特幣對記賬的礦工進行獎勵(剛開始是50BTC,現在則降到了12.5BTC),另外還有這個區塊裏面所有交易的手續費也都歸這個區塊所有。

記完賬之後,就迅速把這個消息通告到全網,那麽還沒完成記賬的電腦就放棄當前的記賬工作,轉而下一次競爭。

所以,很多人說挖礦就是在消費電能,可以這樣理解:消耗的電能是為達成交易共識所必須付出的代價而已,如果不消耗這些電能,就需要一個龐大的金融組織來實現這筆交易,你說哪個消耗更大呢?

為了維持這個共識,礦機所產生的價值要遠遠大於電能的消耗。

3.誰來記賬?

這麽多礦機,誰來負責記賬呢?這就要提到一個概念——PoW(Proof of Work),也就是工作量證明。

礦工所做的工作其實就是來產生一個隨機的哈希值,在第一部分我們講到,你可以返回去看看,這個值是nounce,也就是隨機數。

這個數的生成是一道算術題目,誰先把這個問題解出來了,就由誰來生成這個數字並添加進這個區塊頭裏面,它也就能獲得這個區塊的獎勵和所有的交易手續費。

因為有獎勵,想挖礦的電腦越來越多,也就是算力越來越大,所以挖礦的難度一直在增加。前面我們提到的難度(Difficulty)指的就是這個。

剛開始難度非常低,每個人用電腦CPU都可以挖礦,獲得獎勵,後來有人發現,用顯卡挖礦的效率比CPU高幾百倍(發現這個秘密的人,就是那個傳說中的用1萬個比特幣買了一張披薩的工程師)。

前面我們提到挖礦的難度是1(你可以翻回去看看那張圖),那麽現在的難度是多少呢?

我們可以看一看現在的難度,這個區塊是我寫文章時最新的一個區塊,高度是#508376(你可以通過瀏覽器https://blockchain.info,非常快捷的獲取這些數據)。

我們看到最新的難度值是2,874,674,234,415.94。也就是說,現在的難度系數比2009年增加了兩萬億倍,個人的CPU如果要挖的話,需要十萬年才能挖到一個區塊。

中本聰用這種巧奪天工的方法保證了任何人與人之間都可以構建安全的交易,讓人和人之間不再需要第三方而能建立起信任。所以,美國經濟學人把比特幣稱之為“制造信任的機器”。

而信任就是貨幣的本質,把比特幣稱之為數字黃金一點也不誇張,反而十分的貼切。

03 比特幣前傳

這麽偉大的比特幣,它是怎麽來的呢?

其實,我們提到的中本聰,很多技術他都不是始作俑者,他只是眾多技術的一個集大成者而已。

他雖然在2007年提出了這個數字貨幣的概念。但是早在20世紀30年代,加密貨幣的最初設想就已經出現了。

1982年,大衛喬姆提出了不可追蹤的密碼學網絡支付系統,而這其實才是今天比特幣的老祖宗。

1991年 Stuart haber和 Scott stornetta 發表論文: How to TimeStamp a Digital Document,他們提出用時向戳確保數字文件安全的協議,這也時是今天所謂區塊鏈鏈條的雛形。

1991年,菲爾齊默爾基於RSA公鑰加密體系開發了一個郵件加密系統PGP,它 能夠保證郵件內容不被篡攻。

1997牛,亞當拜克( Adam back)發明了一種哈希現金( Hashcash)算法機制,而哈希算法在比特幣的白皮書中,就被中本聰用來解決了零信任基礎的共識問題。

1998年,戴偉(Wei Dai)提出了匿名的、分布式的電子加密貨幣系統B- money(這肯定是一個華人嘛)。在比特幣的官網上,B-money被認為是比特幣的精神先導,中本聰與他的交流很多。

所以,中本聰在這些層不出窮的技術發展之上,於2007年提出了比特幣的概念,並最終在2009年創建出了比特幣系統。比特幣的誕生過程,就像是一個接力賽,中本聰剛好是那個接了最後一棒的幸運兒而已。比特幣的誕生其實是20多年密碼和數字技術的積累和不斷演進的結果而已。

然而,為了防止被強大的政府迫害,中本聰一直小心的隱藏著自己,他的公開信息都是通過暗網來傳達,很多人試圖找到他,但始終沒有人知道他是誰。

2008年,他在密碼朋克的郵件列表中提升了自己的創意。

2009年1月3日,中本聰發布比特幣客戶端,宣告了特幣的誕生。

2010年12月12日,中本聰在比特幣論壇發布了最後一個帖子,活動頻率逐漸降低。

2011年4月,他發布景後一項公開聲明,宣稱自已已經開始專註於其他項目。

此後,中本聰消失,再未現身……

中本聰只是歷史選擇的一個替身而已,他的消失也宣布了源於比特幣的區塊鏈世紀,正式拉開了帷幕……

比特幣到底長什麽模樣?