A. 區塊鏈的誕生歷史
很多人一聽到「區塊鏈」這三個字就會本能地被望而生畏,認為是高深莫測的內容或者一項技術,跟我沒有一毛錢關系。
2018年是區塊鏈技術的元年,在剛剛過去的春節里,區塊鏈可見是著實火了一把,區塊鏈第一社區的「三點鍾無眠區塊鏈」、各大媒體的文章「如何給七大姑八大姨介紹區塊鏈」、各行各業的新手准備入場幣圈大幹一場等等。
我們知道互聯網經過幾十年的時間歷程已經連接了全球。人們不會談論世界是否是平的,因為只要你擁有一台電腦、一部手機就和整個世界緊密相連。精英們習慣把過去的互聯網時代稱為信息互聯網時代。
隨著2008年區塊鏈技術的橫空出世把措不及防的人類拉進了比特世界,未來不管你是否了解什麼是區塊鏈技術?理不理解數字虛擬貨幣是怎麼實現的?都被裹挾著進入了互聯網的第二個時代:價值互聯網時代。而你不知道的是區塊鏈技術是如何誕生的?
20世紀八九十年代密碼朋克的「主教」級人物大衛·喬姆,在1990年發明了密碼學匿名現金系統Ecash。喬姆認為分布式的、真正的數字現金系統應該為人們的隱私加密。
英國的密碼學家亞當·貝克,1997年發明了哈希現金(Hashcash),其中用到了工作量證明系統(Proof of Work)。工作量證明系統是比特幣的核心理念之一。
哈伯和斯托尼塔,在1997年提出了一個用時間戳的方法保證數字文件安全的協議。這個協議也成為比特幣區塊鏈協議的原型之一。時間戳最大的特點就是當一個虛擬貨幣被交易時,被蓋上時間戳,它就不能被改動。
密碼學專家戴偉,在1998年發明了B-money。B-money強調點對點的交易和不可更改的交易記錄,網路中的每一個交易者都保持對交易的追蹤。
2004年,PGP加密公司的頂級開發人員哈爾芬妮推出了電子貨幣「加密現金」,在其中採用了可重復使用的工作量證明機制(RPOW)。
但是他們單一的發明和設想還是不夠成為一種世界型的虛擬貨幣。Ecash於1998年宣布倒閉;工作量證明系統不能保證數字貨幣是否交易過很多次;時間戳這個技術協議只被政府小范圍應用;B.money系統中,大衛並沒有解決賬本同步的問題;最後哈爾芬妮的設想也還是不夠成為一種世界型的虛擬貨幣。
2008年,當一切技術條件成熟,時間條件也成熟,還需要一位神級人物來回答一個問題,就是之前的虛擬貨幣先驅們為什麼會失敗?回答這個問題的人名字叫中本聰。
他認為之前的虛擬貨幣失敗最重要的原因是,都有一個中心化的結構,所有的交易數據都會匯總到公司的數據中心,和政府發行的貨幣沒有什麼兩樣。一旦為虛擬貨幣背書的公司倒閉,或者總賬本的中央伺服器被黑客攻破,這個虛擬貨幣就會面臨崩潰的風險。中本聰對大衛喬姆的Ecash進行了優化,綜合了時間戳、工作量證明機制、非對稱加密技術、UTSO的結構,最終他發明了比特幣。
可見區塊鏈不是一個單一的技術,它是一系列上述技術的集合。比特幣只是區塊鏈技術的首次大規模應用的典型案例。未來區塊鏈技術可以應用到金融服務、社會生活等眾多領域。
B. 圖解什麼是區塊鏈
區塊鏈這么火,都開始影響到我的生活了,不想了解也不行了的樣子,今天來看看到底什麼是區塊鏈。
本文結構:
和它的名字一樣,
區塊鏈是由一組塊組成的鏈,
塊是包含信息的信息塊,組成的鏈也就包含了信息。
區塊鏈技術最早是在1991年由一群研究人員研發,用來給數字化文檔打時間戳,使得這些文檔不能被篡改。從那之後就基本上沒有再發揮其他作用,直到2009年,中本聰採用區塊鏈技術創造了數字加密貨幣-比特幣。
一條區塊鏈,就是一個對所有人完全公開的分布式賬本,它有一個很有趣的屬性: 一旦某些數據被記錄到一條區塊鏈中後,那麼數據就很難再被改變。
來看一下 一個區塊(block)的組成:
每一個區塊包含了 一些數據,這個區塊的哈希值,以及前一個區塊的哈希值 。
區塊中所保存的數據與區塊鏈的類型有關,例如,比特幣區塊鏈中的區塊保存了相關的交易信息,包括賣家,買家,以及交易比特幣的數量。
每個區塊包含了一個哈希值,哈希值用來標識一個區塊和它所包含的所有內容,並且它是獨一無二的,就像指紋一樣。一旦某個區塊被創建,它的哈希值就相對應的被計算出來了。如果改變區塊中的某些內容會使得哈希值改變, 如果一個區塊的指紋改變了,那它就再也不是之前的區塊了 。
區塊中包含的第三個元素是前一個區塊的哈希值,這個元素使得區塊之間可以形成鏈接,並且能夠使得區塊鏈十分的安全。
假設我們有一條區塊鏈包含3個區塊
每個區塊包含了一個自己的哈希值以及前一個區塊的哈希值
3號區塊指向2號區塊,2號區塊又指向1號區塊
1號區塊有點特殊,它不能指向前一個區塊,因為它是第一個
我們把1號區塊叫做 創世區塊 。
現在假設我們篡改了第二個區塊
這將導致第二個區塊的哈希值改變
接下來這就會導致3號區塊以及3號區塊連接的所有的後續區塊變得非法
因為現在它們存儲的前一個區塊號的都變得非法
所以 單獨改變一個塊,將連帶性地致使後面的所有內容都變成無效 。
但要 防止篡改,只有哈希是不夠的
因為現在的計算機運算速度已經足夠強大,並且能夠每秒計算成千上萬的哈希值
這樣你完全可以篡改一個區塊並且重新計算其他的區塊的哈希值,使得你的區塊再次變得合法。
所以 為了減少這種風險,區塊鏈還採用了一種技術,叫做工作證明
這是一種減緩新區塊創建過程的機制
在比特幣區塊鏈中,大概需要花費10分鍾來完成所要求的工作證明,並且添加一個新的區塊到區塊鏈中
這個機制使得區塊鏈的篡改更加困難
因為 一旦篡改了一個區塊,就需要重新計算所有後續的區塊的工作量證明 。
所以 區塊鏈技術的安全性主要來自於哈希值以及工作量證明機制 。
區塊鏈還有一種機制來 保護自身的安全性,那就是分布式
相對於用一個中心化的實體來管理區塊鏈網路,區塊鏈採用的是一種 peer-to-peer網路,並且所有人都可以加入
當有人加入這個網路時, 他就會得到整個區塊鏈的復制
這個人就可以以此來驗證是否所有的區塊還是合法未篡改的,也就是不同的節點也可以藉此互相驗證。
當某人創建了一個新的區塊時,
這個新的區塊會被發送給網路上的所有人。
每個人再驗證這個區塊以確保這個區塊沒有被篡改過
如果所有的東西都被檢驗正確之後,那麼每個人才能把這塊新的區塊加到自己的區塊鏈上
我們可以稱之為, 網路上的所有人達成了「共識」 。
區塊鏈網路中的所有節點都達成共識
他們認同網路中哪些區塊是合法的,哪些是不合法的
那些被篡改過的區塊將會被網路上的其他用戶拒絕
所以, 要成功篡改一個區塊鏈,你需要篡改區塊鏈上的所有區塊
重新完成每個區塊的工作量證明,並且控制區塊鏈網路中超過50%的用戶
只有這樣,你篡改的區塊才會被所有人承認
可以說, 這基本上是不可能做得到的!
區塊鏈技術本身也在不斷地發展
例如後來的一個技術改進,叫做智能合約
智能合約 是一些存放在區塊鏈上的簡單的程序
它能基於合約內所記載的條件自動執行, 只要條件成立,依照合約自動完成交易
例如在特定條件下可以實現自動化比特幣交易。
學習資料:
https://www.youtube.com/watch?v=SSo_EIwHSd4
C. 區塊鏈中的時間戳是什麼
為了防止雙花問題,系統會給每一個區塊的交易信息都自動加上時間戳,給它打上時間烙印,這個時間你花了多少錢,花了就是花了,已經記錄上了,不能再用它買別的東西了。
具體怎麼記錄的呢?其實還是通過計算,把時間戳和區塊上的其他交易信息,通過復雜的計算,得出一個加密數值,這個加密數值叫作「哈希值」,每一個新區塊都包含前一個區塊的哈希值,由此形成一條區塊鏈。
所以我們說:比特幣系統,實際上是一個層層嵌套、永不停歇的、非常強大的時間戳
系統,它利用的是時間戳,保證每一個區塊按照時間順序鏈接成「鏈」(也就是區塊鏈)。
從這里我們這樣理解,時間戳,字面意思是給區塊打上時間印記,它的實際作用在於:為之後計算哈希值提供一個重要參數,是計算和核對過程中一個必不可少、非常重要的信息。
最後,我們總結本節的內容。本節主要介紹了兩個名詞:UTXO和時間戳,這兩個概念呢,是解決「雙花問題」的重要手段,能夠保證比特幣可以在沒有第三方機構的情況下,不被多次使用。
D. 區塊鏈中的時間郵戳有什麼作用
區塊鏈能夠通過時間戳保證每個區塊按照順序依次相連起來:如果時間戳簽名是記錄在區塊鏈上的,就能夠證明區塊鏈上什麼時候發生了什麼事情,而且這種信息也會被永久儲存,不用擔心遭受篡改。
從另外一方面看來,時間戳也應該可以說是區塊鏈的一種交易證明機制,所有發生在區塊鏈上的交易、文件簽署都會通過時間戳來記錄。
大概是這個樣子吧,這些技術問題主要是在煊凌網路公司的朋友那裡了解到的,希望有幫助。