中本聰談比特幣的前世今生(終)
目前,有網站自稱是“中本之家基金會”,並有一篇署名為中本聰的作者發表了21頁的長文。這是近些年最像中本聰的人。我們對這篇21頁的長文進行了翻譯,並陸續分享給大家,此為最後部分。
一開始,我給兩個人寫過郵件,是關於比特幣的。這兩個人是亞當和魏。
我先給亞當發了電子郵件,他把我介紹給了魏,我把這兩件事都寫進了我最初的設計論文裡。我與他們共同設計的預演草稿紙,但我懷疑他們都沒有了(其實我知道這個事實,如果你不相信,接著問),和唯一的紙,今天是我傳送到郵件列表,這是事實。當我提到設計論文時,我指的是今天所知的白皮書。在公開發布後,我重新命名了它。
亞當是郵件列表上的常客,也是為數不多的幾個人之一,他們在思考如何能在同一時間找到一個真正無法追蹤的電子現金。他是分散式電子現金的主要支持者,這是許多人曾經嘗試過的,但沒有一個成功。對亞當來說,我認為他關心的是如何阻止它以摩爾定律的速度膨脹,直到比特幣,沒有人找到方法來做這件事。在密碼朋克社群中提出的大多數早期想法要麼被包含在學術論文中,要麼已經被使用了,但卻從來沒有得到重視,而且由於各種原因都不起作用(一個值得注意的例子是Digicash)。
我通過他在郵件列表上的帖子瞭解了亞當,這也是我瞭解雜湊現金的方式。他曾在密碼朋克郵件列表中詳細描述了它的屬性,人們將它與數字黃金進行比較,以及如何實現分散式電子現金的實現。
儘管亞當是雜湊現金的負責人雖然到目前為止它主要用於反垃圾郵件,但它還有其他各種實用工具可以使用。其中之一是作為比特幣挖礦功能的一部分,但其中還是有一些關鍵的區別。雜湊現金致力於整個位元,而比特幣挖礦是擴充套件到允許分位,2^32是比特幣的原始和啟動的困難。這是因為一個雙雜湊,從SHA1切換到SHA256和比特幣,定義了找到雜湊的工作為<2^x,其中x是log2(difficulty)+32bits。儘管比特幣的難度是用指數來表示的,但它也可以用位元來表示,因為比特幣的數量更小,可讀性更強,這在很大程度上是約定俗成的。
當我決定聯絡他,問我是否可以引用他的論文時,我已經建立並設計了一個原型,並且已經使用了雜湊現金作為挖礦功能。在這一刻,他指出了我論文中的相似之處,並建議我應該看看魏的b-money。
當我聯絡到魏的時候,我已經研究了他的b-money,並試圖把它包含在我的論文中。我希望,讓其他人看到是什麼想法幫助塑造了比特幣的誕生,幫助他們更好地理解我的動機。在他的文章中,魏提出將工作證明作為一種創造貨幣的手段。我認為,魏的建議是對亞當的雜湊現金的迴應,該公司在一年前釋出了同樣的密碼朋克郵件列表。在這篇論文中,戴概述了所有現代加密貨幣應該具備的基本要素,包括:
•通過指定數量的計算工作,在本例中為PoW
•該工作由更新全球總賬或“區塊鏈”的社群進行驗證
•為員工的最大努力提供資金,在這種情況下是使用者
•通過使用加密雜湊的方式,通過合作記錄和認證來實現資金的交換。
•通過使用公鑰加密技術,通過節點廣播和簽署帶有數字簽名的交易,合同是強制性的。
戴先生很清楚地描述了加密貨幣的優點,因此早在1998年,比特幣這樣的貨幣的基本組成部分就已經存在了。事實上,許多不同的迭代都必須失敗,才能為比特幣和所有後來的加密貨幣鋪平道路。但魏提供了一個基礎,我可以利用現有的想法,更進一步,實現他對去中心貨幣的願景。
有些人可能會問,為什麼我在論文中提到他們的工作時我已經在論文中引用了。
在大多數情況下啟動和建立第一個測試網路的比特幣,雖然事實上已經解決了,一切都執行良好,但我擔心社群是否會接受或拒絕我的工作,我花了兩年的工作。在學術界,就像在日常生活中,有時你需要上級的支援才能讓你的工作通過大門。
我很確定,如果我只是在郵件列表中宣佈我的工作(和意圖)沒有任何引用或參考,那麼它很可能會被認為是另一種分散式的貨幣失敗的嘗試。但是在這裡,有兩個著名的(受人尊敬的)個人在密碼學領域,他們在某種意義上,為我擔保他們的名字被包含在報紙上。這是我的推理,所以當它來宣佈的時候,已經有了一些支援或立足點,讓它通過門,進入那些最嚴厲的批評它的人的手中。
當我離開這個社群時(跳過了一些,好了,這裡有很多章節的摘錄),我把這個域名的所有權轉移給了Martti,並把儲存庫留給了加文。4月我決定現在應該離開的時候(事實上,我已經離開社群更早在聖誕節前一年,如果你不相信,問問核心開發人員關於這個時間,像邁克),因為維護和開發已經由一個熟練的開發團隊接管了,所以他們不需要我了,我真的無意繼續。我給核心開發人員發了最後的信件,並把責任分配給了其他人。我又聯絡了一會兒,很快就把我和中本聰的一切聯絡都抹去了。我盡力不留下任何關於我曾經存在過的肯定,所有能把我聯絡起來的東西我都放進了一系列檔案中,所以在我離開的情況下,任何人都可以扮演這個角色。
還有其他更嚴肅的離開理由,在這裡我不想談論,但會在書中提到。
這是復卷的時間。
從2006年中期開始,我就一直在思考一種貨幣的想法,但直到一年後,我才真正開始思考如何從這些想法中製造出一個原型。我對密碼學的理解並不是特別先進,儘管如此,我還是把我所知道的、存在的和已經在工作的東西拿來用了,並在我認為合適的地方做出了改進。我研究了當時的研究材料,並實現了我認為將會持續很長時間的研究。一些協議和標準剛剛開始執行,我還是決定將它們包括在未來的防護中。
我知道很容易想象比特幣是憑空而來的,但實際上,事實並非如此。它是由許多團體多次失敗的嘗試產生的,它成功的唯一原因是它在正確的時間。儘管我並沒有預測到金融危機的發生——誰能預測到這一點(儘管好奇答案),但它確實起到了推動作用,我認為如果不是這樣的話,比特幣就不會像現在這樣迅速發展。其他的想法——使用密碼演算法、工作證明、時間戳,已經存在了。但是,沒有人把所有這些東西聯絡在一起,以一種反映網際網路結構形式的方式。在我深入研究之前,我閱讀了過去15年的每一篇學術論文,並評論說,在每一次試圖製造比特幣這樣的東西的失敗嘗試中,都遺漏了一個關鍵因素。所有的人都有一些零碎的東西,但不是完整的影象。
點對點是比特幣的一個基本方面,使其優於此前的所有嘗試。它的優點是網路架構可以在對等點之間解除安裝工作負載,形成了一個節點網路。每個節點都對這個網路做出了貢獻,不需要中央權威或第三方,也不需要任何伺服器。點對點本身是出於去中心的需要而產生的,而ARPANET允許任何人請求和提供內容,除了提供簡單的路由之外,它還提供了其他任何東西。USENET是一個在1979年設計的系統,它是BBS系統的前身,它允許分散式和分散式系統。但是,與當時的其他BBS或web論壇不同的是,USENET是分散式的,沒有中央伺服器和專門的管理員。USENET相反,是分散的。
這其中一個關鍵的區別在於,它導致了P2P檔案共享等技術,以及像Napster這樣的服務,以及隨後從Mnet中剝離出來的Bittorent。Mnet本身就是一個對等檔案共享服務,它使用了一種名為Mojo的數字貨幣,在一個完全分佈的網路中,它提供了一種抵禦攻擊的動機,這是最早的“智慧合約”之一。
我簡單地提到了USENET,因為當我宣佈比特幣的時候,某些東西只有在之前忽視之後才會引起我的注意,比如公共時間戳在我釋出之前是不知道的。網際網路是如此之大,以至於無論從什麼角度來看,我都不知道一切。
達斯汀·特拉梅爾是其中之一,他給我帶來了深刻的領悟,因為儘管我認為我已經涵蓋了每一個基礎,但仍有一些東西需要學習。當他在我公開宣佈比特幣的那一天給我發郵件時,他和我分享了一個驚人的使用時間戳的方法,而這些時間戳並沒有使用USENET。這就是為什麼後來我特別提到了其他一些我可能忽略了的想法,比如比特幣的前身BitGold。
儘管如此,我還是覺得有些事情我還沒有發現。在最初的日子裡,達斯汀繼續與我保持聯絡,提出建議,這幫助我讓比特幣變得更像樣,不那麼笨重,更實用。在接下來的幾天裡,我們討論瞭如何讓比特幣在公眾中流行起來。我喜歡達斯汀的地方是他的開放性,因為我們都對金錢和密碼學有很深的興趣。人們認為我不是一個“密碼學家”,從最真實的意義上說,我不是,但這並不意味著我不知道如何將密碼證明應用到比特幣中。
達斯汀也是為數不多的對比特幣(bitcoin)穩定版v.0.1.3提供反饋的人之一。在此之前,軟體已經被bug纏身,在最初的幾天裡,我每小時都在解決軟體中的bug。
他提出的一個更有趣的問題是,如果有一個節點具有最多的CPU算力,如果一個節點比其他節點更強大,那麼它就會一直贏得大部分的比特幣。我用最簡單的方式向他解釋,就像我過去一直做的那樣,用一個類比。正如我曾試圖與拜占庭將軍的問題,我覺得給新使用者的最好的解釋方式是將現有的想法或概念,更容易理解,並應用到可能(可行)的情況下,在這種情況下,它是相對於效能。
我用了一輛快速汽車的比喻,我可以看出他是在考慮馬力的問題。我向他解釋說,這不是一場比賽,如果一輛車的速度是兩倍,(假設)它總是會贏的。更確切地說,它是一個SHA-256,它需要不到一微秒的時間,每個人的猜測都有一個平等但獨立的成功機會。每臺計算機找到雜湊碰撞的機率與它的CPU算力成正比。因此,儘管一臺電腦的速度可能是原來的一半,但這僅僅意味著它將得到一半的比特幣,而不是沒有。比特幣本身並不是一個贏家通吃的系統。
人們應該瞭解比特幣的核心,就是它和所有的時間戳伺服器都共享了週期性地將東西收集到塊中並將其雜湊到一個鏈中的基本功能。
比特幣在網路CPU總量很小的時候也處於最脆弱的階段。但這被一個事實抵消了,即在一開始就攻擊它的動機也很小。
我認為人們不知道為什麼花了這麼長時間研究比特幣達到臨界質量,但事實是,這項技術實現了比特幣,至少正在成熟,雖然有很多人感興趣的90年代,經過十年多的基於可信第三方的系統失敗(Digicash等等),他們認為這是一個令人失落的原因。我擔心的是他們(“他們”是密碼學社群)不會做出區分。但比特幣與之前的所有嘗試都有很大的不同,我認為比特幣是他們做出這種區分的一個要點。他們會意識到這是我第一次將一個完全非信任的系統提出。
我非常關心密碼學社群會怎麼想,它導致我忽略了任何失敗的嘗試,在最初的設計論文中引用Digicash作為比特幣的先驅,因為害怕人們會在它開始之前就把它忽略掉,然後繼續前進。因此,我引用了b-money和工作系統的反證等思想的優點,這本身就是受到他人作品的啟發,亞當在他的論文中提到了這一點。把握好的想法,忽略那些失敗的想法,是我在如此嚴厲的懷疑論者的眼中看到成功的唯一方法(也許批評家是更好的詞)。如果不是基於信任的系統,Digicash就會被引用。
哈爾曾提到,到2019年,比特幣及其成功的機會將是一項“孤獨的投資”,換句話說,不太可能。它要麼工作得很好,要麼流行起來,要麼失敗得驚人。比特幣,雖然我看到許多用途以外的傳統方法,如狹窄的領域,傳統的貨幣並沒有真正融入,獎勵點,捐贈令牌,在遊戲貨幣,類似這樣的事情,我從來沒有指望比特幣抓那樣,與法定貨幣直接競爭。但事實就是如此。它超出了預期。
無論從哪個角度來看,比特幣都是非常安全的,幾乎沒有什麼失敗的地方,而且大部分都是為了長期而建的,然而,有些人質疑我所達到的方法。
許多人可能想知道為什麼比特幣的核心是用C++設計的,答案主要與記憶體有關。不能拒絕彈性和適應能力。我最關心的是在考慮使用什麼程式語言時的可靠性和攻擊,對網路的攻擊是最主要的關注點。
我將攻擊分為兩類:
1)攻擊只能由某人在通訊鏈中進行
2)任何人在網際網路上的攻擊都可以在任何地方進行
第一個攻擊方法將你暴露在你的房子或公司的本地區域網中,在網際網路服務提供商之間的管理員,以及接受者的區域網。第二種方法讓你接觸到10億人,他們可以自我選擇成為攻擊者,當他們開發一種技術來攻擊多個受害者時,就能獲得規模經濟。
第二種攻擊方式是比特幣是用C++設計的。你看,比特幣必須對所有形式的攻擊都有彈性,因為它有一個巨大的攻擊範圍。由於它對網際網路開放,它必須對一致性有很強的要求。c++提供。它意味著對記憶體使用的嚴格控制,這意味著像比特幣這樣的安全關鍵應用程式直接暴露在網際網路上,仍然可以為本地客戶提供可靠性,同時與大量不受信任的端點進行通訊。這需要對記憶體等資源進行嚴格的控制,而C++很好地解決了這一問題。與其他程式語言不同,C++提供了對記憶體使用的一致控制,同時也對速度和效能進行了優化。選擇C++的其他原因是什麼?不提上面提到的,C++有堅實的基礎和基礎,技術是堅如磐石的,並且一直在增加新的功能。這是一個顯而易見的選擇。
我給他寫了一封電子郵件,進一步解釋:
IP請求傳送一個新的公鑰,所以,是的,它很容易在中間輸入1。如果這是一個令人擔憂的問題,那麼傳送到一個比特幣地址就不會有這樣的漏洞,儘管這是一個小小的隱私權衡。我有一種感覺,大多數時候,人們會從非ssl網站和無符號的明文電子郵件中獲得比特幣地址,而這類電子郵件已經很容易受到DNS中毒的影響。
一種解決方案是在傳送時使用IP地址和比特幣地址(可能是1.2.3.4-1Kn8iojk…),在這裡,接收者使用比特幣地址的公鑰來簽署新的公鑰,以證明你正在傳送給你認為你是誰的人。如果系統開始被用於真正的業務目的,我肯定會實現它。另一個解決方案是使用SSL。
目前,很明顯,如果你傳送到一個IP,你沒有給出任何關於接收者的識別資訊,所以你將會盲目地傳送給任何回答這個IP的人。
稍後的另一個功能是加密你的錢包。
現在,我想在這裡說明有一個人他的奉獻最大,他應該被認為是最初成功的主要功臣,因為他們的幫助是有幫助的。我幾乎不承擔任何責任,因為這個人真的是應該感謝的人。
哈羅德芬尼(簡稱哈爾)是我見過的最聰明的人之一。他不僅是負責第一個可重複使用的工作系統證明的人,而且他是真正的熟練。他還參與了PGP的持續開發(為了記錄,我從來沒有使用PGP來做任何事情,我也懷疑我這次也不會)。我對他非常尊敬,尤其是他致力於確保比特幣的生存,因為即使在早期其他人對比特幣不感興趣的時候,哈爾是唯一一個與我並肩作戰的人。
我從密碼朋克的郵件列表中瞭解哈爾有一段時間,所以我尊重他的思維過程,因為他是我非常尊敬的人。
哈爾是第一個在工作量證明上建立起來的人,也是第一個提出可重複使用的工作證明的人。這對於比特幣的原型來說是至關重要的,因為他在RPOW上的工作,就像電子貨幣一樣,是激發我最初使用POW的靈感。令今天的人們懊惱的是,我仍然相信工作量證明的優點(我將在書中解釋原因)。哈爾確保了RPOW代幣的價值與鑄造POW代幣所需的真實世界資源的價值相對應。在他的例子中,POW代幣是一種雜湊現金,它是由亞當開發出來的。
儘管他的RPOW沒有看到明顯的吸引力,也沒有真正的使用,但它就像比特幣,基於POW的雜湊現金。這意味著兩者都來自同一個起源,但都取得了不同的結果。儘管RPOW的設計是基於POW的雜湊現金的,但它依賴於硬體可信的計算功能,這意味著計算機將始終以預期的方式執行,而這些行為是由計算機硬體執行的,而比特幣則依賴於一個去中心化的P2P協議。從這個意義上說,比特幣得到了更好的保護,並且可以得到更好的信任,因為雖然RPOW是由儲存在TPM(可信平臺模組)硬體中的私鑰保護的,但是任何持有這些金鑰的人都有可能破壞這種信任。
不同之處在於,比特幣是通過單個礦工使用的雜湊現金的POW功能挖掘出來的,並由節點本身在P2P網路中進行驗證。
哈爾也是我第一個傳送比特幣的人,他是我的第一個收件人,也是第一個官方的bug報告者,也就是第一個報告bug的人。
我與哈爾對話一開始主要包括在除錯軟體的第一個版本,v0.1.0α,雖然我沒有任何例項使用軟體的經歷,我知道其對更多的使用者開放有助於認識和解決問題,我不能僅僅靠我的經驗或複製。
比特幣是一種安全密集型應用,尤其是因為它面向網際網路。為了使它能夠工作,所有的bug都必須在釋出之前從軟體中得到解決,或者儘可能多的被發現。除錯包括在軟體中搜索“bug”,直到您找到故障發生的地方,然後確定錯誤的引數或程式碼是為了進行必要的更改。
GDB只讀取足夠的符號資料,以知道在呼叫時在哪裡找到其餘的部分,而GCC避免為正在編譯的原始檔中未使用的型別生成除錯符號輸出。
在這種情況下,應用程式在除錯構建中工作,但是在釋出版本中失敗了,很可能是編譯器優化是原因,而罪魁禍首是原始碼中的缺陷。在除錯構建中,優化被開啟,除錯符號不會被釋放。因此,為了隔離bug,您必須禁用編譯器優化,直到找到問題檔案為止。在要點中,這就是除錯的工作原理。
在哈爾的案例中,沒有任何符號出現。這是因為我已經剝奪了他們,因為它使可執行檔案的大小增加了近45mb。當時我不能證明,因為我完全沒有遇到任何異常,但後來我意識到這是一個錯誤,同時軟體仍然有很多錯誤。
當時,哈爾正在使用MSVC(Visual Studio),並在啟動比特幣時經歷了崩潰。執行cygwin,一個類似於UNIX的命令介面,它允許你在它上面啟動windows特定的應用程式,在這個例子中,應用程式是比特幣,哈爾沒有發生崩潰。
這導致我在我這邊複製了這個bug,並將其隔離到“map地址”。這對軟體來說不是必需的,所以我願意刪除這部分,關閉優化,直到我能弄清楚到底發生了什麼,因為我不能再複製它了。
這個(似乎)小問題困擾了我很多,以至於我開始花接下來的幾個小時試圖對軟體進行壓力測試,並重新建立這個問題。三個小時後,我終於明白了問題的癥結所在。問題是,當我啟動一個執行緒並執行map地址時,記憶體訪問衝突。這通常發生在一個程式試圖訪問一個它不允許的記憶體位置時。
我最後新增的一個程式碼片段,甚至根本不需要它,這讓我感到很痛苦,也讓我很沮喪,所以我決定推出一個新版本v0.1.1,省略了mapaddress.count。一旦我刪除了那個單例項和一行程式碼並關閉了優化,一切都執行良好。從早上的混亂到那天結束的“一切都很好”。
我們繼續在v0.1.2版本中工作,我將它傳送給他進行測試,軟體仍然存在問題,他的節點變得沒有響應,我將其歸因於ThreadSocketHandler或ThreadMessageHandler。我讓他通過一個除錯構建來查詢原因,並將其縮小到一個選擇失敗的錯誤,這決定了一個或多個套接字的狀態,特別是“選擇失敗:10038”。我經歷瞭如此艱難的一天,感覺被打敗了,我告訴哈爾,網際網路是一個殘酷、粗暴和混亂的地方。最終我找到了一個解決方案,選擇錯誤本身並不是一個主要問題,但是它確實導致了通訊執行緒在套接字上被阻塞。如果我沒有修正這個錯誤,節點的通訊將是斷斷續續的,有時會死掉。連線仍然建立,但是沒有資料通過。
這就是為什麼任何生成的塊都沒有被接受,因為他不能廣播它們,迫使其他節點離開分支。這也是他無法產生的原因,因為他似乎沒有被聯絡起來。當我給他傳送v0.1.3時,一切都是肯定的,這次執行良好。為了表示我的感激,我給哈爾寄了一些比特幣,這樣他就可以玩了。在幾天的時間,我已經完全確定了第一個版本中的主要bug,我整個時間都在試圖找出方法來解決它,讓它工作。
哈爾想把他的一些比特幣寄給我,不幸的是(因為我的埠8333已經關閉),我無法從我所在的地方接收到任何的連線,這讓事情變得很困難。
(我想花點時間來解釋一下比特幣,這不是我選擇的埠,而是2222號埠。TCP埠的工作方式是IANA(因特網分配的數字許可權)是為特定用途分配埠號的實體。換句話說,埠8333就像是按慣例成為比特幣的非官方指定埠——它不是,也從來沒有在IANA註冊過。)
所以,我告訴他把它寄到我的地址,這意味著我下次上網時就會收到這筆錢。向一個地址傳送付款包括將其傳送到他們的公鑰的雜湊,以便下一次使用者連線時,他們會看到支付。這有一個缺點,即不傳送任何評論資訊,如果您想保持匿名,地址應該只使用一次。這是有用的,但是當接收者不在網上時,如果他們是,那只是輸入他們的IP地址,獲得一個新的公鑰併發送帶有註釋的交易。
那天晚上,在哈爾的計算機上的v0.1.3又一次崩潰了。似乎我已經決定不間斷地修正錯誤了。我給他傳送了除錯構建版本,我們都得出了一個結論,那就是磁碟滿是罪魁禍首。我一直不喜歡那些由大的依賴關係組成的專案,但是沒有迴避它,因為每個專案都是必不可少的。我向哈爾建議,如果他確實建立了依賴關係,讓我知道它是如何進行的。我很困惑,他是如何得到一個讀取的異常,而不是在他的磁碟被填滿時的一個寫異常。我認為這可能會破壞他的塊檔案,並建議如果問題再次發生,他會直接刪除它們。刪除塊檔案不會永久刪除它們,因為它會重新下載塊鏈。即使沒有備份整個目錄,包括資料庫子目錄,下載的最關鍵的檔案是錢包。這是儲存私鑰資訊的地方。
資料庫有一個不幸的例子,它將其檔案命名為“log”。對於那些熟悉資料庫的人來說,這意味著刪除和刪除所有的檔案。我試著把它們放在資料庫子目錄中,使它們脫離險境。後來,我想通過編寫程式碼來避免這種情況,因為每個錢包都在更換錢包。資料是安全的。
大多數人都不知道,但真正讓比特幣在頭幾天保持穩定的是哈爾,他唯一的一個節點接收到的連線,這是在第一天或兩天內保持網路執行的主要原因。如果不是因為哈爾,我不知道在最初的幾天裡我會做什麼。
直到今天,我仍然在思考哈爾是多麼的優秀,如果不是他,比特幣將不會像它那樣成功。當我沒有支援的時候,只有我的時候,哈爾是唯一一個相信我想要做的事情的人。如果任何一個人都應該獲得比特幣的功勞,以及它最初的成功,那就是他。2014年8月,哈爾不幸去世,他患上了一種令人衰弱的疾病——ALS。但在最後,哈爾繼續戰鬥,儘管有困難,他還是很高興。他意識到自己的死亡,並坦然接受了一切。
他那句著名的名言經常出現在他解釋他對密碼學的興趣的地方,強調了我們所共有的相似的信念。這就是我們團結起來的原因。
“這對我來說太明顯了。在這裡,我們面臨著隱私的喪失、計算機化的緩慢、龐大的資料庫、更集中的問題,而Chaum提供了一個完全不同的方向,一個將權力交到個人手中而不是政府和公司的方向。計算機可以作為一種工具來解放和保護人們,而不是去控制他們。”
哈爾很聰明,能夠猜到加密貨幣的未來會是什麼樣子,他猜對了,最終大多數人會意識到它是什麼——它不會長久地保持一個小眾市場。同樣的,10年前,我也得出了同樣的結論,我們也會以某種形式使用數字貨幣,就像許多人想象的那樣,它可以被使用。我沒有預料到的是,比特幣將會有多快,或者比特幣會成為刺激它的動力。
有了這個,這個神奇的故事就會出現在歷史的歷史中,進行總結。
(文章來源:《Duality: An excerpt》,由格鏈社群的周凌楓翻譯。)
發文時比特幣價格 ¥45091.13