比特幣和區塊鏈的初探

我所瞭解的比特幣和區塊鏈git

PS:這篇文章是我以前寫在csdn上的,轉傳到博客園上是爲了完善我學習比特幣的過程。github

  剛接觸比特幣和區塊鏈技術,被區塊鏈技術將來的發展前景震驚到,一個去中心化的技術何以獲得國際社會的普遍關注和發展,這促使我開始瞭解並學習比特幣的相關知識。算法

  經濟學中有一句話:貿易能使每一個人情況更好,的確,人類文明能夠說是在貿易中發展起來的,從最開始的物物交換,到用銅鑄幣,在到如今以金子爲人類共識的可交易對象發展起來的貨幣政策,每一個國家都在發行本國紙幣,以及創建匯率對接國際市場,如今人們的購買力被用紙幣來衡量,可是,紙幣並不是一個實際的貨幣,只是人們用紙幣進行購物貿易,從而賦予紙幣的權力,那咱們也能賦予比特幣行駛貨幣的職能。安全

  以前看的一片文章把比特幣比做金子,金子自己除了裝飾外沒太大的價值,只是由於人們對以金子來議價達成共識,加之其產量少,開採人工成本大,故價格貴(抱歉,只是淺顯的說明,沒有引入市場這個巨大的影響),那麼比特幣的總量(恆定2100萬)也是有限的,就像地球上的天然金礦物資源同樣,用完了就沒有了,加之比特幣的產生須要處理器(CPU,GPU)大量運算,耗費大量電力,如今的比特幣礦場就像金礦場同樣投入大,收益大(不是絕對的)。微信

  咱們平常所用的紙幣,是由政府發行,受政府管控,而現代用的網上交易如:支付寶,微信支付都僅是在用戶和銀行之間架起一個橋樑,接收用戶轉帳需求,轉發給銀行處理,其本質仍是在政府的控制和監管下。這樣的方式,在如今,老百姓們沒人說很差,也很相信政府,對這樣的貨幣流通方式習覺得常,固然,我也是這樣,那麼比特幣與這種傳統貨幣交易方式有什麼區別,有什麼好處能吸引不少人的青睞呢?網絡

  上面提到的貨幣流通模型是這樣的,全部帳單都放在一個地方處理,人們高度信任這個地方,這種方式就叫作中心化,而比特幣卻不是這樣的,比特幣沒有一箇中心,也能夠說,到處能處理帳單,並且並不須要處理帳單的人之間的相互信任,這就叫作去中心化。工具

  中心化的處理方式高度依賴處理中心的處理能力和誠信,處理中心的速度要快,不然人們爲了完成交易耗費的時間成本太大,處理中心要誠信,不能修改人們的帳戶金額,能力就是建銀行,誠信就是要創建監管制度,兩者都須要花費高額的人工管理以及業務處理費用,而且,加之人這種生物的特性,在規則制度下也可能會出現漏洞。學習

  比特幣的非中心化的處理方式能夠由下面一張圖呈現:區塊鏈

 

  

  這裏每一個Block包含一個帳單,每一個Block由頭(Block Header),帳單事務(Block Transactions)組成,Block2中存儲有Block1的頭信息,因此,能夠經過Block2查到Block1的記錄,不少帳單的這樣處理下來,就造成了一條很長鏈,這條鏈就是區塊鏈,而位於最末點的Block,就能知道全部Block的帳單交易信息。微信支付

  說了半天,有人可能會問比特幣在哪呢,別急,因特網令人們跨越了距離進行信息交流,因特網中有種技術叫作廣播,即一個IP能發很同一條消息給其餘IP,而其餘IP也能發消息給另外的IP,這樣來看,帳單從一臺設備中發出,理論上來講,世界上的全部設備都能收到這條消息,那麼這些設備就能爲帳單生成Block,而沒生成一個Block就會獲得獎勵的比特幣,獎勵的比特幣記錄在下筆帳單中(這是個人猜想,尚未仔細專研),這樣,只要有初始的一個Block,聲明本身有多少比特幣,那麼就能延長這條鏈,而參與延長這條鏈的人就能得到比特幣,事實上,比特幣的創始人——中本聰就是這樣作的。

  上面所說的運行機制,其實解決了信任問題,由於每一個參與延長鏈的人都擁有你的以前交易的帳單,而且,這個帳單是公開的,因此,不會發生你的金額被修改,你的交易無效的問題,這種並不須要專門的機構來維護財產而且安全的方式就是去中心化,而這種延長鏈獲取比特幣的方式就叫作挖礦,這樣的羣體叫作礦工。

問題

一、按照上面的機制,不是個人交易記錄,私人生活都會被別人知道嗎?

  比特幣的交易全是匿名的,只要你不說你是誰,別人不可能知道,匿名使用密碼學中的非對稱加密體制(橢圓曲線爲例)和基於Hash的算法,詳情再後面學習過程當中介紹。

二、若是同時挖到礦(同時生成Block)那麼比特幣該哪一個礦工  

  實際上,挖礦是件很是耗費資源的事,必需要有足夠好的機器,足夠多的電力,支持海量的運算,由於上面提到的Block Header是必須知足特殊格式的,即前面幾位爲0,而這種特殊格式是由一個隨機算法Hash來生成的,即你不能控制生成的Block Header是什麼,你只能不斷的嘗試改變一個Block中的幸運數字(這也是你在整個Block中惟一可以改變的地方),來獲得特殊格式的Block Header,這就是挖礦的行爲,運算大+運氣好 你才能搶先一步在別人以前生成Block,而在生成Block以後,當即向外廣播,其餘正在處理這張帳單的礦工知道已經生成了Block後,驗證這個Block是否正確(除了幸運數字之外,其餘信息是否有改動,以及這個幸運數字是不是對的),若是正確,當即中止對該帳單挖礦,並將已經生成的Block加在當前Block鏈的最末尾,繼續進行下一張帳單的挖礦。

  萬一,真的那麼巧,在別人挖礦成功的消息還沒傳到你這以前你就挖到了礦(由於網絡有延遲),這時的斷定是這樣的,你一樣能夠廣播你挖到了礦,其餘還未接收成功挖到礦的消息的礦工,僅接收首次傳遞到設備上的成功消息(多是你的,多是別人的),礦工將Block加到鏈的最末尾後,繼續延長鏈,此時就出現了兩個分支,沿着你的Block和沿着別人的Block。由於你們所處環境不同,你的網速好,所處地區交易量大,周圍挖礦的人也多,那麼,你的鏈延長得最快,當你的鏈遠遠長過另一條鏈時(我也不太清楚長的標準是什麼),世界全部礦工就認爲你的這條鏈是主鏈,而捨棄另一條鏈(至於捨棄另一條鏈後,那條鏈的交易怎麼處理如今還不清楚,目前的理解是,上面的交易都無效了)。

三、礦工會不會更改個人交易記錄啊

  考慮這種狀況,規則建議,只有等到6個礦工確認帳單信息後,再完成支付(這裏我也有點懵,支付究竟是怎麼一回事),這就能極大程度地保證交易記錄不會被更改。

  還有一些關於比特幣的將來,看了不少文章後,感受只是在說有這樣這樣的好處或者是劣勢,可是對其底層的探究不多,那究竟比特幣是真面目是什麼,區塊鏈的將來是怎樣的一個發展以及它們所帶來的爲人類社會進步提供怎樣的一個工具,我打算學習比特幣的源碼後再進行思考,下面給出一些我在初探比特幣和區塊鏈所看的資料,供你們參考

 

  1) 什麼是比特幣

  2)區塊鏈及其將來應用

  3)如何學習區塊鏈技術

  4)Bitcoin 源碼

  5)bitconbook——就是我如今讀的《Master Bitcoin》,該書是經過github託管的

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息