sponsored links

區塊鏈學習心得:零程式設計基礎瞭解共識演算法概念篇二

三、用拋硬幣的方式來決定記賬人

共識演算法需要適應如下要求:

1、所有記賬人都是公平的,而且這種公平建立在他們具有不同的體質上。

2、競爭成果很容易驗證,每個記賬人看到成果的時候,不需要和其他記賬人溝通,就能自己驗證這個成果。

3、這個競爭成果有一定的難度,不能太容易達成。否則,同一個時間有太多記賬人得到成果,無法定義誰是合法的記錄人。

所以,大家決定,採取拋硬幣的方式,來決定誰是記賬人。誰能夠最快連續丟擲十個硬幣是正面朝上的,將這個圖拍攝下來,就能證明自己是這一次賬單的記錄人。(在這裡,我們假設這個城市的硬幣是有魔法的,它們只能透過拋起隨機的呈現正面和反面,不能擺拍。也就是說,照片是真實可信的,只要能拍下十個硬幣正面朝上的照片,就能證明這個人真的丟擲了這個結果)

於是,每當一批賬單出現時,所有在場的記賬人就分頭自己拋硬幣。直到其中一個人丟擲了十個硬幣正面朝上的結果,展示出這個照片。其他記賬人一看,就停止他們的碰運氣,開始抄錄這個人這一次的賬單。

但是時間一長,有人就發現問題了:如果記賬人事先把硬幣的結果拋好,拍攝下很多張十個硬幣正面朝上的照片。當有賬單產生的時候再展示出來,那他豈不是每次都能獲得記賬權嗎?

四、進化一下拋硬幣的方法

於是,拋硬幣的結果,就要修改一下了。不再是丟擲十個硬幣正面朝上,而必須和實際的賬單內容記錄下來。例如,以下這條賬單:

李四支付張三50塊錢理髮錢

假設李四的身份證號是808,張三的身份證號是707,那麼用數字來表示這個賬單就可以寫成:

808-707-50 (我們約定第一個出現的數字是支付者的身份證號,第二個數字是接收者的身份證號,第三個數字是金額)

轉化成數字就是:808707000050(最後六位是金額,前面留零位)

轉化成二進位制就是:1011110001001010101100011000011011110010

1代表正面,0代表反面。

於是,如果一個記賬人需要記錄“李四支付張三50塊錢”的話。

他需要把硬幣拋成:正反正正正正反反反正反反正反正反正反正正反反反正正反反反反正正反正正正正反反正反

然後將結果拍成照片,公開展示。其他記賬人看到“李四支付張三50塊錢”這個賬單,他們也很容易可以得出這個結果必須是:正反正正正正反反反正反反正反正反正反正正反反反正正反反反反正正反正正正正反反正反。然後他們驗證這個記賬人的照片,如果照片結果和賬單吻合,他們才抄錄這個記賬人的這一次賬單,到他們的賬本里面。

如果這一次需要記錄三條賬單,或者更多怎麼辦呢?例如這次要記錄的賬單是:

李四支付張三50塊錢理髮錢

張三支付王五30塊錢肉錢

王五支付李四20塊錢打車錢

將這些賬單分別轉發為數字就是:

808707000050

707606000030

606808000020

再轉二進位制:

1011110001001010101100011000011011110010

1010010011000000100110101011000110011110

1000110101001000100100110100011000010100

最後再將三個二進位制數字相加,得出結果:

11110111001010011110111110111111010100100

這一次,記賬人必須把硬幣丟擲“正正正正反正正正反反正反正反反正正正正反正正正正正反正正正正正正反正反正反反正反反”的結果,才能獲得這三條賬單的記錄權。

由於最終結果和三條賬單都有關係,所以記賬人如果修改其中一條賬單的任何細節,都會引起最後拋硬幣的結果不同。

然後,我們來看一下這一次記錄的賬單,和拋硬幣的結果:

李四支付張三50塊錢理髮錢

張三支付王五30塊錢肉錢

王五支付李四20塊錢打車錢

證明:11110111001010011110111110111111010100100

恭喜你,你已經獲得一個區塊了。接下來,我們嘗試把很多個區塊連線起來,成為區塊鏈。

五、將拋硬幣的動作連貫起來

按照上述方法,我們記錄下來的賬本大概是這樣子的(請注意每一次的拋硬幣結果都和賬單內容繫結在一起):

1、11110111001010011110111110111111010100100

李四支付張三50塊錢

張三支付王五30塊錢

王五支付李四20塊錢

2、11111011110111011111001101011000111100100

錢七支付趙六80塊錢

候八支付王五100塊錢

馬九支付朱一210塊錢

3、101011100011111100001110011101101100100100

關二支付張三80塊錢

劉十六支付王五100塊錢

曹一百支付關二210塊錢

……

我們發現,雖然每一次記賬,都有照片證明,但他們是互相獨立的。假如有人要修改第一條賬單,將其改成“李四支付張三50000塊錢”的話,他只需要重新丟擲符合這個賬單的結果就可以了。

1、11110100001010011110111110001111010100100

李四支付張三50000塊錢

張三支付王五30塊錢

王五支付李四20塊錢

這時候,這個人將這個區塊放到他的賬本第一條,這和後面兩個區塊是不矛盾的,於是張三的餘額就會大幅度增加,造假的成本太低啦!

我們來改進一下拋硬幣的方式,我們規定,下一次拋硬幣的時候,必須先重複上一次拋硬幣結果的後十位結果才行。於是,賬本就變成這樣:

1、11110111001010011110111110111111010100100

李四支付張三50塊錢

張三支付王五30塊錢

王五支付李四20塊錢

2、1010100100-11111011110111011111001101011000111100100

錢七支付趙六80塊錢

候八支付王五100塊錢

馬九支付朱一210塊錢

3、0111100100-101011100011111100001110011101101100100100

關二支付張三80塊錢

劉十六支付王五100塊錢

曹一百支付關二210塊錢

於是,所有區塊的拋硬幣結果,都關聯起來了,如果一個人要修改第一個區塊,他就必須把後面所有區塊的硬幣都重新拋一次。這個成本可就太高了。區塊鏈為什麼安全不可篡改,道理就在這裡。一個人要造假,最多就是在最新的區塊造假,幾乎不可能修改以前的區塊。

六、比特幣是怎麼玩的

如果讀懂了上面的內容,那麼就知道比特幣其實就是這麼玩的:

2008年或2009年的某一天,中本聰在自己的賬本里寫下了這麼一個賬單:

1、11110111001010011110111110111111010100100

中本聰獲得一個比特幣

這就是比特幣的創世區塊。

然後,中本聰將這個區塊釋出上網,告訴其他所有人。你們來記錄下一筆賬單吧,誰能證明自己丟擲了符合結果的硬幣,誰就能獲得50個比特幣。

於是,有些人覺得好玩的,就加入了這個拋硬幣遊戲,第二個區塊大概是這樣子的:

2、1010100100-101011100011111100001110011101101100100100

李四獲得50個比特幣獎勵

然後,越來越的人參與到這個遊戲中來,拋硬幣的人越來越多,所以難度也就持續上升了。如果說,中本聰一開始只需要拋500次硬幣就能獲得記賬權,現在可能要拋50000億次硬幣,才能獲得。

所以,為什麼比特幣的挖礦如此耗資源,因為挖礦本身就是在拋硬幣,這個動作和記賬本身毫無關係,只是為了獲得記賬權。而且,假設世界上有1000萬人在拋硬幣爭奪,只有一個人能贏得這一次的比賽,其他輸的人都白拋了,他們消耗的能量全部都浪費了。

拋硬幣這種共識演算法,非常的浪費系統能量,但作為完全基於不可信任的去中心化區塊鏈,這也是無奈之舉。如果能建築在一定程度的信任基礎上,可以有其他的共識演算法,有機會我們再講。

分類: 科技
時間: 2021-10-13

相關文章

區塊鏈專題報告:NFT,使用者生態新元素,元宇宙潛在的經濟載體

區塊鏈專題報告:NFT,使用者生態新元素,元宇宙潛在的經濟載體
(報告出品方/作者:東方證券,張穎) 一.從NFT熱潮中看NFT的意義和價值 1.1. 什麼是 NFT?區塊鏈時代的主流資產. NFT(Non-fungible Token) 代表不可替代的代幣,是可 ...

BIM+區塊鏈,讓城市建設更智慧

BIM+區塊鏈,讓城市建設更智慧
這篇文章,我們聊聊區塊鏈和建築行業的結合及應用. 在開始正文之前,先解釋一下BIM的概念. BIM (Building Information Modeling) 建築資訊模型化.美國國家BIM標準裡 ...

關於區塊鏈代幣什麼是共識?
大家好,我是教皇哥,我利用一些時間呢和群裡面的新老朋友們分享一下有關於共識的話題. 首先什麼叫共識呢? 顧名思義,通俗一點講,共識呢就是一個群體裡面雖然有不同的年齡.不同的性別.不同的文化背景.不同的 ...

能源區塊鏈研究 | 能源技術:區塊鏈和人工智慧--微電網的催化劑?(下)

能源區塊鏈研究 | 能源技術:區塊鏈和人工智慧--微電網的催化劑?(下)
[能源人都在看,點選右上角加'關注'] 能源技術:區塊鏈和人工智慧----微電網的催化劑?(下) 03 區塊鏈和智慧合約 然而,由於生產消費者之間的能源銷售涉及大量的交易,在實際操作中,微電網的執行仍 ...

能源區塊鏈研究|為何區塊鏈未被廣泛應用?如何將其推開來?

能源區塊鏈研究|為何區塊鏈未被廣泛應用?如何將其推開來?
[能源人都在看,點選右上角加'關注'] 為何區塊鏈未被廣泛應用?如何將其推廣開來? 對能源匱乏的擔憂是否阻礙了區塊鏈發展? 每當科技領域有新發現時,人們通常希望能將其儘快運用到實踐中,但現實中通常事與 ...

區塊鏈週報|韓國公佈28家合規交易所名單,PayPal英國開通加密貨幣交易服務
財聯社|區塊鏈日報(杭州,記者徐賜豪)訊,9月13日-9月19日,區塊鏈領域重要事件包括:政策方面,河北省多部門開展虛擬貨幣挖礦和交易行為整治行動,韓國60多家加密貨幣交易所將停止運營,美財政部官員準 ...

智慧電錶的資料管理技術,區塊鏈的智慧電錶質量資料可信採集機制

智慧電錶的資料管理技術,區塊鏈的智慧電錶質量資料可信採集機制
智慧電錶可以實現電網資料的全面快速採集,是電網公司提升電力服務質量的重 要資料來源.因為智慧電錶採集的資料中包含用電資料.電網運營資料,而且智慧電錶屬於 關鍵基礎設施,對國家安全起到非常重要的作用.智 ...

什麼是區塊鏈技術?最近怎麼覺得很火?

什麼是區塊鏈技術?最近怎麼覺得很火?
什麼是區塊鏈技術?最近怎麼覺得很火?相信很多人都是第一次聽說區塊鏈技術,什麼是區塊鏈技術,下面我們一起來看看吧! 在技術性層次上,區塊鏈技術涉及到許許多多科技進步難題,如數學課.密碼演算法.網際網路和 ...

區塊鏈錢包支付系統開發,多幣種錢包系統app開發

區塊鏈錢包支付系統開發,多幣種錢包系統app開發
錢包就是儲存區塊鏈數字資產的一個軟體隨著行業的發展,未來市場上出現的錢包產品肯定也會越來越多,軟體開發,其使用的技術.策略以及側重的功能點也可能各不相同. 數字資產錢包通常和區塊鏈節點關係緊密,依據錢 ...

區塊鏈數字貨幣交易所繫統開發,永續合約交易平臺搭建解決方案

區塊鏈數字貨幣交易所繫統開發,永續合約交易平臺搭建解決方案
數字貨幣交易所就是一個數字貨幣平臺,利用區塊鏈,撮合交易等技術對數字貨幣進行交易的平臺.主要的作用是使數字貨幣進行轉換/支付.此外,還可以對資產進行管理,撮合交易和資產清算等. 永續合約沒有交割日期, ...

區塊鏈科普指南:什麼是51%攻擊?

區塊鏈科普指南:什麼是51%攻擊?
在加密世界中,當一個人或一群人控制了50% + 1的網路單元時,就會發生51% 的攻擊.沒有人說50% + 1單位,所以簡稱為51%攻擊. 當一個團隊設法控制連結到一個特定區塊鏈的網路的大部分,它被認 ...

巴西聖保羅足球俱樂部加入區塊鏈平臺Socios.com推出粉絲token
10 月 9 日,巴西意甲球隊聖保羅足球俱樂部宣佈已加入區塊鏈平臺 Socios.com,推出他們的官方粉絲token.聖保羅足球俱樂部將成為繼 Atlético Mineiro.Corinthian ...

區塊鏈未來的發展板塊分佈

區塊鏈未來的發展板塊分佈
區塊鏈技術目前已被很多國家作為重要的基礎設施應用到多個領域中,醫療.教育.科研等.隨著區塊鏈市場的不斷髮展,其中分出的板塊也越來越多,NFT.DeFi.元宇宙.分散式儲存成為主要的發展趨勢. NFT目 ...

NFT元宇宙遊戲Axie Infinity被行業公認為區塊鏈遊戲的頭把交椅?

NFT元宇宙遊戲Axie Infinity被行業公認為區塊鏈遊戲的頭把交椅?
今年7月初,一位菲律賓玩家在社交軟體上稱,自己靠玩Axie Infinity遊戲賺取的利潤在菲律賓購買了兩套房子. 很多人會問元宇宙遊戲Axie是什麼?元宇宙遊戲怎麼ZQ有這樣一個遊戲,玩家可以直接在 ...

法鏈銜接:區塊鏈數字資產追贓挽損新方法

法鏈銜接:區塊鏈數字資產追贓挽損新方法
蔡欣 "法鏈銜接"數字資產追贓挽損方法邏輯示意圖 區塊鏈數字資產,是指基於區塊鏈技術產生的.可被持有和轉移所有權的特定計算機編碼.它不僅包括所謂的"數字貨幣", ...

數字貨幣背後的區塊鏈,幣安慈善打破設定應用自由

數字貨幣背後的區塊鏈,幣安慈善打破設定應用自由
經過早期野蠻成長的洗禮,區塊鏈行業越來越迴歸到理性客觀的階段.區塊鏈長遠發展的方法也受到網際網路行業的關注,只有並駕齊行,才能是區塊鏈發揮真正的價值,於是無論科技雞頭還是區塊鏈從業者都將區塊鏈落地到具 ...

區塊鏈錢包系統原始碼開發,數字錢包軟體APP快速搭建

區塊鏈錢包系統原始碼開發,數字錢包軟體APP快速搭建
隨著網際網路時代的到來,各種新的支付方式改變了傳統的交易方式,這也逐漸改變了人們的生活方式.在數字經濟時代,隨著經濟的發展,伴隨區塊鏈技術出現,數字貨幣錢包必然會影響資產的管理方式. 數字錢包是儲存. ...

什麼是區塊鏈雜湊值?

什麼是區塊鏈雜湊值?
什麼是區塊鏈雜湊值! 雜湊值是使用數學函式建立一個字元序列(雜湊值).這個序列的特點是具有高度的安全性,允許您安全地傳送訊息.最重要的是,它是目前市場上每一種加密貨幣的一部分,但可以說,它們都有不同的 ...

區塊鏈正在成為新的創新源頭,這一年來全球科技發生了什麼變化?

區塊鏈正在成為新的創新源頭,這一年來全球科技發生了什麼變化?
今天在一群產品經理的朋友圈裡提及了NFT以及相關的區塊鏈技術,有一位產品經理噴我道:"就是一堆新名詞,也不知道說了個啥,炒作就是炒作." 我說新科技再好,也得炒作才能有資金啊,你說 ...