買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > 區塊鏈 > Info

ESI:中本聰的背后是誰?比特幣genesis區塊背后的故事_Incooom Genesis Gold

Author:

Time:1900/1/1 0:00:00

持續更新中,觀看更多內容~

在本文中,我試圖解釋比特幣的早期源代碼,并將其與當前使用的源代碼進行關聯。我的目的是幫助您更好地了解有關比特幣歷史的早期細節和中本聰這個神秘人物。對于比特幣或區塊鏈領域的新手來說,這可能是一篇相當復雜的文章,因為我的目標受眾是普通和更有經驗的用戶。盡管如此,我還是力求讓它盡可能的容易理解。

比特幣是卓越的加密貨幣,也是第一個被開發和發布的加密貨幣。比特幣于2008年底由一群開發者或一個名叫中本聰(SatoshiNakamoto)的開發者創建,它現在代表著替代貨幣的概念,在當今的時代精神中扮演著重要角色。

在比特幣發展的早期,許多愛好者被一個新奇的想法所吸引:創造一種不受中心實體束縛的貨幣。近13年后,我們可以說,中本聰成功地將其核心理念灌輸給了許多比特幣愛好者和非比特幣愛好者。

然而,有一個很多人不知道的故事,揭示了中本聰匿名身份背后的人運作方式的一些特征。這是比特幣“另類”genesis區塊鏈背后的故事。別擔心,我們不是在談論任何黑客,這只是一個誕生于2009年1月之前的替代網絡。請注意,我們將把中本聰稱為一個人;不過你必須記住,更多的研究指出,中本聰是由一群開發者組成的。

項目的開始

讓我們從頭開始,中本聰在metzdowd郵件列表中發布了比特幣白皮書的鏈接——一個相當“革命性”的想法。它是如此“革命性”,以至于郵件列表管理員敦促用戶不要談論經濟政策,而是關注技術方面和技術的影響。

作為背景,是一個郵件列表,用來討論與加密技術及其影響相關的主題和新聞。2008年10月31日14:10:00,中本聰向發送了第一封電子郵件,說他已經發表了一份白皮書,描述了一種叫做比特幣的新技術。

隨著關于比特幣的新郵件的回復和對話,許多人開始與中本聰討論這種新貨幣的發展。特別是,在公開的電子郵件通信中,我們可以引用2008年11月17日發給JamesA.Donald的電子郵件中的一個重要段落。

中本聰的回應如下:

我相信在過去一年半的時間里,我在編碼的時候已經解決了所有這些小細節。文章中沒有涉及功能細節,但源代碼很快就會發布。我把主要文件發給你了。(目前可根據要求提供,很快會正式發布)

源代碼

對于想開始研究比特幣源代碼的初學者和新手來說,源代碼預發布是一個很好的資源。事實上,預發布版可以被認為是后來的比特幣的原型。

馬斯克相信有證據指向薩博就是中本聰:12月30日消息,13年前首次提出比特幣概念背后的真實人物(化名為中本聰)是誰?馬斯克試圖解開這一迷團。在一個播客中,馬斯克懷疑這一人物是計算機科學家尼克·薩博,他在1998年提出了一種去中心化的數字貨幣“比特黃金”(bit gold),被廣泛視為比特幣的先驅。馬斯克相信有證據指向薩博就是中本聰。馬斯克補充說,“薩博自稱不是中本聰,但我不確定這是不是真的。但他似乎是比特幣背后創意的最大推動者。”多年來,人們曾多次試圖揭開中本聰的面具,薩博是十幾位有可能的候選人之一。但薩博一再否認他就是“中本聰”,一些理論家堅稱,“中本聰”這個假名背后隱藏的不止一個人。(金十)[2021/12/30 8:14:27]

在早期,源代碼只能應要求提供,那時中本聰并不像今天這樣出名。2013年底,一位收到源代碼的用戶將其發布在BitcoinTalk.org論壇上。在那里,Cryddit發布了收到的源代碼,有效地刪除了元數據等與這些文件相關的重要信息。

第一個版本的比特幣的源代碼由四個文件組成:

node.cppenode.h——節點的代碼

Main.cppemain.h——錢包、交易、區塊(從磁盤讀取)和genesis區塊

當然,源代碼并不包含生成二進制文件所需的所有文件。可以認為,中本聰之所以沒有包含所有的文件,是因為他害怕其他人可能會復制他的想法,或者只是因為他還在研究這個想法。還可以確認的是,源代碼的第一個版本被大量修改,許多最初的注釋已被刪除。

在源代碼中,有一些缺失的文件被提及,特別是我們發現:

headers.h——可能是一個全局文件,包含對庫的所有引用(boost)

SHA.h——包含SHA哈希算法的庫文件

當將源代碼與更接近(比特幣0.1)但更完整的源代碼進行比較時,第一個奇怪的地方是增加了sha.h頭文件。中本聰似乎忘記了刪除它,因為sha.h并沒有在任何地方使用。另外,sha.h文件也不是中本聰編寫的,因為它是公共域代碼(更確切地說,是cryptopp)。

因此,我想到了另一個(可能是更有效的)假設:通過發布源代碼的第一個版本,中本聰想從專家那里得到項目中最重要部分的反饋——而不是其他多余的部分。特別是,中本聰試圖獲得關于網絡、交易管理和區塊鏈元素的反饋。

動態 | 費城出現主題為“澳本聰不是中本聰”的公路廣告牌:Altana Digital Currency Fund首席信息官Alistair Milne發推稱:“費城最大的區塊鏈會議的組織者在該市交通最繁忙的一個地區豎了一塊公路廣告牌,廣告內容為——澳本聰(CSW)不是中本聰。”[2019/9/14]

在node.cpp(函數ThreadBitcoinMiner)中可以找到的另一個奇怪之處是,它提到了一個礦工(函數BitcoinMiner()),然而,它實際上并沒有包含在源代碼中。文件script.cpp沒有被包含在內,其他所有用于生成公鑰/私鑰的文件也沒有被包括在內。

Genesis區塊

現在我們已經對源代碼有了一個概述,我們可以深入研究一下這個看似不真實的故事。讓我們從介紹區塊鏈開始。在描述比特幣的白皮書中,中本聰假設了一個包含交易的區塊被放置在其中的鏈。在源代碼的第一個版本中,這個鏈被稱為“時間鏈”。

區塊通過“鏈”綁定在一起——在每個區塊中,都有一個哈希值,允許兩個區塊進行數學連接。如果有一個區塊的哈希值是無效的,那么與之相連的后續區塊也將是無效的。

在鏈上的所有區塊中,有一個十分特別,它就是Genesis區塊,它是源代碼所有者在區塊鏈上開采的第一個區塊。這個區塊是區塊鏈的創建點,也是唯一由中心化機構實際發布的區塊。

為了從技術上理解Genesis區塊是如何插入區塊鏈的,我們可以分析比特幣的第一個版本。在這里,我們有興趣找出區塊鏈是如何初始化的,以及它插入了哪個區塊。Genesis區塊通過LoadBlockIndex函數插入。將此注釋插入代碼中可能是為了驗證它是否正常工作:

////debug

//GenesisBlock:

//GetHash()=0x000006b15d1327d67e971d1de9116bd60a3a01556c91b6ebaa416ebc0cfaa646

//hashPrevBlock=0x0000000000000000000000000000000000000000000000000000000000000000

//hashMerkleRoot=0x769a5e93fac273fd825da42d39ead975b5d712b2d50953f35a4fdebdec8083e3

動態 | 疑似“中本聰”自證第二部分已更新 稱其98萬枚比特幣已丟失:據查詢,疑似“中本聰”證明自己的網站第二部分已更新,文章主要介紹了其真實姓名及家庭背景等信息,并介紹了98萬枚比特幣的現狀。文章稱其為巴基斯坦人,居住在英國,畢業于巴基斯坦的Al-Khair大學,曾在美國國家衛生服務系統擔任支持分析師,完整法名是James Bilal Khalid Caan。文章稱其因電子郵件被黑丟失了最初的電子郵件,后因硬盤崩潰丟失了98萬枚比特幣,并稱因之前沒打算透露身份所以沒有數字簽名。[2019/8/20]

//txNew.vin.scriptSig=247422313

//txNew.vout.nValue=10000

//txNew.vout.scriptPubKey=OP_CODESEPARATOR0x31D18A083F381B4BDE37B649AACF8CD0AFD88C53A3587ECDB7FAF23D449C800AF1CE516199390BFE42991F10E7F5340F2A63449F0B639A7115C667E5D7B051D404OP_CHECKSIG

//nTime=1221069728

//nBits=20

//nNonce=141755

//CBlock(hashPrevBlock=000000,hashMerkleRoot=769a5e,nTime=1221069728,nBits=20,nNonce=141755,vtx=1)

//CTransaction(vin.size=1,vout.size=1,nLockTime=0)

//CTxIn(COutPoint(000000,-1),coinbase04695dbf0e)

//CTxOut(nValue=10000,nSequence=4294967295,scriptPubKey=51b0,posNext=null)

//vMerkleTree:769a5e

區塊的詳細信息

為了讓讀者更容易理解,讓我們確定以下字段,并注意與當前標準版本的比特幣的一些差異。區塊的定義可以在main.h文件中找到,我們將引用其中定義字段的部分。

聲音 | 劉昌用:澳本聰說自己是中本聰 一些基本的邏輯講不通:知密大學發起人劉昌用發微博總結澳本聰是騙子的簡單邏輯,澳本聰(CSW)說自己是中本聰,一些基本的邏輯講不通: 1. 中本聰害怕身份泄露選擇維基解密事件后隱退,CSW絞盡腦汁向公眾證明自己是中本聰; 2. CSW自稱中本聰,卻說拿出早期私鑰簽名非常危險,而讓公眾確信自己是中本聰跟公布私鑰簽名是同等危險的; 3. 中本聰在密碼朋克郵件列表中發布比特幣白皮書,意圖替代法幣,削弱政府權力,隱退也是擔心政府危害,而CSW申請專利、起訴質疑者、批評密碼朋克精神、自稱國安有人,更像政府雇員。 這幾個邏輯不講清楚,編再多故事,偽造再多證據,都騙不了明白人。[2019/4/19]

classCBlock

{

Public:

//header

uint256hashPrevBlock;

uint256hashMerkleRoot;

unsignedintnTime;

unsignedintnBits;

unsignedintnNonce;

//networkanddisk

vectorvtx;

//memoryonly

mutablevectorvMerkleTree;

//…

}

區塊哈希

哈希是指將哈希函數應用于區塊頭(哈希字段)的特定字符串。哈希函數是一種將任意大小的數據作為輸入并產生與輸入密切相關的位序列的函數。從位序列來看,原始輸入無法輕易追溯。

我們知道,每個區塊可以分為頭(一個全局數據集)和體(區塊的主要內容,即交易)。函數sha256(sha256(header_block))返回哈希值0x000006b15d1327d67e971d1de9116bd60a3a01556c91b6ebaa416ebc0cfaa646。區塊哈希字段的含義在當前版本的比特幣中沒有改變。

前一個區塊的哈希值

為了使區塊隊列有意義,每個區塊必須包含對前一個區塊的引用(hashPrevBlock字段)。使用哈希值來引用前一個區塊是非常有效的,原因有二。

金色財經現場報道 CSDN創始人蔣濤:中本聰是比特幣的創造者 但V神開啟了區塊鏈時代:金色財經現場報道,在2018區塊鏈技術及應用峰會上,CSDN創始人,極客幫創始合伙人認為,雖然中本聰是比特幣的創造者,但是實際上是V神開啟了區塊鏈時代。在以太坊出現之前其實是炒幣時代,以太坊是而以太坊的技術“缺陷”是均衡設計的結果。[2018/3/30]

第一個原因在于存在一個可驗證的數學鏈接,它允許節點忽略不屬于該鏈的任何區塊。另一方面,第二種方法包括優化搜索一個區塊的內部。

在數據結構中進行搜索的最著名的算法之一是哈希表。簡單地說,我們對每個元素應用一個哈希函數,并將每個哈希映射到我們已知的內存位置。要檢查一個元素是否存在,我們只需訪問哈希值被映射到的內存位置。在常數時間O(1)內,我們可以通過哈希值搜索鏈內的區塊。當然,搜索區塊的方法因項目而異。

在genesis區塊的特殊情況下,前一個區塊的哈希值被設置為0,因為第一個區塊沒有任何母塊。該字段在當前版本的比特幣中具有相同的含義。

比特幣的情況并非如此,但這是一個很好的機會來談談genesis區塊的驗證。要了解一個d區塊是否是genesis區塊,必須將區d塊的哈希值與genesis區塊的哈希值進行比較。建議不要去檢查d.hhashprevblock===0這個條件。有了這個條件,就不能保證一個區塊的哈希值為0(或者更危險的是,不能保證它被某些深奧的編程語言轉換為0。

MerkleTreeRoot

MerkleTree是比特幣內部大量使用的數據結構。此數據結構是由節點組成的樹形數據結構類別的一部分。為了更好地理解這個概念,假設我們有一張圖,其中有相互連接的節點。圖形通常可以向任何方向發展,包括垂直、水平等。

樹狀圖是一個從上到下的特殊圖形。在頂部是圖形開始的節點,而從上到下逐漸滾動,我們會發現不同的節點。我們把與節點x相連的節點稱為x的子節點。位于x節點“上方”的節點稱為x的母節點。樹狀圖有一個根頂點,由此產生各種弧——樹狀圖中的“分支”,將根連接到新的頂點。

每個頂點都可以有起源于新頂點并指向新頂點的分支。沒有向外分支的最后頂點被稱為“葉子”。比特幣使用的MerkleTree是由葉子構成的。每個葉子都包含一個交易的哈希值(如果是奇數,最后一個是重復的),其中(一次一對)葉子的內容被連接起來,并應用哈希函數來創建一個新的頂點。這個過程一層一層地重復,直到只剩下兩個頂點,它們在連接和散列時就形成了roothash。

因此,要驗證包含交易的數據結構,只需檢查MerkleTree根的哈希值就足夠了(即hashMerkleRoot字段)。MerkleTree是表示這組交易的一種緊湊方式——它被用作一種校驗和。經過檢查,具有精確roothash的新區塊包含有一個在MerkleTree中操作,并返回roothash的交易集。

如果沒有MerkleTree,對于每個區塊,一個比特幣節點將被迫驗證N個區塊,N是交易,與使用MerkleTreeO(1)相比,時間將與O(N*M)成正比。對于該區塊,值為0x769a5e93fac273fd825da42d39ead975b5d712b2d50953f35a4fdebdec8083e3。

交易

區塊的內容由一組交易(txNew字段)表示,在每個區塊中有一個稱為vtx的交易向量。

我們在下表中總結了一個交易的字段:

第一個區塊中的交易是coinbase交易——由輸入和輸出組成。我們從一個關鍵元素認識到這是一個coinbase交易:輸入的數量等于1(中本聰的代碼中明確了此條件)。這筆交易被發送給挖出它的人,也就是中本聰;因此他獲得了第一個比特幣。在這個區塊中,中本聰將比特幣的較小面值稱為“cent”(10,000),而不是“satoshis”。

不幸的是,由于第一個公開版本的比特幣也存在一個問題,中本聰永遠不能花這筆交易的錢。正如我們可以用代碼驗證的那樣,當在區塊鏈中插入genesis區塊時,開發人員還應該將交易插入包含所有交易的數據結構中。然而,中本聰并沒有包括第一筆交易。因此,該區塊是存在的,然而,該交易對于系統并不存在——即使它仍然包含在genesis區塊中。

在輸出字段中,第一筆交易的金額被設置為10,000(nValue字段)。此外還指定了scriptPubKey:這是一個指定特定條件的字段(在本例中是OP_CHECKSIG)。如果這個條件為真,那么交易是有效的,金額可以消費。關于scriptPubKey的更深入的概述,我推薦閱讀Bitcoinwiki的“Scripts”部分。

例如,讓我們以一個普通交易的構造為例,在其中我們希望使用輸入“A”,它是前一個交易的輸出。之前的交易為“A”指定了一個scriptpubkey,在最簡單的情況下,它包含一個公鑰和使用該密鑰簽名的請求(OP_CHECKSIG)。在使用“A”作為輸入構建交易時,必須提供一個scriptsig,它是使用前面的sciptpubkey指定的密鑰構建交易的簽名版本。“正在構建的交易”是除了scriptsigs之外所有字段都被填充的交易,而scriptsigs必須為空。genesis區塊的特點是scriptsig字段是完全任意的,因為沒有以前的交易可以從中獲取驗證規則,所以中本聰可以輸入任何東西。

時間戳

時間戳字段表示自UnixEpoch(1970年1月1日)以來所經過的秒數。對于這個區塊,時間戳的值是1221069728,指的是2008年9月10日星期三,18:02:08(GMT)。

事實上,該區塊似乎是在2008年9月10日添加的。之所以說“似乎是被添加的”是因為不確定它是否在當天被添加到鏈上。相反,2008年9月10日提醒了我們一個非常重要的事件。

2008年9月10日:雷曼兄弟公布第三季度業績

在這一天,全球投資銀行雷曼兄弟公布了其第三季度的業績,公布了大約39億美元的虧損,并最終在五天后宣布破產。因此,不清楚時間戳是真實的還是人為插入的。中本聰會包含一些2008年金融危機的線索并不令人陌生(因此,很容易看出中本聰是如何反對傳統支付系統的)。

為第一個區塊選擇這樣一個日期只能是一個奇怪的巧合。對于那些感興趣的人,我檢索了《泰晤士報》發表的一些文章,特別選擇了一篇,并決定以文章的名字命名區塊鏈。如果我是中本聰,我會選擇這一篇:“2008年9月10日,泰晤士報,雷曼兄弟以39億美元的虧損出售房地產資產”。

請注意,這種關聯是非常“推測性”的,沒有其他證據表明中本聰是否有意將此事件與區塊鏈聯系起來。然而,這種巧合仍然令人好奇。

目標/難度

nBits字段是唯一一個與當前版本比特幣有實質性區別的字段。在標準版本(當前版本)中,它是目標部分:區塊頭的哈希值必須小于或等于該區塊才能被網絡所接受。目標字段的值越低,區塊就越難被挖掘。

在非常早期的版本中,nBits字段是關于的,但它代表了在一個區塊被接受之前可以完成的最小“工作量”。這似乎是一種意義的反轉,因為正如上面所提到的,它代表了在被網絡接受之前必須完成的最小工作量。簡單地說,通過產生的哈希值(除了有效外)必須大于nBits。事實上,nBits字段的值等于main.h文件中聲明的常量,該文件名為MINPROOFOFWORK,注釋為“非常容易測試”。

Nonce

Nonce字段是一個由礦工選擇的任意數字,用于滿足哈希值的約束條件。事實上,區塊的哈希值必須以若干個零開頭。nonce字段與當前版本的比特幣使用的字段相同。

中本聰的背后是誰?

自比特幣故事開始以來,中本聰背后的身份一直是個謎。一些投機者將矛頭指向了計算機和經濟學領域的杰出人物。從全球知名人士(如埃隆·馬斯克)到狂熱分子,很明顯,這個謎題讓許多人興奮不已。

人們對中本聰創作的文本進行了文體分析,包括在BitcoinTalk論壇上發布的消息、電子郵件和白皮書等中本聰創作的主要文本。此外,為了進一步分析,人們收集了第一批與中本聰關系密切的人的信息(如HalFinney,NickSzabo)。

多年來,CraigWright等人物站出來聲稱自己是中本聰。當然,驗證一個人是否真的是中本聰的唯一方法是通過PGP密鑰。如果有人設法用中本聰的私鑰簽署消息,那么有兩種可能:這個人真的是中本聰,或者私鑰被偷了。

一些人大膽地認為,中本聰背后可能有一群人,這將解釋為什么文體分析失敗(或者說為什么研究中存在很多偏見)。在比特幣社區內,有一些研究反駁或證實了某個人和中本聰之間的聯系;然而,這些研究分析的數據集相當有限,人數也很有限。

然而,關于中本聰性格的一個非常重要的細節是有可能已經被揭示出來。事實上,中本聰選擇了帶有特定時間戳的genesis區塊(其中包括英國《泰晤士報》文章中的句子),這讓人意識到中本聰的身份背后花了多少精心準備。中本聰并不希望源代碼預覽被公布。

比特幣的準備、早期SVN提交中發現的一些評論以及中本聰所追求的完美主義可能暗示著一個由一群人“臨時”創造的形象。當然,這一切還只是猜測——要真正把一個身份歸到中本聰身上,需要社區方面付出更多努力,從每一次對話中盡可能多地獲取信息。

希望這篇文章對大家有一定的幫助。

在加密行業你想抓住下一波牛市機會你得有一個優質圈子,大家就能抱團取暖,保持洞察力。如果只是你一個人,四顧茫然,發現一個人都沒有,想在這個行業里面堅持下來其實是很難的。

想抱團取暖,或者有疑惑的,歡迎加入我們-----公眾號:布里克熊

Tags:比特幣GENESISESI比特幣手機錢包worldgenechainsis幣哪國的Incooom Genesis Gold

區塊鏈
ASS:預期熊市底部的比特幣 [BTC] 持有者應閱讀此內容_GLASS

最近幾周,比特幣價格異常波動。根據Glassnode的最新報告,這可以與同期大幅波動的更廣泛的金融市場形成對比.

1900/1/1 0:00:00
BIT:Bitfinex Integrates with Digivault_bitfinex

WearepleasedtoannouncethatBitfinexhascompletedanintegrationwithDigivault.

1900/1/1 0:00:00
DESO:熊市玩一下去中心化社交DESO公鏈 為大眾帶來去中心話社交_DESO價格

簡介:DeSo是一個新型的社交網絡,從頭構建了用戶可以利用其影響力和內容變現機制的自定義的區塊鏈.

1900/1/1 0:00:00
以太坊:王思聰入局數字藏品,控股公司投資成立元宇宙公司推藏品,單品發行總價值近250萬_MED

金色財經報道,上海薄荷鎮藝術科技有限公司已上線名為“名堂MintTown”的平臺,據天眼查APP,王思聰通過參股上海香蕉計劃娛樂文化有限公司,間接持有薄荷鎮股份.

1900/1/1 0:00:00
COI:KuCoin Will Support the BNB Smart Chain(BEP20) Network Upgrade and Hard Fork_kucoin交易所app官網下載

DearKuCoinUsers,?KuCoinwillsupporttheBNBSmartChain(BEP20)networkupgradeandhardfork.Thearrangement.

1900/1/1 0:00:00
KEN:imToken 簡報 | 2022/10/10_imtoken官網下載2.0

版本更新 在過去的一個月里,我們非常高興看到以太坊順利合并!以太坊正式進入PoS共識時代。imToken作為早期以太坊錢包之一,在imToken2.11.0版本支持此次合并.

1900/1/1 0:00:00
ads