區塊鏈入門學習筆記(一)

2021-08-19 23:58:49 字數 2466 閱讀 9819

1.位元幣產生的動機

2.基礎設施搭建

(1)賬簿公開機制

賬簿不記錄餘額,只記錄交易。

賬簿由私有改為公開。

(2)身份與簽名機制(公鑰加密系統)

不使用真實身份交易,使用乙個唯一的代號進行交易

保密印章 + 印章掃瞄器

(3)成立虛擬礦工組織(挖礦群體)

- 礦工以組為單位,一組可以是單獨的一戶,也可以是幾戶聯合成一組

- 成為礦工不影響正常使用貨幣

- 礦工每天要花費一定的時間從事位元幣「挖礦」活動

- 在挖礦的活動中越努力,獲得報酬的可能性就越大

- 可以隨時退出,也可以隨時進入新礦工

(4)建立初始賬簿(創世塊)

新帳簿的付款人都是「系統」,收款人是印章對應的隱含字元。

新帳簿上系統給每一戶預設分配了一定數量的位元幣,數量很少,只有幾枚,有些甚至沒有。

3.支付與交易

4.礦工的工作

(1)礦工的工具

初始賬簿(記錄了系統的第一次贈送)

空帳簿紙

編碼生成器(雜湊函式)

編碼生成器的功能:

 a. 生成的編號只與填寫的內容有關

 b. 內容相同的帳簿紙生成的編號總是相同

 c. 檢測所有的填入帳簿紙的交易單,尤其是保密印章和付款人

 d. 機器可判斷已經列印的帳簿紙的編號是否有效,以及編號和內容是否一致

 交易單收件箱

 公告板(公示一些資訊)

(2)收集交易單

交易的發起人不僅要把交易單給收款人,還要複製乙份一摸一樣的交易單投遞到礦工小組的收件箱裡。

(3)填寫賬簿

礦工拿一張空的帳簿紙,把交易填寫到「交易清單」一欄,並且將賬簿最後一頁的編號抄寫到「上一張賬單編號」一欄。還乙個「幸運數字」,隨便填寫。然後將帳簿紙放入編號生成器,列印好編號。

只有編號的前10個數均為0,帳簿紙才算有效。(若不是有效的帳簿紙,只能通過不停的修改幸運數字來生成有效的編號)

(4)確認賬簿

需要進行確認的資訊有3個:

a. 賬簿的編號有效 (放入編號生成器進行驗證)

b. 賬簿的前一頁賬簿有效

c. 交易清單有效 (付款人是否有足夠的餘額)

5.工作機制分析

核心問題處理

1、同時收到兩份合法的賬簿該如何處理?

由於各個挖礦小組是並行工作的,所以很有可能出現兩份不一樣的賬簿頁,並且都是基於這個小組賬簿的最後一頁,都是合法的。為了解決這種情況:

中本聰提出:小組應該以樹狀組織賬簿,而不是線性方式,無論何時都以賬簿的最長分支作為主賬簿,樹的其他的分支保留。

2、挖礦小組有人偽造賬簿怎麼辦?double-spending如何解決?

中本聰提出:只要挖礦組織中大多數人誠實,系統就可靠。

理由1:保密印章機制。

理由2:誠實的礦工也不會承認不合法的交易。

唯一的攻擊行為:在收款人確認收款後,從另一條分支上建立另外的交易單,取消之前的付款,將同一筆錢付給另外乙個人。(double-spnding問題)

攻擊者簽署交易單,支付應支付的位元幣,然後挖礦小組確認了這筆交易,並且進行了公告,收款人看到公告後,確認轉賬已經完成了,支付給了攻擊者等值的**。然後攻擊者在新帳簿(包含上邊被確認的賬簿)的前一頁做出乙個分支,生成更多的賬單,使原來的主分支變成旁支,挖礦小組就不承認剛才的轉賬,收款人的收款確認會被取消,攻擊者的位元幣又恢復。然後攻擊者再次簽署交易單,以同樣的方式進行下去。我們該如何解決這種情況?

中本聰提出:收款人不要在公告掛出時立即確認交易完成,應該觀察一段時間,等各個挖礦小組再掛出6張確認賬簿,並且之前的賬簿沒有被取消時,才確認付給自己的錢到賬。

之前的**的編號規則就是為了防禦這一點。

3、位元幣一直增加會不會導致通貨膨脹?

不會。

開始的時候:每生成一張賬簿,獎勵小組50個位元幣。

然後:每當賬簿增加21,000頁,獎勵減半。

賬簿頁數

0-21,000

21,000-42,000

……-6,930,000

獎勵位元幣數

50個25…0

備註位元幣總量為21,000,000個

4、礦工如果越來越多,位元幣生成速度會變快不?

不會。

中本聰解釋:編碼生成器中有調控機制。當前工作的編碼生成器越多,機器的效率就會越低,從而保證新賬簿頁生成的速率不變。

5、如果某個人的代號洩露,賬簿又公開,他的隱私豈不洩露了?

確實。但是中本聰說可以提供無限制的保密印章

參考:

codinglabs :乙個故事告訴你位元幣的原理及運作機制

區塊鏈入門筆記

區塊與雜湊的一一對應 1.區塊頭 區塊頭裡面儲存著區塊的頭資訊,包含上乙個區塊的雜湊值 prehash 本區塊體的雜湊值 hash 也就是區塊體的hash 以及時間戳 timestamp 等等。2.區塊體 區塊體儲存著這個區塊的詳細資料 data 這個資料報含若干行記錄,可以是交易資訊,也可以是其他...

區塊鏈學習筆記(一)

1.區塊鏈到底有什麼意義?解決了哪些現有技術無法解決的問題?網際網路是資訊高速公路,解決了資訊互聯問題 區塊鏈是價值高速公路,解決了價值互聯問題。區塊鏈關鍵特徵就是 去中心 當然還有其他特徵如 分布式 放篡改 等,但去中心是最關鍵特徵。現有技術無法解決去中心問題。那為什麼非要去中心呢?這就不得不提到...

區塊鏈學習筆記(一)

位元幣是一種加密虛擬貨幣,但是位元幣本身不加密,利用hash進行加密。是乙個分布式的支付系統。每個節點都維護乙個賬本,每次交易需要半數以上的節點通過,從而防止某個節點篡改賬本。位元幣中用到的密碼學方法有兩個 hash和簽名 hash是整個區塊鏈的基礎。在位元幣中利用hash的hash resista...