區塊鏈丨去中心化+不可篡改+不可偽造的技術來源

非對稱加密和分佈式存儲——確保了比特幣的去中心化的特性

工作量機制和最長鏈機制——保證了比特幣不可篡改的特性

UTXO的結構可以追溯到每一枚比特幣的前世今生——造就了比特幣的不可偽造的特性

比特幣的技術來源

去中心化是依靠什麼樣的技術實現的?

中心化是需要一個類似銀行的中心機構驗證交易的,去中心化是指沒有一箇中心能夠驗證交易的真偽,去中心化本質上是讓所有的節點都能夠驗證這個交易真偽。

靠什麼去驗證的呢?

中本聰採用了非對稱加密技術,加密和解密的時候使用不同的祕鑰的加密算法,如果加密和解密採用相同的祕鑰,稱作對稱加密

對稱加密不安全的地方在於,大家如果使用的祕鑰相同,那麼就會不安全。

對於非對稱祕鑰,就是A若向B發送信息,A和B就要產生一對用於加密和解密的公鑰和私鑰,私鑰就好比一把私有的鑰匙,只有這把鑰匙的擁有者才能打開,是用於解密的;公鑰就好比一把公開的鑰匙,可以告訴需要的人,它是用來加密用的。在這個過程中,A的私鑰保密,A的公鑰可以告訴B;B的私鑰保密,B的公鑰可以告訴A。A要給B發送信息的時候,A用B的公鑰加密信息,B收到這個信息後,B用B的私鑰來解密這個信息,其他所有收到這個消息的人都無法解密,因為只有B才擁有這把私鑰。

簡單地說,公鑰和私鑰,在非對稱加密機制裡是成對存在的,公鑰和私鑰可以相互去驗證對方。在比特幣的世界裡,可以把地址理解為公鑰,把簽名,輸密碼的過程理解為私鑰的簽名。

每個礦工在拿到一筆轉賬交易的時候,都可以去驗證這個公鑰和私鑰到底是不是匹配的,如果是匹配的,那麼這筆交易就是合法的。

那麼每一個人就只用保管好自己的私鑰,知道自己的比特幣地址和對方的比特幣地址,就能夠安全的將比特幣進行轉賬,不需要一箇中心化的機構去驗證對方發的比特幣是不是真的。非對稱的比特幣技術保證了去中心化的特點,分佈式存儲同樣保證了比特幣的去中心化。

為什麼比特幣的區塊鏈賬本是無法篡改的呢?

篡改,指的是網絡中為了弄虛作假而對賬本進行惡意的修改,這一點由比特幣採用工作量證明機制和最長鏈機制來保障。

比特幣的共識機制,是工作量證明機制,這種共識是對在差不多時間內發生的事物和先後順序達成共識的一種算法。

工作量證明簡單來說就是一種證明,用來確認你做過一定量工作量的工作,檢測工作的整個過程通常是效率特別低的,而通過對工作的結果進行認證,來去證明已完成了一定量工作量的工作是更高效的方式,比如現實生活中的畢業證、駕駛證等。也是通過檢驗你完成了一定知識量的學習或者駕駛過一定時間的汽車,來去證明你的這個技能的。

也就是說通過結果,來證明你曾經做過這一件事,曾經耗費過一定的工作量。工作量證明的特點對於執行的一方來說,難度是適中的,對於驗證的那一方來說,就非常容易驗證。

礦工們在進行哈希驗算的時候,可以理解為一種數學的遊戲,獲取正確的答案就能獲取記賬的權利。其他的節點經過非常簡單的驗證之後,就可以同意去記賬並同步他的賬本,打上時間戳之後,緊接著進行下一輪算力競賽。

如果這個時候,有人想把某一區塊高度上的某一交易信息進行修改,他需要做什麼呢?他需要從這個區塊鏈開始的地方開始,把之後所有的區塊鏈都重新計算一變,把賬本再同步給他人。而他在進行這個計算的同時,其他的礦工已經在原有的那條區塊鏈上繼續往下進行計算了,因為大家認為,在比特幣網絡裡面,最長的那條鏈,才是正確的鏈,所以這個惡意篡改的人,需要在很短的時間內,趕上現有區塊的高度,讓自己的這條區塊鏈成為最長的鏈,讓其他的礦工誤以為這是一個正確的賬本。

除非這個篡改的人擁有非常大的算力,至少超過50%,否則他基本上沒有可能進行這樣的篡改。現在來算一筆賬,全網的算力是8億哈希每秒,現在市場上流行的主流礦機,每臺的算力是10T左右,如果想要擁有全網51%的算力,至少需要四十萬臺最新的礦機,一臺礦機如果按照一萬元起來計算的話,設備方面的投入大約是40億元人民幣,況且最新礦機的生產還趕不上銷售,經常處於買不到現貨的狀態。

加上礦機的不斷被淘汰,算力不斷在上漲,購置算力設備的速度很難趕上算力上漲的速度。從投資回報的角度來說,這項投資的成本至少需要40億人民幣,如果不是為了六七十億以上的利益,並且擁有非常雄厚的經濟實力和技術實力做支撐,一般的人也不會有這個動力來進行算力攻擊。

從網絡的大環境來看,由於去中心化的存在,整個網絡會非常警惕這種現象的發生。51%算力的攻擊是不科學的,當有這種攻擊的發生,比特幣的區塊鏈進行了篡改,比特幣的價格將會變得一文不值,通過篡改獲得的利益也會受到極大的損失,總之篡改比登天還難並且無利可圖。

為什麼比特幣不可以偽造呢?

我發給你0.1枚比特幣,為什麼你相信這0.1枚比特幣不是我自己偽造的呢?或者我會將這0.1枚比特幣同時轉給兩個人?

這和比特幣的UTXO結構有關係——未花費的交易輸出,它是比特幣交易生成和驗證成功的一個核心的概念。

紙幣的例子:假設我要給你20元錢,其中有兩張5元的紙鈔,一張10元的紙鈔,兩張5元的來自水果店老闆的找零,10元鈔票來自加油站的找零,拿到這三張鈔票,我還沒有花出去,我才能給你,這叫做未花費的交易輸出。水果店老闆這五元的鈔票又是怎樣來的呢,是來自其他人,這些鈔票可以順藤摸瓜追溯到最初發行的那一刻,是由哪家印鈔公司根據央行的批准發行出來的,又首先給了哪家銀行,最後流通到市場上,由此一來可以驗證這三張鈔票都是真的。

比特幣的UTXO也是這樣的結構,在比特幣的世界裡面,每一筆轉賬的記錄都可以追溯到最初的源頭, 每一筆的付款都可以追溯到上一筆的收款,我給你的比特幣必須是別人已經給我的,但我又沒有花費的比特幣,然後一直往上追溯到它的曠工挖出來的那一區塊,這一機制就保證了比特幣的不可偽造,不可以被重複支付的,重複支付在比特幣的世界裡叫雙花(花了兩次),中本聰用這個機制解決了這個信任問題,使得比特幣能夠被廣泛的應用。


筆記來源:硅谷live課程

相關推薦

推薦中...