官术网_书友最值得收藏!

3

數字貨幣技術特點

(一)去中心化

比特幣之父中本聰在設計比特幣模型時,就將其設定成去中心化的,在結構上使用P2P(Peer-To-Peer,點對點)網絡模型。這種網絡的特點是,不需要中央服務器,每一臺聯網電腦都是一個獨立的個體,通過協議連接到其他成百上千臺電腦,最后全球的電腦能夠連接成一個密密麻麻的網絡。在這個P2P網絡上的所有電腦都直接或者間接連通,某一個節點上發出的信息,最終可以擴散到全球所有節點。舉例而言,A在中國,B在美國,A和B的連通方式可以是直接連接,也可以是通過位于歐洲的C電腦搭橋間接連接起來。因此,即使其中一部分節點發生故障,整個網絡的通信不會受到顯著影響。

所有節點均可直接或間接連通的特點意味著P2P網絡一旦啟動,就無法關閉,除非所有聯網的電腦全部關機,或者全部關閉了比特幣客戶端。

與此同時,對比特幣網絡的維護也是去中心化的,不存在獨立的第三方對網絡進行集中監管。比特幣的安全支付與流通由礦工維護,而礦工分布于全球各地,彼此通過競爭監管交易、獲得獎勵,這一互相協作同時又互相競爭的群體很難被外部力量掌控。通過對礦工的獎勵,比特幣實現了發行的去中心化,沒有任何一個機構或個人可以集中發行比特幣,比特幣在礦工成功搶到記賬權時自動發行。

這些去中心化的措施,使得比特幣網絡異常穩固,由算法發行決定的發行機制、競爭性的維護機制使人們不用擔心比特幣被個別人或組織控制、利用,也不用擔心網絡被關閉、比特幣被沒收,因此,比特幣的信心支撐非常穩固。

(二)基于密碼學的安全通信

P2P網絡的連通性幾乎無懈可擊,但是信任問題無法只通過P2P網絡解決。例如,A發出一條信息給B, B通過P2P網絡最終接收到此信息。這條信息可以是直接從A電腦傳遞過來,也可能是通過多臺電腦轉手傳遞過來。于是B會有兩個問題:第一,這條信息到底是不是由A發送的?第二,這條信息是否可能被人窺探乃至篡改過?

這就回到了我們上節提到的公鑰、私鑰和非對稱加密技術。A要發送一條信息給B,確保這個信息只有B才能解密。那么A就用B的公鑰(公鑰是公開的,整個P2P網絡都知道B的公鑰)加密原始信息,這條信息在整個P2P網絡上傳播,雖然所有人都有B的公鑰,但是用公鑰無法解密這條信息,只有B的私鑰才能解開。最后B收到這條信息,用自己的私鑰解密,讀到A發來的消息。

那么A怎么證明自己是這條信息的發出者呢?在網絡上,每個人都可以把自己偽裝成任何人,B收到信息時,可能傳遞信息給B的那臺電腦會聲稱它就是A, B當然不能輕信,那么有什么辦法可以使B確認這條消息是由A發出的呢?

很簡單,A只要把消息分兩步加密就可以了:第一步,用A自己的私鑰對原始信息做第一層加密;第二步,在上一步獲得的數據基礎上再用B的公鑰做第二層加密。B收到這個加密的信息后,以相反的次序做兩次解密操作:第一步,用B自己的私鑰解密收到的信息,得到被A的私鑰加密過的信息;第二步,在第一步獲得的數據基礎上用A的公鑰再解密一次即得到未加密信息。

第一層加密的目的是證明這個信息是由A加密并發出的,因為只有A的私鑰才能完成這樣的加密,這一步也叫做數字簽名,它排除了消息是別人偽造或者別人冒充A的可能性。第二層加密的目的是確保信息只有B能夠解密、看到未加密信息,因為只有B有解密私鑰,即使別人看到了加密后的信息,也無法解密,更無法篡改。

有了這一密碼學技術保障,即使在匿名的P2P環境中,也無須擔心比特幣網絡通信的安全性,更不用擔心有人“冒領”比特幣。

(三)公開透明

比特幣的本質是一個互相驗證的公開記賬系統。這個系統所做的事情,就是記錄所有賬戶發生的所有交易。每個賬號的每筆數額變化都會記錄在全網總賬本(區塊鏈)中。而且每個人手上都有一份完整的賬本,每個人都可以獨立統計出比特幣有史以來每個賬號的所有賬目,也能算出任意賬號當前余額是多少。

這里最關鍵的一點在于每人手上都有完整的賬本,因此系統里沒有任何人有唯一決定權。任何想隱藏或修改交易數據的行為都會被整個網絡否決掉,除非有人有能力修改50%以上用戶的賬本,這就是比特幣系統里所謂的51%攻擊。

比特幣客戶端在使用時會進行大量的數據同步,它同步的就是全網總賬本,這些數據保障了整個體系的去中心化和每個客戶端的一切知情權。正是因為所有數據公開透明,而整個比特幣軟件也是開源的,任何人都可以去查看它的源代碼,人們才會信任這套去中心化的系統,而不擔心里面是否隱藏著什么陰謀。

(四)算力民主

礦工們對篡改全網總賬本及雙重支付問題的監督,實際上依靠的是計算力投票機制。以雙重支付為例,由于同一筆比特幣被支付兩次,必然形成不一致的區塊數據,導致區塊鏈分叉,承認哪次支付、拒絕哪次支付,由礦工投票決定。

投票規則如下:假如雙重支付形成兩個不一致的區塊A和B,此時礦工甲搶到了A的記賬權,把A掛接在當前的區塊鏈末尾,礦工乙搶到了B的記賬權,同樣把B掛接在當前的區塊鏈末尾,此時的區塊鏈分叉為A鏈和B鏈。在下一個記賬周期里,礦工們會決定把新生成的區塊掛在A鏈還是B鏈上。依此類推,隨著時間的推移,A鏈和B鏈會不斷延長,直到某個鏈的長度顯著超過了另外一個,然后鏈被舍棄掉,長鏈中包含的交易被確認。

同樣,篡改網絡總賬本也意味著區塊鏈的分叉,一個鏈是被篡改的假賬本,另一個鏈是絕大部分人持有的真賬本。由于大部分礦工看不到篡改過的假賬本,因而他們只會在正確的鏈上掛接新數據塊,也就是正確的區塊鏈會被絕大部分的礦工維護,而被篡改的區塊鏈只有篡改者自己維護,競爭的結果自然是篡改者的假賬本被拋棄。

比特幣系統任何規則的更改幾乎總會引起區塊鏈的分叉,礦工們通過向不同的鏈掛接新數據塊的方式表達自己對新、舊規則的態度。顯然,私自更改的規則將無法獲得絕大多數礦工的支持,因為規則內嵌于挖礦軟件之中,礦工們不更新軟件(即拒絕私自更改規則的軟件),就不可能在新規則的區塊鏈之后掛接新數據塊。

因此,在比特幣的世界里,幾乎一切都依賴于計算力投票。比特幣的發行靠計算力投票獲得,比特幣的安全傳輸靠計算力投票保障,比特幣交易的不可欺騙、不可撤銷也靠計算力投票達成,甚至比特幣規則的更改、客戶端的完善都靠計算力投票選擇。計算力投票保障了比特幣網絡的發展壯大。其中的關鍵在于,計算力背后是一個個礦工,他們用礦機直接為對自己最有利的行為投票,因而比特幣網絡實質上完成了一場大范圍直接民主的實踐,每個人依靠自己的直接投票權建立起了一種新型的P2P契約。這種契約在零信任的前提下達成,理論上極其不穩定,實踐上卻極其有效。

主站蜘蛛池模板: 永川市| 绿春县| 金阳县| 贺州市| 克拉玛依市| 镶黄旗| 出国| 平远县| 灵石县| 江达县| 双牌县| 哈巴河县| 湘西| 黑山县| 罗平县| 临猗县| 山阳县| 同江市| 武穴市| 吉安县| 罗江县| 巴青县| 文安县| 湖南省| 呈贡县| 乃东县| 武清区| 晋江市| 安阳市| 北流市| 桐柏县| 米易县| 冕宁县| 曲阜市| 额济纳旗| 繁峙县| 南投县| 黑山县| 凤庆县| 兰溪市| 古交市|