買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > Filecoin > Info

COIN:誰在控制Bitcoin Core?_K Bitcoin Cash

Author:

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

比特幣核心的歷史

比特幣核心是比特幣協議開發的焦點,而非命令與控制點。倘若因為什么原因,這個焦點停止存在了,就會有一個新的焦點冒出來。比特幣核心依賴的基礎——技術交流平臺,是因為便利而存在的,不是因為定義/項目的完整性而存在的。現實中,比特幣的開發焦點已經更換了平臺,甚至更換了名稱!2009年初,比特幣項目的源代碼只是一個rar壓縮包,存在SourceForge服務器上。早期的開發者會用電郵跟中本聰交換代碼補丁。2009年10月30日,Sirius在SourceForge網站上創建了一個subversion代碼倉庫。2011年,比特幣項目從SourceForge遷移到GitHub。2014年,比特幣項目更名“BitcoinCore”。不相信任何人

GitHub的組織層面上,確實有不多幾個“維護人員”的賬戶,能夠將代碼合并到“主分支”;然而這種地位不是權力的象征,只是類似“看守”的身份。試想,若是不論張三李四都能把代碼合并到主分支,很快就會變成“廚子多了做壞了湯”的結果。比特幣核心遵守“最小特權原則”,也就是任何人只要濫用權力,就會被輕易推翻。

從對抗角度來看,GitHub是不能被信任的。GitHub任何員工都可以運用管理特權,將代碼注入代碼倉庫,無需經過維護人員的同意。但是,GitHub的攻擊者卻幾乎不可能損害比特幣核心維護人員的PGP密鑰BitcoinCore并沒有將代碼的完整性建立在GitHub賬戶上,他們有一個連續的集成系統,執行那些受信任的PGP密鑰的校驗;這些密鑰必須簽署每一份“合并提交”。這些密鑰的確跟身份已知的某些人相關,但依然不能擔保情況永遠會這樣而不變——某個密鑰可能會受到損害,我們也不會知道密鑰受到損害,除非原始的密鑰主人通知了其他的維護人員。如此一來,“提交密鑰”也就不提供完美的安全保護,只是讓攻擊者插入“任意代碼”的難度提高了。通向王國的密鑰

我寫這篇文章的時候,受信任的PGP指紋如下:71A3B16735405025D447E8F274810B012346C9A6133EAC179436F14A5CF1B794860FEB804E66932032EE5C4C3FA15CCADB46ABE529D4BCB6416F53ECB8B3F1C0E58C15DB6A81D30C3648A882F4316B9BCA03882CB1FC067B5D3ACFE4D300116E1C875A3D這些指紋注冊到:WladimirJ.vanderLaan<laanwj@protonmail.com>PieterWuille<pieter.wuille@gmail.com>JonasSchnelli<dev@jonasschnelli.ch>MarcoFalke<marco.falke@tum.de>SamuelDobson<dobsonsa68@gmail.com>這是否意味著我們就相信這五個人呢?不太對。密鑰不是身份的證明;這些密鑰有可能落到別人手中。我要是運行了verify-commits的python腳本,我有什么保證呢?python3contrib/verify-commits/verify-commits.py使用來自bitcoin/contrib/verify-commits的verify-commits數據所有Tree-SHA512s都匹配到309bf16257b2395ce502017be627186b749ee749有一條從“HEAD”到82bcf405f6db1d55b684a1f63a4aabad376cdad7的有效路徑,其中所有提交都已簽名!verify-commits腳本是一種完整性校驗,隨便什么開發者都能將其在自家機器上運行。執行的時候,腳本會校驗每一份合并提交的PGP簽名。從2015年12月第一次提交82bcf405開始,到我寫這篇文章為止,共有3,400多份合并提交。如果腳本成功完成,它告訴我們自那時以來已經更改的每一行代碼都已通過比特幣核心開發過程并由具有維護者密鑰的人“簽字”。當然,這還不足以百分百確認不會有人插入惡意代碼;但這一措施確實能減少大規模攻擊的可能性。那么,維護人員又是什么人?他們怎么獲得這個身份?我們稍后會深入研究。 多層安全系統

美SEC要求法院駁回Coinbase請愿書,并要求提供針對加密行業的額外監管指導:金色財經報道,美國證券交易委員會 (SEC) 向上訴法院表示,加密貨幣交易所 Coinbase 周一晚間未能證明監管機構需要為數字資產行業創建新的監管框架。聯邦監管機構要求法院駁回 Coinbase 的請愿書,并要求提供針對加密行業的額外監管指導。SEC在表示,美國證券交易委員會尚未就該請愿書做出任何決定,并繼續考慮該文件。

Coinbase 于 2022 年 7 月向美國證券交易委員會提交了最初的請愿書,要求監管機構提供有關數字資產的指導。上個月,加密貨幣交易平臺向美國第三巡回上訴法院提交了強制執行令請愿書,要求其在不斷升級的法律糾紛中迫使監管機構對請愿書作出回應,Coinbase 在同一周提交了對美國證券交易委員會威爾斯通知的回應。[2023/5/16 15:05:50]

比特幣核心代碼的完整性不能僅僅依賴于少數加密密鑰,這就是為什么存在大量其他檢查的原因。這里有許多安全層來提供深度防御:Pull請求安全1、不論什么人都有權提議改動節點,以改進軟件。其方法是開啟一個針對bitcoin/bitcoin上主分支的“拉取請求”。2、開發者們會評估各個拉取請求,確保這些請求不是有害的。不論是誰,都有權評估各個拉取請求,并提供反饋。只要是為了比特幣核心作出貢獻,就沒有“看門人”或者“入學考試”篩選合格的貢獻者。如果某個拉取請求發展到這樣一種地步,并沒有合理的反對意見反對它合并到主分支,那就會有一個維護人員執行合并。3、Core維護者會設定預push鉤,以確保不會有人把未經簽字確認的“提交”“推入”代碼倉庫。4、各項“合并提交”,會通過OpenTimestamps協議,安全地打上時間戳。打戳行為是可選的,不是必要的。5、“Travis持續集成系統”將定期運行這個腳本,以檢查gittree的完整性,而且驗證所有主分支上的“提交”都已經由某一個受信任的PGP密鑰簽了名。6、不論是誰,只要想運行,就可以運行這個腳本,以驗證從2015年12月開始的一切“合并提交”上的PGP簽名。我在寫這篇文章的時候,就運行了這個腳本,在我的筆電上25分鐘就運行完了。發布安全1、“Gitian確定性構建系統”是一種編譯解決方案。這系統由多個開發者獨立運行,目標是創建相同的二進制文件。假設某人成功創建了一個不符合其他開發者的構建系統,就表示引入了“非確定性”,于是“最終發行”就不會發生。如果存在非確定性,開發者就會追蹤哪里出了問題,修復問題,再構建另外一種發行候選版本。一旦“確定性構建”成功,開發者就會對生成的二進制文件進行簽名,確保這些二進制文件和工具鏈都沒有受到損害,而且使用了相同的源。這個辦法避免了讓構建和分配流程變成一種“單點故障”。任何具有技術的人都可以運行自己的構建系統。操作說明在這里:https://github.com/bitcoin-core/docs/blob/master/gitian-building.md2、一旦Gitian構建成功完成并由構建者簽名,就會有一個BitcoinCore的維護者,用每個構建的SHA256哈希值,給一條信息進行PGP簽名。如果你決定運行預先構建的二進制文件,就可以先下載,然后驗證它的哈希值;然后使用哈希值驗證簽名版本消息的真實性。這里是操作說明:https://bitcoincore.org/en/download/3、以上這些全都是開源的,可審計的;任何人只要有技術,有意愿,都可以執行。4、最后,即使在進行了以上一切的質量與完整性檢查之后,提交到BitcoinCore并最后成功發布的代碼依然不會被任何中心化的組織部署到節點網絡上。相反,每個節點操作員必須有意識地決定更新他們運行的代碼。BitcoinCore故意沒有設置自動更新功能,讓用戶可自行決定需要運行什么版本的代碼,否則這個系統就可能被操縱。盡管比特幣核心有了一切技術上的安全手段,然而這些手段沒有一種是完美的,也全都有理論上被損害的可能性。比特幣核心代碼完整性的最后一道防線,與任何其他開源項目的最后一道防線是一樣的——時刻保持警惕!關注比特幣核心代碼的眼睛越多,惡意代碼或者有缺陷代碼,就越難以進入發布階段。代碼覆蓋率

Aragon協會已取消ANT代幣持有人的投票權計劃:5月10日消息,DAO解決方案提供商Aragon的瑞士實體Aragon協會取消了ANT代幣持有人的投票權計劃,并表示取消計劃是為了確保其財務和使命的安全,以應對包括Arca在內的投資者發起的51%攻擊,Aragon協會將Aragon DAO重新用作新贈款計劃的一部分,以履行其受托責任。[2023/5/10 14:53:34]

BitcoinCore有很多測試代碼,其中包括一個完整性測試組件,可以用來測試所有PR;還有一種擴展測試套件,可以每晚在主分支上運行。你可以自行檢查各種測試的代碼覆蓋率,方法是:克隆一個比特幣核心GitHub代碼倉庫;安裝所需的從源代碼構建的依賴項;運行這些命令;在./total_coverage/index.html查看報告。除此以外,你還可以查看比特幣軟件維護者MarcoFalke主持的的覆蓋率報告,地址是https://drahtbot.github.io/reports/coverage/bitcoin/bitcoin/master/total.coverage/index.html

代碼覆蓋率水平越高,意味著代碼按照預期執行功能的確定性也越高。若想在關鍵的軟件上達成共識,測試就是一件大事。對于某些特別復雜的改動,開發者有時候要進行痛苦的“變異測試”,也就是故意破壞密碼,看看各個測試有沒有按照預期而失敗。比特幣開發者GregMaxwell比特幣核心0.15發布的時候,專門討論過這種變異測試:“測試是軟件的測試,但怎么對測試進行測試?就是用軟件。為了對測試進行測試,必須破壞軟件。”自由市場競爭

比特幣期貨平臺BitMEX寫過一篇名為《與比特幣核心競爭》的文章,論述各種“比特幣部署”的生態系統,這篇文章非常棒。當前,比特幣的“兼容部署”有十幾種,甚至還有更多的“競爭網絡”部署。這就是“開源”的自由:只要哪個人對比特幣核心項目的做法有所不滿,就可以建立自己的項目。他們可以從零開始,也可以選擇去分叉Core軟件。在我寫作本文時,96%的比特幣節點是運行BitcoinCore軟件的。為什么會是這樣?倘若某人切換到另一種軟件部署只需要極小的努力,那么比特幣核心為什么又會在節點網絡中處于類似壟斷的狀態?畢竟,很多其他部署,所提供的RPCAPI,都與比特幣核心兼容,或者起碼也跟比特幣核心高度相似。

dYdX創始人:dYdX Chain所有DAO資金將完全由Token持有者控制:4月3日消息,dYdX 創始人在社交媒體發文表示,dYdX Chain 所有 DAO 資金將完全由 Token 持有者控制、抗審查、無多簽管理權限、所有驗證者將完全從 Token 質押者中選出。[2023/4/3 13:42:36]

我相信,這是因為BitcoinCore成為了開發的焦點。Core擁有數量級更多的開發人才和開發時間的支持,這意味著BitcoinCore項目的代碼往往是性能最高、最安全和最穩健的。在有限的資金下,節點運營商只想運行最好的軟件,不想運行質量第二的軟件。此外,考慮到BitcoinCore是一種共識軟件,比特幣協議不具有并且也不能具有正式的規范,所以使用焦點實現會更為安全。因為假設你運行的是其他版本的軟件,對于網絡的大多數節點而言,你的節點可能就是一個bug。從這個意義上來講,開發焦點的代碼就成了現實中最接近規范的東西了。誰是比特幣核心開發者?

那些不熟悉比特幣核心開發過程的人,可能會從外部觀察這個項目,認為“Core”是一個大一統的實體。大錯特錯!核心貢獻者之間常有分歧,而且就算那些最多產的貢獻者,也寫了很多代碼,從沒有合并入核心項目。你看看“貢獻者”的指導方針,就可能會注意到,這方針的原則寬松得很,最多也只能說成一種“大略的共識”。維護人員會考慮,某個補丁是否符合項目的一般原則,是否符合“納入”的最低標準。維護人員會判斷各位貢獻者的一般共識。維護人員都是誰呢?他們是一些特殊的貢獻者。他們已經通過較長時間的高質量的貢獻,在項目內部構建了足夠的社會資本。現有的維護人員團體,只要認為某個貢獻者已經在某特定領域展示了能力、可靠性、動機,有資格當上維護人員,就會把“提交的訪問權”授予這位貢獻者的GitHub賬戶。“維護人員領導”的作用,是監管項目的一切方面,并負責協調各次代碼發布。這幾年來,“維護人員領導”的頭銜自愿更替了幾次:中本聰:2009/1/3-2011/2/23GavinAndresen:2011/2/23-2014/4/7WladimirvanderLaan:2014/4/7-現在比特幣核心維護人員的職責,經常被人比作“看門人”,因為維護人員實際上并沒有權力作出決定,反對貢獻者或者用戶的集體共識。不過,這一職責的任務卻可能相當繁重,因為大生態系統會特別注意這一職責。比如,2017年,GregoryMaxwell就因為個人原因而辭去了維護人員的職務,很可能是因為公開辯論升級,面臨的輿論壓力太大了。Wladimir寫了一篇有深意的帖子,說的就是擔任維護人員壓力多么大,還說了為什么應該取消Gavin的提交權限,這帖子讓很多人很不高興。還有一個類似的情況:GitHub組織曾經開除了JeffGarzik,Jeff和其他人都非常惱火。但是,Jeff的錯誤在于,他整整兩年沒有為核心作出貢獻了。組織再繼續讓Jeff的GitHub賬戶擁有代碼倉庫的寫入權限,對項目也沒有好處了,反而憑空增加了安全風險,也違反了“最小特權原則”。這原則,Wladimir在帖子里專門提到了。還有其他人可能會觀察Core,認為Core是一個技術官僚群體,或是象牙塔,很難讓新的參與者加入進來。然而,只要你跟那些貢獻者真正交流過,就會發現不是這樣。這幾年確實只有少數幾個人擁有提交權限,但卻有數百名開發者已經作出了貢獻。我自己也作了幾個小貢獻,雖然我不自認為是“核心開發者”,從技術上卻算是一名核心開發者。誰也不能不讓你作出貢獻!

AxieInfinity的Homeland Season 1將于2月22日開啟:金色財經報道,鏈游AxieInfinity的Homeland Season 1將于2月22日開啟,計劃更新Homeland的玩法和獎勵,包括引入新的AXS獎勵、升級被動冒險、土地專用化妝品,此外排行榜和劇情進度將在Alpha Season 1開始和結束時重置。[2023/2/19 12:15:58]

最難以讓人們理解的,似乎是這樣一個問題:比特幣開發的關注點,并不僅僅是由比特幣核心GitHub賬戶定義的那個結構。確實,比特幣核心是有一種結構的,但項目本身卻不受任何參與者控制,甚至不受那些對GitHub代碼倉庫有高級特權的人控制。從技術上說,確實有可能讓一群維護人員發動“政變”,黑進GitHub代碼倉庫,審查那些異議開發者,甚至還能保持“比特幣核心”這個品牌名稱;但結果就會是,比特幣核心不再成為開發關注點了。這種政變萬一真的出現了,那些不同意維護人員的開發者,就會直接讓代碼分叉,把自己的工作換到另一個代碼倉庫,換到比特幣核心維護人員沒有管理權限的地方。就算不是真正的“政變”,如果核心真的發生了有爭議的變化,還是會有一些開發者將軟件分叉,除掉那個有爭議的變化,然后對用戶發布。歷史上,AmaurySechet曾經讓比特幣核心分叉,在功能上除掉了“隔離見證”,創造了BitcoinABC。你可以認為,當時發生的就是這種情況。另外,如果某些人提議作出某些變化,而核心否決了這些提議的變化,開發者也可以將核心分叉,加上這些變化。歷史上這種事情發生了很多次,例如:MikeHearn將核心分叉,創造了BitcoinXTAndrewStone將核心分叉,創造了BitcoinUnlimitedJeffGarzik將核心分叉,創造了BTC1將代碼分叉容易,可是改變比特幣開發的焦點就難了。你必須說服貢獻者:“你們的時間最好能花在我這個不一樣的項目上!”

你也很難說服許多人,讓他們相信,用戶們并不盲目跟從BitcoinCoire作出的各種變化。這可能是一個自我強化的信念,因為如果用戶不通過保持對選項的了解來參與共識的過程,他們就會把部分權力讓給開發人員。不過,2017年,用戶的權力已經通過“用戶激活軟分叉”運動得到了行使。當時,有個比特幣的匿名開發者,用假名“shaolinfry”提出BIP148,強迫礦工在8月1日前后要出現“區塊高度”時激活“隔離見證”功能。但是,BIP148的爭議實在太大,比特幣核心無法采用。于是,shaolinfry將核心分叉,發行了軟件BitcoinUASF。這一軟件部署獲得了非凡的“牽引力”,而且似乎創造了足夠的壓力,能讓礦工采用BIP91,從而在BIP148截止日期之前激活分叉。我個人認為,最好的BitcoinCore貢獻者,是那些踐行了極端所有權的人。舉個典型例子:下圖中這個特定的共識bug所在的代碼,雖然并不是貢獻者JohnNewbery自己寫出來的,但他認為自己沒有認真檢查,而讓這bug代碼合并了;事后在寫測試案例的時候,也沒有查出來,所以自己要承擔責任。

美國國防科技公司正在建立自己的元宇宙:金色財經報道,美國國防科技公司已經開始了元宇宙的探索,將元宇宙應用在軍事模擬演習上。據悉,與元宇宙相關的想法已經成為一些最新軍事系統的一部分。例如,新型 F-35 戰斗機的高科技頭盔包括一個增強現實顯示器,可在飛機周圍的視頻片段上顯示遙測數據和目標信息。2018 年,美國陸軍宣布將向微軟支付高達 220 億美元的費用,用于開發用于作戰人員的HoloLens增強現實系統版本,即集成視覺增強系統 (IVAS)。(新浪財經)[2022/5/18 3:24:01]

我們都是中本聰。為BitcoinCore做出貢獻

雖然有足夠的資源可以幫助那些有抱負的開發者,但是邁出第一步為Core做貢獻,依然可能讓人望而生畏。此處可以找到貢獻的指導方針:https://bitcoincore.org/en/faq/contributing-code/但我更推薦從JimmySong寫的簡易入門開始:https://medium.com/m/global-identity?redirectUrl=https%3A%2F%2Fbitcointechtalk.com%2Fa-gentle-introduction-to-bitcoin-core-development-fdc95eaee6b8此外,核心開發者EricLombrozo也寫了一篇文章,方便人們理解核心代碼倉庫里的種種變化:https://medium.com/@elombrozo/the-bitcoin-core-merge-process-74687a09d81d還有一個特殊案例可能對你有用:在撰寫本文時,為了審計GitHub提交歷史的完整性,我在我的機器上運行verify-commit.py腳本;這個運行過程,正好遇到了一些困難。為了不讓以后的開發者遇到同樣難題,我開啟了一個“pull請求”用來改進存檔過程。為了防止未來的開發人員不得不處理這些問題,我打開了一個pull請求來改進文檔。從PR歷史中可以看出,4個不同的開發人員就如何改進我的pull請求提出了建議。這包括使用不同的wiki標記,簡化的bash命令,以及可以在verify-commit.py腳本中使用的新參數。我同意所有的建議都是有道理的,所以我把它們合并到我的代碼中,并推送了一個更新版的pull請求。此時,參與審查的開發人員承認,他們發現PR是可以接受的,維護人員MarcoFalke將其標記為包含在0.18版本中。幾天過去了,開發人員沒有異議,代碼被維護人員SamuelDobson合并到了Core軟件當中。誰在控制比特幣?

多年來我反復說過,想要完全理解作為“體系”的比特幣,幾乎是不可能的。比特幣協議的定義,就好比語言的定義一樣。語言是人類自發產生的,對于詞義的共識,是有機的、生活中的共識,而不是讓詞典決定意義。詞典的作用是描述一種語言的客觀現象,而不是給語言下定義;同樣,比特幣的部署,也是用代碼描述比特幣的語言。不可能強迫任何人同意某詞典對某詞的定義,也不可能強迫任何人同意某特定比特幣部署里的代碼。言語不受民主體制的管轄,比特幣也不受民主體制的管轄。你可能會聽說人們提到一些概念,如礦工、節點、開發者、用戶投票等等;卻沒有這樣的機制,可以促成任何種類的“多數人投票”,強迫少數異議人士接受那些自己反對的變化。比特幣是一種無政府主義,沒有統治者,但依然有著規矩。規矩由網絡中每一個參與者定義,由每一個參與者強制執行。比特幣協議本身的各種變化,一般通過“比特幣改進提議”的流程實現。不過,哪怕這個提議,也只是一種推薦的操作方式,并不能強迫任何人遵守。只是一種相對規范的途徑,想要通過同行評審,構建共識的辦法來引導實現一種變化。我知道,要解釋這一切很困難,要明白也很困難。但是,這就是比特幣“抗脆弱性”的關鍵方面。如果有了“單點控制”,也就成了“單點故障”。如果那些有權有勢的機構受到比特幣帶來的威脅,他們就會充分利用這一點對比特幣進行攻擊。最終,每一個節點運營商都會自我治理,方法就是確保網絡中其他所有人都不會破壞自己認可的規矩。這種安全模型,就是比特幣自下而上治理的基礎。沒有人控制比特幣。也沒有人控制比特幣開發的焦點。

Tags:比特幣COIOINCOIN一個比特幣要挖多久2021coinex交易所appCoinMeetK Bitcoin Cash

Filecoin
GRI:小白也能看懂的Grin挖礦教程_UNT

編者按:本文來自GrinUp,星球日報經授權發布。關于Grin區塊鏈和Grin算法的相關內容,GrinUp已經在之前的文章中提到了,歡迎大家關注公眾號回復和來獲取相關文章,本文將直接進入利用顯卡.

1900/1/1 0:00:00
CHAR:獨家專訪Paxos CEO:紐約監管局為什么會批準穩定幣?_CHA

“我很驚喜,當我們跟紐約監管局提到穩定幣時,他們認為這是個好主意。”PaxosCEOCharlesCascarilla告訴Odaily星球日報.

1900/1/1 0:00:00
LOC:區塊鏈2018年度總結:從盛世狂歡到砥礪前行_區塊鏈

編者按:本文來自區塊律動BlockBeats,作者:區塊律動BlockBeats0x28,星球日報經授權發布.

1900/1/1 0:00:00
STA:全新BTC數據周報(2018年第8期)_VESTA價格

鏈上多組數據印證市場正在走出恐慌的陰霾,市場重拾信心需時間,仍要謹慎操作報告要點從市場交易數據來看,上周BTC平均價格在低位震蕩,但成交量節節敗退。交易所間的價格變異系數趨勢性迅速回歸.

1900/1/1 0:00:00
BLOC:開暖氣就送比特幣?網紅“挖礦電暖氣”實機評測!_BLO

編者按:本文來自區塊律動BlockBeats,作者:區塊律動BlockBeats0x7,星球日報經授權發布.

1900/1/1 0:00:00
FAT:加密貨幣與博弈論_HOGE

編者按:本來來自藍狐筆記,作者Karnjanaprakorn,星球日報經授權轉載。前言:加密貨幣的構建體系中隱含了博弈論的機制,比如比特幣的設計背后有自我強化的納什均衡機制,以此激勵參與者為網絡.

1900/1/1 0:00:00
ads