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

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

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

首先要對(duì)比特幣現(xiàn)金做一個(gè)簡(jiǎn)單的說(shuō)明。比特幣現(xiàn)金是一種不同于比特幣、而且與比特幣不兼容的加密貨幣。之所以這樣命名,是因?yàn)樗醋员忍貛?。下文描述的已?jīng)修復(fù)好的漏洞只對(duì)比特幣現(xiàn)金產(chǎn)生了影響;比特幣現(xiàn)金與比特幣唯一相關(guān)的就是它們的名字很相似。

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

通過(guò)研究這個(gè)有可能帶來(lái)災(zāi)難性后果的漏洞,我確信軟件漏洞的威脅在加密貨幣世界中被嚴(yán)重低估了。我對(duì)這一事件提供了一個(gè)詳細(xì)的報(bào)告,這不是小題大做,而是希望以這個(gè)真實(shí)世界的例子讓人們了解到,要達(dá)到加密貨幣所需的復(fù)雜工程水平還有很多工作仍然要做,同時(shí)也給那些還沒(méi)有為這種情況做好充分準(zhǔn)備的公司敲響了警鐘。

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

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

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

每個(gè)人都參與設(shè)置驗(yàn)證規(guī)則

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

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

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

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

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

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

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

由于大量的通用代碼,這些派生項(xiàng)目通常會(huì)有類(lèi)似的漏洞,因此也會(huì)有類(lèi)似的漏洞修復(fù)。但是,期望一種貨幣的開(kāi)發(fā)人員積極主動(dòng)地與其他貨幣的開(kāi)發(fā)人員分享他們的改進(jìn)是不現(xiàn)實(shí)的,因?yàn)閱螁我弦粋€(gè)項(xiàng)目就是足夠困難了。出于這個(gè)原因,我養(yǎng)成了一個(gè)習(xí)慣,每隔幾個(gè)月就會(huì)對(duì)這些項(xiàng)目進(jìn)行一些修改,以查找可能與比特幣核心錢(qián)包相關(guān)的漏洞修復(fù)。

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

大型重構(gòu)是非常常見(jiàn)的,通常是特定軟件開(kāi)發(fā)中的良好實(shí)踐。但是,修改加密貨幣的驗(yàn)證代碼是極具風(fēng)險(xiǎn)的,極有可能會(huì)在無(wú)意中引入了一個(gè)鏈分叉錯(cuò)誤。

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

匿名披露

我在上面提到我的披露是匿名的。我想解釋一下這個(gè)原因,因?yàn)槟涿谶@個(gè)過(guò)程中扮演了重要的角色。

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

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

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

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

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

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

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

值得慶幸的是,這個(gè)方法奏效了!大約5個(gè)小時(shí)后,我收到了一把密鑰,然后迅速用它對(duì)問(wèn)題進(jìn)行了加密的詳細(xì)披露。然而,當(dāng)我第二天回來(lái)查看回復(fù)時(shí),Github標(biāo)記了我的一次性賬戶(hù),大概是因?yàn)槲沂褂昧薚or。所以我無(wú)法在Github繼續(xù)進(jìn)行進(jìn)一步的接觸,我只得假設(shè)沒(méi)有人接收到了我的披露。

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

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

我的思考

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

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

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

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

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

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

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

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

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

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

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

關(guān)鍵字: 電動(dòng)汽車(chē) 新能源 驅(qū)動(dòng)電源

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

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

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

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

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

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

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

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

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

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