區塊鏈程序研讀——第一周

? ? 硬著頭皮接下了比特幣源程序區塊鏈的研讀。首先是焦慮,一眼望去如汪洋大海,白天我還在想著如何向higer解釋我的不自量力,晚上就收到了他催促領任務,領就領,又不是讀。

圖片發自簡書App

? ? 這一周就開始了眉毛故意一把抓。

? ? 給自己大致分了幾個步驟:

1.下載c++和源程序,安裝調試

2.到網上搜索別人是如何解讀的

3.重讀《精通比特幣》

4.記錄下每一步遇到的問題

下面是點滴所得:

為什么我要領區塊鏈的任務呢,因為我認為自己相對來說熟悉一些,感謝那時候自己做的筆記。可是打開程序,都是一些沒見過的,甚至區塊鏈程序在哪都找不到,獵物都發現不了,更甭提打獵了。我以為就看不懂了,但總得干點什么吧,就下載了C語言,還有bitcoin的程序。看了幾個程序說明。有進步,那是我自己找來的,總會有辦法的。

? ? 由于和AK47同時領了同一一個任務,期間伙伴問到了比特幣是哪種語言,當他說是python時,我一愣,因為一直以來我都認為是c++,還記得是早期higer說過的,我只是在腦子里有了印象,并沒有刻意的多想,其實應該記下來的。

我采用讀別人程序的辦法,先看看別人的解讀。小技巧是大量找來資料,其實就是廣撒網。

? ? 通過閱讀,有以下收獲,先說知識點的

1.比特幣腳本是由一系列指令和數據構成,每個指令占用一個字節,數據是由數據頭部的長度決定。

2.比特幣腳本:鎖定腳本和解鎖腳本

鎖定腳本和UTXO對應,一個UTXO對應一個鎖定腳本。

解鎖腳本,就是誰能夠提供一個簽名和一個公鑰,讓這個腳本運行通過,誰就能花費這筆交易。

3.比特幣的執行流程基于堆棧模型

比特幣腳本被設計成棧來運行的虛擬機指令,它只有有限的幾種指令,并且故意被設計成沒有循環、條件跳轉。所以,比特幣腳本不是圖靈完備的語言。

4.所謂挖礦難度,指的是要求的二進制散列值末尾0的個數,而散列值是隨機生成的,除了窮舉沒有別的辦法,要求的0個數越多挖礦的難度就越大。

? ? 打開《精通比特幣》,發現附錄里交易腳本的操作符、常量、符號的描述,一下子解決了完全看不懂的狀態。只要想找,總有辦法。后來倒著讀這本書,試圖找出點什么來。

至于說架構,我找了兩個自己能夠看的懂的

圖片發自簡書App
圖片發自簡書App

這就是我的第一周,連區塊鏈的程序在哪里都沒有找到。

群主,你看著辦吧,愛咋咋地

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容