? ? 硬著頭皮接下了比特幣源程序區塊鏈的研讀。首先是焦慮,一眼望去如汪洋大海,白天我還在想著如何向higer解釋我的不自量力,晚上就收到了他催促領任務,領就領,又不是讀。
? ? 這一周就開始了眉毛故意一把抓。
? ? 給自己大致分了幾個步驟:
1.下載c++和源程序,安裝調試
2.到網上搜索別人是如何解讀的
3.重讀《精通比特幣》
4.記錄下每一步遇到的問題
下面是點滴所得:
為什么我要領區塊鏈的任務呢,因為我認為自己相對來說熟悉一些,感謝那時候自己做的筆記。可是打開程序,都是一些沒見過的,甚至區塊鏈程序在哪都找不到,獵物都發現不了,更甭提打獵了。我以為就看不懂了,但總得干點什么吧,就下載了C語言,還有bitcoin的程序。看了幾個程序說明。有進步,那是我自己找來的,總會有辦法的。
? ? 由于和AK47同時領了同一一個任務,期間伙伴問到了比特幣是哪種語言,當他說是python時,我一愣,因為一直以來我都認為是c++,還記得是早期higer說過的,我只是在腦子里有了印象,并沒有刻意的多想,其實應該記下來的。
我采用讀別人程序的辦法,先看看別人的解讀。小技巧是大量找來資料,其實就是廣撒網。
? ? 通過閱讀,有以下收獲,先說知識點的
1.比特幣腳本是由一系列指令和數據構成,每個指令占用一個字節,數據是由數據頭部的長度決定。
2.比特幣腳本:鎖定腳本和解鎖腳本
鎖定腳本和UTXO對應,一個UTXO對應一個鎖定腳本。
解鎖腳本,就是誰能夠提供一個簽名和一個公鑰,讓這個腳本運行通過,誰就能花費這筆交易。
3.比特幣的執行流程基于堆棧模型
比特幣腳本被設計成棧來運行的虛擬機指令,它只有有限的幾種指令,并且故意被設計成沒有循環、條件跳轉。所以,比特幣腳本不是圖靈完備的語言。
4.所謂挖礦難度,指的是要求的二進制散列值末尾0的個數,而散列值是隨機生成的,除了窮舉沒有別的辦法,要求的0個數越多挖礦的難度就越大。
? ? 打開《精通比特幣》,發現附錄里交易腳本的操作符、常量、符號的描述,一下子解決了完全看不懂的狀態。只要想找,總有辦法。后來倒著讀這本書,試圖找出點什么來。
至于說架構,我找了兩個自己能夠看的懂的
這就是我的第一周,連區塊鏈的程序在哪里都沒有找到。
群主,你看著辦吧,愛咋咋地