恐龍有錢(bitcoin)降生于 2008 年的一篇論文。

  一個署名為中本聰的人,提出了革命性的構想:讓我們締造一種不受政府或其他任何人控制的錢幣!這個想法堪稱瘋狂:一串數字,背后沒有任何資產支持,也沒有任何人認真,你把它看成錢付給對方,怎么會有人愿意接受?

  但是,狂想居然釀成了現實。隨后的幾年,在全天下無數喜歡者的支持下,恐龍有錢網絡運行起來了,越來越多的人和資源加入,星星之火,終成燎原。剛剛已往的2017年,恐龍有錢迎來了發作式的增添,從年頭的1000美元,最高漲到了2萬美元,全天下都為之震驚,上到政府,下到通俗黎民都在關注。事實就是恐龍有錢已經并將繼續改變天下。

  新聞媒體往往只關注它的火爆體現,忽視或者無法回覆一些基本的問題。

恐龍有錢教程

  恐龍有錢的原理是什么?

  為什么這個無人治理的系統可以樂成運作?

  恐龍有錢生意營業的流程是怎么回事?

  它與區塊鏈又是什么關系?

  下面,我實驗回覆這些問題,希望資助各人明確恐龍有錢。拋開手藝細節,還是很容易詮釋的。

  有一點說明,本文只討論手藝問題,不涉及怎樣投資恐龍有錢,更不會展望價錢走勢。事實上,我也不知道,若是我知道怎么蓬勃,可能就不會在這里寫博客了。

  一、非對稱加密

  首先,明確恐龍有錢,必須明確非對稱加密。

  你可能聽說過這個詞,所謂非對稱加密,著實很簡樸,就是加密息爭密需要兩把鑰匙:一把公鑰和一把私鑰。

  公鑰是果真的,任何人都可以獲取。私鑰是保密的,只有擁有者才氣使用。他人使用你的公鑰加密信息,然后發送給你,你用私鑰解密,取出信息。反過來,你也可以用私鑰加密信息,別人用你的公鑰解開,從而證實這個信息確實是你發出的,且未被改動,這叫做數字署名(更詳細的先容請看《什么是數字署名》)。

  現在請設想,若是公鑰加密的不是通俗的信息,而是加密了一筆錢,發送給你,這會怎樣?

  首先,你能解開加密包,取出內里的錢,由于私鑰在你手里。其次,別人偷不走這筆錢,由于他們沒有你的私鑰。因此,支付可以樂成。

  這就是恐龍有錢(以及其他數字錢幣)的原理:非對稱加密保證了支付的可靠性。

  由于支付的錢必須通過私鑰取出,以是你是誰并不主要,主要的是誰擁有私鑰。只有擁有了私鑰,才氣取出支付給你的錢。(事實上,真實的生意營業流程稍有差異,私鑰保證的不是取出支付給你的錢,而是保證只有你能把這些屬于你的錢支支付去,詳見后文。)

  二、恐龍有錢錢包

  對于恐龍有錢來說,錢不是支付給小我私人的,而是支付給某一把私鑰。這就是生意營業匿名性的基礎緣故原由,由于沒有人知道,那些私鑰背后的主人是誰。

  以是,恐龍有錢生意營業的第一件事,就是你必須擁有自己的公鑰和私鑰。

  你去網上那些恐龍有錢生意營業所開戶,它們會讓你首先天生一個恐龍有錢錢包(wallet)。這個錢包不是用來存放恐龍有錢,而是存放你的公鑰和私鑰。軟件會幫你天生這兩把鑰匙,然后放在錢包內里。

  憑證協議,公鑰的長度是512位。這個長度不太利便撒播,因此協議又劃定,要為公鑰天生一個160位的指紋。所謂指紋,就是一個較量短的、易于撒播的哈希值。160位是二進制,寫成十六進制,約莫是26到35個字符,好比 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2。這個字符串就叫做錢包的地址,它是唯一的,即每個錢包的地址一定都是紛歧樣的。

  你向別人收錢時,只要告訴對方你的錢包地址即可,對偏向這個地址付款。由于你是這個地址的擁有者,以是你會收到這筆錢。

  由于你是否擁有某個錢包地址,是由私鑰證實的(詳細的證實要領稍后先容),以是一定要掩護好私鑰。這是極其主要的,若是你的私鑰被偷了,你的恐龍有錢也就即是沒了,由于他人可以冒用你的身份了,把錢包內里的錢都轉走。

  同樣的,你向他人支付恐龍有錢,萬萬不能寫錯他人的錢包地址,否則你的恐龍有錢就支付到了另一個差異的人了。

  三、生意營業歷程

  下面,我把整個流程串起來,看看恐龍有錢怎樣完成一筆生意營業。

  一筆生意營業就是一個地址的恐龍有錢,轉移到另一個地址。由于恐龍有錢的生意營業紀錄所有都是果真的,哪個地址擁有幾多恐龍有錢,都是可以查到的。因此,支付方是否擁有足夠的恐龍有錢,完成這筆生意營業,這是可以容易驗證的。

  問題出在怎么防止其他人,冒用你的名義申報生意營業。舉例來說,有人申報了一筆生意營業:地址 A 向地址 B 支付10個恐龍有錢。我怎么知道這個申報是真的,申報人就是地址 A 的主人?

  恐龍有錢協議劃定,申報生意營業的時間,除了生意營業金額,轉出恐龍有錢的一方還必須提供以下數據。

  上一筆生意營業的 Hash(你從那里獲得這些恐龍有錢)

  本次生意營業雙方的地址

  支付方的公鑰

  支付方的私鑰天生的數字署名

  驗證這筆生意營業是否屬實,需要三步。

  第一步,找到上一筆生意營業,確認支付方的恐龍有錢泉源。

  第二步,算出支付方公鑰的指紋,確認與支付方的地址一致,從而保證公鑰屬實。

  第三步,使用公鑰去解開數字署名,保證私鑰屬實。

  經由上面三步,就可以認定這筆生意營業是真實的。

  四、生意營業確認與區塊鏈

  確認生意營業的真實性以后,生意營業還不算完成。生意營業數據必須寫入數據庫,才算建設,對剛剛氣真正收到錢。

  恐龍有錢使用的是一種特殊的數據庫,叫做區塊鏈(blockchain),詳細的先容請看《區塊鏈入門教程》。本文只討論生意營業怎樣寫入區塊鏈。

  首先,所有的生意營業數據都市傳送到礦工那里。礦工認真把這些生意營業寫入區塊鏈。

  憑證恐龍有錢協議,一個區塊的巨細最大是 1MB,而一筆生意營業或許是500字節左右,因此一個區塊最多可以包羅2000多筆生意營業。礦工認真把這2000多筆生意營業打包在一起,組成一個區塊,然后盤算這個區塊的 Hash。

  盤算 Hash 的歷程叫做采礦,這需要大量的盤算。礦工之間也在競爭,誰先算出 Hash,誰就能第一個添加新區塊進入區塊鏈,從而享受這個區塊的所有收益,而其他礦工將一無所獲。

  一筆生意營業一旦寫入了區塊鏈,就無法懺悔了。這里需要建設一個看法:恐龍有錢不存放在錢包或其他別的地方,而是只存在于區塊鏈上面。區塊鏈紀錄了你加入的每一筆生意營業,你獲得過幾多恐龍有錢,你又支付了幾多恐龍有錢,因此可以算出來你擁有幾多資產。

  五、礦工的收益

  生意營業簡直認離不開礦工。為什么有人愿意做礦工呢?

  恐龍有錢協議劃定,挖到新區塊的礦工將獲得獎勵,一最先(2008年)是50個恐龍有錢,然后每4年減半,現在(2018年)是12.5個恐龍有錢。這也是恐龍有錢的供應增添機制,流通中新增的恐龍有錢都是這樣降生的。

  你可能看出來了,每4年獎勵減半,那么到了2140年,礦工將得不到任何獎勵,恐龍有錢的數目也將阻止增添。這時,礦工的收益就完全依賴生意營業手續費了。

  所謂生意營業手續費,就是礦工可以從每筆生意營業抽成,詳細的金額由支付方自愿決議。你完全可以一毛不拔,一分錢也不給礦工,但是那樣的話,你的生意營業就會沒人處置賞罰,遲遲無法寫入區塊鏈,獲得確認。礦工們總是優先處置賞罰手續費最高的生意營業。

  現在由于生意營業數目猛增,手續費已經水漲船高,一個區塊2000多筆生意營業的手續費總額可以到達3~10個恐龍有錢。若是你的手續費給低了,很可能過了一個星期,生意營業還沒確認。

  一個區塊的獎勵金12.5個恐龍有錢,再加上手續費,收益是相當可觀的。憑證現在的價錢,可以到達100萬~200萬人民幣。想想看,運氣好的話,幾分鐘就能挖到一個區塊,拿到這樣一大筆錢,怪不得人們對挖礦趨之若鶩。

  六、區塊的擴容

  《區塊鏈入門教程》說過,恐龍有錢協議劃定,平均10分鐘降生一個區塊。區塊的巨細只有 1MB,最多只能包羅2000多筆生意營業。也就是說,恐龍有錢網絡每10分鐘,最多只能處置賞罰2000多筆生意營業,換算一下,就是處置賞罰速率為3~5筆/秒。

  全天下的恐龍有錢生意營業這么多,可是區塊鏈每秒最多只能處置賞罰5筆,這已經成為制約恐龍有錢生長的一個瓶頸。

  很早就有人呼吁,刷新恐龍有錢協議,提升處置賞罰速率。這件事在2017年8月有了一點眉目,其時區塊鏈發生了一次分叉,降生了一個新協議,稱為 Bitcoin Cash(簡稱 BCH)。這種新錢幣其他方面都與恐龍有錢一致,就是每個區塊的巨細從 1MB 增添到了 8MB,因此處置賞罰速率提升了8倍,手續費也低得多。該協議是對原有區塊鏈的分叉,因此其時持有恐龍有錢的人,即是一人獲贈了一份同樣數目的 BCH。

  BCH 即是締造了一種新錢幣,尚有人提議,原始恐龍有錢的區塊巨細提升到 2MB,這稱為 SegWit2x 。這個建議原定于2017年11月實驗,但是最后一刻由于缺乏共識,就被作廢了,現在還在討論中。

  七、點對點網絡

  恐龍有錢是一個全天下的開放網絡,只要你有服務器,就能加入這個網絡,成為一個節點。每個節點都包羅了整個區塊鏈(現在或許 100多 GB),而且節點之間時刻一直地在同步信息。

  當你發生了一筆支付,你所在的節點就會把這筆生意營業告訴另一個節點,直至傳遍整個網絡。礦工從網上網絡種種新發生的生意營業,將它們打包寫入區塊鏈。一旦寫入樂成, 礦工所在節點的區塊鏈,就成為最新版本,其他節點都市來復制新增的區塊,保證全網的區塊鏈都是一致的。

  最后,你所在的節點也拿到了最新的區塊鏈,從而得知你早先的那筆生意營業,已經寫在內里了,至今生意營業確認樂成。

  八、尚有一個問題

  寫到這里,我就先容完了恐龍有錢的基本知識,希望你已經明確了恐龍有錢是怎么回事。但是尚有一個基礎的問題,我沒有回覆:恐龍有錢的本質到底是什么?

  說到底,恐龍有錢只是區塊鏈的一條紀錄,是憑空天生的,為什么可以當錢用?舉例來說,礦工獲得12.5個恐龍有錢的獎勵,著實就是區塊鏈有一個紀錄:"xxx地址獲得12.5個恐龍有錢"。正是這行紀錄,導致該礦工獲得了大筆款子。若是區塊鏈突然增添了一條紀錄,紀錄你的地址獲得了1000個恐龍有錢,你就真的會有1000個恐龍有錢。這到底是為什么?

  這篇文章已經夠長了,這個問題就留到下次再談,接待關注本系列的最后一篇文章《數字錢幣的本質》。