日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 物聯(lián)網(wǎng) > 區(qū)塊鏈
[導讀] 2018年4月25日,我以匿名的方式私下披露了比特幣現(xiàn)金(BCH)的一個關(guān)鍵漏洞。比特幣現(xiàn)金是世界上最有價值的加密貨幣之一,與比特幣(BTC)不同。如果有黑客成功地利用這個安全漏洞,可能會造成極

2018年4月25日,我以匿名的方式私下披露了比特幣現(xiàn)金(BCH)的一個關(guān)鍵漏洞。比特幣現(xiàn)金是世界上最有價值的加密貨幣之一,與比特幣(BTC)不同。如果有黑客成功地利用這個安全漏洞,可能會造成極大的破壞,導致比特幣現(xiàn)金的交易不再可能安全進行下去,最終會完全破壞該貨幣本身的使用以及價值。事實情況是,這一漏洞在沒有發(fā)生事故的情況下得到了很好的修復,并于2018年5月7日向公眾披露了這起事件。

首先要對比特幣現(xiàn)金做一個簡單的說明。比特幣現(xiàn)金是一種不同于比特幣、而且與比特幣不兼容的加密貨幣。之所以這樣命名,是因為它源自比特幣。下文描述的已經(jīng)修復好的漏洞只對比特幣現(xiàn)金產(chǎn)生了影響;比特幣現(xiàn)金與比特幣唯一相關(guān)的就是它們的名字很相似。

至于我為什么要這么做?我的動機是什么?我在麻省理工學院媒體實驗室的數(shù)字貨幣項目工作,顧名思義,這是一個負責研究和開發(fā)加密貨幣的團隊。具體來說,我?guī)椭_發(fā)和維護比特幣核心錢包以及比特幣的主要軟件實現(xiàn)。由于承擔這項工作,我經(jīng)常在會議和研討會上被問到這樣一個問題:你認為未來比特幣面臨的最大挑戰(zhàn)是什么?而我的回答總是一樣的:比特幣未來一定要注意避免災難性的軟件漏洞。

通過研究這個有可能帶來災難性后果的漏洞,我確信軟件漏洞的威脅在加密貨幣世界中被嚴重低估了。我對這一事件提供了一個詳細的報告,這不是小題大做,而是希望以這個真實世界的例子讓人們了解到,要達到加密貨幣所需的復雜工程水平還有很多工作仍然要做,同時也給那些還沒有為這種情況做好充分準備的公司敲響了警鐘。

簡而言之,一部分交易簽名驗證代碼被重寫,但新代碼省略了對簽名類型中特定位(bit)的關(guān)鍵檢性查。我在本文中將這個位稱為SIGHASH_BUG。這種省略行為將使一個特制的交易把比特幣現(xiàn)金區(qū)塊鏈分叉成兩條不兼容的鏈。下一節(jié)我將描述這種分叉的重要性。有關(guān)漏洞和修復的詳細信息,請參閱公開的文本。

區(qū)塊鏈分叉漏洞有何特別之處?

大多數(shù)加密貨幣,包括比特幣和比特幣現(xiàn)金,通過向所有參與者分發(fā)所有交易的分類帳來運行。為了能夠進行消費,貨幣持有者必須首先創(chuàng)建一個交易,這個交易要遵守系統(tǒng)的所有規(guī)則。這些規(guī)則大多數(shù)都很明顯,很直接,例如“你的花費不能超出你所擁有的數(shù)量”,但其他規(guī)則則更加微妙,技術(shù)性更強,尤其是那些描述數(shù)字簽名應該如何格式化的規(guī)則。但是,如果加密貨幣是不允許使用的,那么誰來設置這些所謂的驗證規(guī)則呢?

每個人都參與設置驗證規(guī)則

系統(tǒng)的規(guī)則是由每個人來決定的,而執(zhí)行這些規(guī)則是軟件的工作。如果一個參與者試圖欺騙并創(chuàng)建一個交易,在這筆交易中,他花費的不是自己的貨幣,那么其他參與者的軟件會簡單地拒絕這筆交易。因此,為了確保交易被普遍接受,它必須遵守所有的規(guī)則,哪怕規(guī)則迂腐至極。

負責執(zhí)行驗證規(guī)則的軟件需要不斷地改進。為了提高性能、增加特性、提高安全性等,需要不斷進行更改。但是,從一個版本到另一個版本執(zhí)行規(guī)則的方式必須保持完全相同,這一點非常重要。

那么,如果新版本軟件中的一個意外編程漏洞導致交易被認為是有效的,而之前的所有版本都將其視為無效時,會發(fā)生什么情況呢?其結(jié)果就是“區(qū)塊鏈分裂”,這意味著只有升級了該軟件的參與者子集才會接受上述交易。由于交易和區(qū)塊是鏈接在一起的,因此這兩個子集在接下來的每筆交易上都不一致。如果沒有開發(fā)人員的快速行動,沒有讓所有參與者團結(jié)統(tǒng)一到一起,這兩個參與者陣營將永遠無法達成一致。到那時,這種貨幣實際上已經(jīng)分裂為兩種不兼容的貨幣,像以前那樣交易將不再可能。

在權(quán)衡諸如此類的漏洞的潛在影響時,時機起著至關(guān)重要的作用。如果區(qū)塊鏈被分割成兩塊,99%的參與者在一邊,而只有1%的參與者站在另一邊,那么顯然與多數(shù)人站在一起就是前進的道路。然而,如果大約有50%的人已經(jīng)升級到新版本,那么就沒有簡單的選擇了。

我在比特幣現(xiàn)金最受歡迎的一個軟件新版本中發(fā)現(xiàn)了這種分鏈漏洞,但這是在將近一半的網(wǎng)絡升級到它之后才發(fā)現(xiàn)的。

發(fā)現(xiàn)漏洞

由于比特幣現(xiàn)金是免費的開源軟件,它經(jīng)常被用作新興加密貨幣的起點。除了受益于多年的改進之外,共享代碼還意味著,其他不相關(guān)的加密貨幣可以從彼此的改進中獲益。比特幣現(xiàn)金的主要軟件被稱為比特幣ABC(Bitcoin ABC),是基于比特幣核心錢包的軟件之一。

由于大量的通用代碼,這些派生項目通常會有類似的漏洞,因此也會有類似的漏洞修復。但是,期望一種貨幣的開發(fā)人員積極主動地與其他貨幣的開發(fā)人員分享他們的改進是不現(xiàn)實的,因為單單要跟上一個項目就是足夠困難了。出于這個原因,我養(yǎng)成了一個習慣,每隔幾個月就會對這些項目進行一些修改,以查找可能與比特幣核心錢包相關(guān)的漏洞修復。

在今年早些時候查看比特幣ABC的變更日志時,我注意到交易驗證中一個關(guān)鍵部分已經(jīng)被重構(gòu)。這些變更立即吸引了我的注意力,因為這些變更似乎是沒有必要的。出于對這些變更的好奇,我看了一下公眾對這些變更的評論。除了“封裝”之外,沒有任何理由能解釋。這個變更只有兩個審核人,審核持續(xù)一周后代碼就被接受了。

大型重構(gòu)是非常常見的,通常是特定軟件開發(fā)中的良好實踐。但是,修改加密貨幣的驗證代碼是極具風險的,極有可能會在無意中引入了一個鏈分叉錯誤。

在看到評論很少而變更很大后,我認為一個漏洞很有可能已經(jīng)產(chǎn)生,所以我就去查看了一下。找到SIGHASH_BUG花了不到10分鐘。

匿名披露

我在上面提到我的披露是匿名的。我想解釋一下這個原因,因為匿名在這個過程中扮演了重要的角色。

在確認該漏洞可被人利用后,我開始通知比特幣ABC(比特幣現(xiàn)金協(xié)議的全節(jié)點實施)開發(fā)人員,但很快意識到我遇到了一個大問題。這是公開可用的開源軟件中的一個漏洞,可能已經(jīng)有人發(fā)現(xiàn)了這個漏洞。在完全部署修復程序之前,沒有什么可以阻止其他人發(fā)現(xiàn)并利用這個漏洞。

那么在最糟糕的情況下,會怎么樣呢?假設我以我的名義以非公開的形式披露了這個漏洞,而其他人也找到了這個漏洞并在第二天匿名利用了這個漏洞。因為我使用我的名字進行披露,所以會有足夠的證據(jù)證明我有攻擊比特幣現(xiàn)金網(wǎng)絡的知識和手段,而我無法證明我不是攻擊者。然而,如果漏洞被利用,可能會造成數(shù)十億美元的損失,代價遠比殺害這些人要高得多。所以匿名是非常重要的,我認為這對我的安全是必要的。

在試圖弄清楚是否可以完全匿名披露時,我開始懷疑它是否值得我花費這么多精力。畢竟,我沒有義務報告任何事情。但是,如果有人在比特幣核心錢包中發(fā)現(xiàn)了一個同樣嚴重的漏洞,我會很希望這個人以盡可能謹慎和安全的方式引起我們的注意。所以我決定這樣做:創(chuàng)建我想要閱讀的報告,按照我想要的標準來寫這個報告。

第一步很明顯,我需要追蹤比特幣ABC的責任信息披露政策。如今,處理此類問題的策略很常見,并且對于任何安全關(guān)鍵項目來說都是必備的。遺憾的是,我在比特幣ABC網(wǎng)站或代碼庫中找不到這樣的策略。在我提交一個漏洞到他們的GitHub問題跟蹤器時,我找到了最接近的一個策略。

然而這沒有幫助。然后,我開始試圖找到公開發(fā)布的比特幣ABC開發(fā)人員的加密密鑰。我向他們加密一條消息,確保沒有其他人可以查看它,這樣我就不用擔心如何傳遞消息了。我無法實際驗證密鑰持有者的身份,但這種方法仍然是相當安全的,而且比根本沒有加密要好得多。

但是,我又遇到了障礙。公共PGP密鑰服務器上沒有列出任何主要開發(fā)人員的密鑰,而這些密鑰通常都是在公共PGP密鑰服務器上找到的,而且它們的代碼存儲庫中也沒有。當時,我別無選擇,只能通過不同的在線渠道匿名請求密鑰,使用Tor盡可能掩蓋我的身份。

4月25日,我首先創(chuàng)建了一個一次性的Github賬戶,并在那里向一些比特幣ABC開發(fā)人員發(fā)送了請求。

值得慶幸的是,這個方法奏效了!大約5個小時后,我收到了一把密鑰,然后迅速用它對問題進行了加密的詳細披露。然而,當我第二天回來查看回復時,Github標記了我的一次性賬戶,大概是因為我使用了Tor。所以我無法在Github繼續(xù)進行進一步的接觸,我只得假設沒有人接收到了我的披露。

現(xiàn)在我有了加密密鑰,我決定嘗試最后一種方式:向比特幣ABC的漏洞追蹤器提交了一條加密消息,同樣是使用Tor和一個一次性賬戶。6個小時后,在沒有收到任何回復后,我在他們的追蹤器上做了最后一次請求。

4月27日,在等待了大約48個小時后,比特幣ABC發(fā)出了pull request,秘密解決了這個問題。顯然他們收到了我的信息。成功!

我的思考

我發(fā)現(xiàn)的比特幣現(xiàn)金漏洞已成功披露,且目前已經(jīng)得到修補,最終沒有對比特幣現(xiàn)金造成明顯影響。但是,如果整個加密貨幣生態(tài)系統(tǒng)沒有從對這種漏洞的分析中得到一些經(jīng)驗和教訓,那將是一種遺憾。作為加密貨幣開發(fā)者,有必要現(xiàn)在后退一步,重新評估我們可以使用的工具,以及我們實施的政策和程序。我們可能無法消除這些漏洞帶來的威脅,但我們可以從中學習并做好準備,以便將來處理它們。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉