開發者會議紀錄 DevMeeting 20180506

  • MRL小組
    • 正在研究退款交易攻擊的迴避方式。
    • Kudelski跟QuarksLabs已開始進行防彈協定的審查工作。Kudelski預計七月中會完成。
    • Benedikt的防彈協定審查預計將於5/21開始並於6/4結束。
  • GUI
    • 已解決Linux使用者會遇到”bad_cast”問題
    • Stoffu改善了一些使用者遇到的頓挫問題
    • Stoffu也提升了一些節點的連線能力與穩定性
    • Windows GUI沒有適當備援圖形庫的問題已解決了
    • dsc正在改善狀態指令與接收款項的頁面
    • 預期v0.12.1版會有妥善的Windows安裝程式
      • 程式安裝位置還在討論中
      • 會加入小圖示來讓使用者較容易找到程式日誌與節點目錄的確切位置
  • Monero硬體/官方硬體錢包
    • 開發者電路板的取貨稍微有些延遲
    • 正式外殼設計的募資上線了
    • 預計可以在DefCon上看到具有NFC功能的測試版本
    • Pursim已找上Monero團隊並開始了進一步的合作-尤其是硬體錢包的團隊
  • v0.12.1版預期會在5/9完成, “可能“會是測試版
    • 會提供更容易使用Ledger 硬體錢包的方式
    • 只要是用CLI產生的錢包,都可以透過GUI在Ledger硬體錢包上存取
  • 付款ID的汰除工作持續進行中。先暫時轉用整合型地址,長遠的目標是以子地址功能取代。

繼續閱讀...

開發者會議紀錄 DevMeeting 20180422

  • v0.12.1 的一些更新項目
    • GUI開發者們正在處理 v0.12.1的(std::bad_cast)的bug
    • GUI錢包重新支援 OpenAlias
    • 將有Linux Wayland 桌面系統的暫時解決方案(強制使用XCB)
    • Windows的GUI將會使用ANGLE與MESA的圖形庫做備援
  • 新的Monero Ecosystem/專案: https://github.com/monero-ecosystem/meta
  • iOS的MyMonero 已經在TestFlight上測試
    • 若你有興趣參與在TestFlight的測試,請聯絡endogenic以加入測試人員排隊名單
  • hyc 正在測試全新Proof of Work演算法的Proof of Concept
  • MoneroMooo在努力提升錢包刷新的效能表現
  • 開發團隊正在想辦法調整錢包來讓使用者更容易就能夠注意到是否在官方的主鏈上
  • Monero官方硬體錢包(開發者版本, “Breakneck”)已經開始測試了
  • 下次開會日期為5月6日

繼續閱讀...

開發者會議紀錄 DevMeeting 20180318

  • 為了讓測試所有新功能的時間更充裕,Monero的發布時間推遲到4月6日附近: https://github.com/monero-project/monero/pull/3424
    • 0.12版版名為”Lithium Luna”
    • 預計會在本周被tag上正式版本號並準備好提供測試
  • 0.12版的重要功能
    • 多重簽名(Multisig)
    • 子地址(SubAddresses)
    • 將預設環簽(Ring)數量從五提升到七
    • 為了對抗ASIC而微調了Proof of Work演算法
    • Ledger硬體錢包的初步功能支援
    • 金鑰映像攻擊緩解措施
  • 官方GUI錢包的暗色系佈景主題應當在本周會完成

繼續閱讀...

開發者會議紀錄 DevMeeting 20180311

  • 防彈協定委外審核的募資完成了,將有三方的審核開始分頭進行。
  • Moneromooo 在GUI上作出了一些當金鑰映像被重複使用下造成之風險的緩解措施
  • Ledger的程式碼已經合併入Monero codebase了,但這不代表Monero已經可以在Ledger上使用了,Ledger 團隊還正在將功能植入他們的軟體中。
  • Stagenet 已經被建立起來了。
  • surae將在近日公布一個”神奇的”事情。針對讓學生學習加密貨幣與興建學校所創立的一個非營利教育組織。
  • Moneromooo的波羅米安簽名加速(Borromean Signature Speedup)(約可加快10%的簽名驗證時間)若趕不及在三月底一起發布,就會在之後使用小數版號更新的方式發布。
  • 某些鼓勵不要使用Payment ID的措施已經在做了。但這”至少”在九月以前不會啟用-且基於兼容的問題,其相關功能(在可預見未來內)並不會被完全移除。
  • Endogenic 與vtnerd 正埋首於”門羅幣共識函式庫”(libMoneroConsensus)
    • 是個可以輕易存取Monero的核心服務來發送交易的程式/工具函式庫
    • 將會減少開發一個新的軟體時把 Monero”import”所需要的工作
    • 他們需要各方的協助。_有興趣的開發者們請注意_,快去看看有什麼能幫忙的。
  • 驚爆!發布版本名稱還沒有被訂出來!
    • 可能會是Lithium Luna

繼續閱讀...

開發者會議紀錄 DevMeeting 20180304

  • Ledger(Blue/Nano S)上的程式碼已經成功的合併了
  • 本周應該還有最後一次的PoW更新會上傳至Github
  • 未來幾天將會公布確切的硬分叉區塊高度
  • 已有共識決議將環狀簽名大小預設值調整為7
  • 審查防彈協定的募資活動(於論壇資助系統上)將訂於三月五日(周一)開始。Sarang將會公布更多資訊。
  • 若你對如何減輕因重複使用金鑰而造成的隱私疑慮的”技術性”討論有興趣,請點這裡

繼續閱讀...

核心開發團隊公告

在Monero上的2018年,許多令人興奮的新技術正順利地進行著,然而為了保持Monero可以走在隱私保護與區塊鏈技術的尖端,技術並不是全部。考慮到這點,核心開發團隊(Core Team )想要在以下的文章提醒整個社群關於核心開發者在這專案中所扮演的角色和地位。

核心開發者在Monero中的角色常常是個讓人難以理解的事情,尤其是與其他的加密貨幣專案領導結構相比之下顯得不同。有鑑於不需信任(trustless)的社群經營尚無法實現,在某些情況下還是要有人負責需要信任的那些工作。簡單的例子就像是域名的管理(如getmonero.org)或是伺服器的管理(getmonero.org網站所在的伺服器),目前是沒有辦法讓一個去中心化的社群一起來擁有一個域名,所以有人就必須負責擁有這個域名。這種概念就像是核心開發團隊負責作為一個去中心化社群與中心化現實世界的橋樑。 核心開發團隊的責任如下(無特定順序):

  • 作為主要可信任的社群資助系統(Forum Funding System, FFS)的仲裁人,確保眾籌成功的專案有被依規格完成。
  • 管理Monero專案的程式碼,包括在GitHub上合併提交的修改、保存備份、以及確保任何人都可以安全且自由的取得程式碼。
  • 管理Monero專案的捐款,並把Monero花在被認為適合的專案上。
  • 簽署與分發可信任的官方版本Monero客戶端軟體。
  • 為Monero專案設定方向與遠景。

那些認為核心開發團隊怠惰於責任的人們都可以自由取用(fork)一份專案程式碼出去,開創一個新的專案,就如同Monero當初誕生時thankful_for_today所做的事情。 下列則是核心開發團隊”不”負責的部分,舉一些常常被社群誤會怪罪的事項:

  • 核心開發者的成員並不是任何人的上司,做任何事情都不需要經過他們的允許。
  • 核心開發者並”不”成為中心化的單點失效(point of failure),而是做為鼓勵組織性的、自發性的Monero專案生態建立起始點。
  • 核心開發者並”不”等於Monero專案,如果哪天核心開發者全部變成詐騙集團的時候,我們必須要記得Monero是一個專案行動,一個增進隱私並提供真正且滿足替代性的電子錢幣的全球性專案。這個目標是可以不需要核心開發團隊的存在也能做到的。

另一個核心開發者的需求則是需要足夠的活耀度,當某位開發者不能繼續在Monero專案中活耀的時候,那就應該要空出其位置並讓給其他人來替補,依上述的理由,tacotime已正式退出核心開發團隊,若不是在Monero創立初期的幾個月內的夥伴們應該不多都不知道tacotime與其對現今Monero發展所作出的貢獻。簡單的說,他與smooth在bitmonero的發展早期時奮鬥著凝聚社群與在thankfulfortoday之後的時期領導專案的方向。他作為程式碼的主要維護者,而這工作後來由fluffypony取而代之,我們很可以大膽的說如果沒有tacotime早期的努力,就沒有今天的Monero。核心開發團隊感謝他過去的貢獻,也希望他未來一切順利。

但是每次的改變其實也帶來了新的機會,核心開發團隊很高興地要歡迎我們的新成員Jeremie “binaryFate” Dubois-Lacoste加入核心團隊。binaryFate擁有電腦科學博士學位,在組合數學系統與演算法最佳化上具有學術專長。經過數年在學術研究單位的工作後,他決定要成為全職的加密貨幣創業人。他從2012年開始,已經在加密貨幣的投資、交易、和創業中活耀了一段時間。他在2014年時開始參與Monero專案,接著就成為隱私與貨幣替代性的技術積極擁護者,不論是在線上或真實世界中都是如此。

不論是過去或是現任的全體核心開發團隊都要向所有持續不懈工作付出的志願開發者和貢獻者表達感謝。我們滿心期待2018能夠帶給專案和社群的成果。

頁首圖來源: helloluis
官方原文: https://getmonero.org/2018/03/01/core-team-announcement.html

開發者會議紀錄 DevMeeting 20180225

  • 支援ledger硬體錢包的程式碼距離可以被合併的進度又大幅的縮短了
    • 需要與ledger硬體錢包的團隊更進一步的討論才能收尾
  • 三月的硬分叉(協定的升級)
    • 正在等待vtnerd的PoW調整。CUDA跟CPU的部分已經上傳到Github了,而OpenCL還在測試中。
    • 在硬分叉前後一周的禮拜天都將舉行開發者會議,時間在17:00 UTC
  • 有關預設環狀簽數量的討論

繼續閱讀...

關於PoW共識機制更動與重複使用金鑰

PoW共識機制的更動

最近常常可以看到關於抵抗ASIC礦機和如何面對潛在的ASIC礦機威脅等話題,這篇文將會(稍微)認真地指出: 我們對於如何藉由在硬分叉時調整PoW共識機制以維持抗ASIC礦機特性的立場。

特殊應用積體電路(Application Specific Integrated Circuit)簡稱ASIC在這邊指得是被特殊設計出來的挖礦硬體,舉例來說,BTC的ASIC礦機被設計用來挖SHA256演算法的加密貨幣。由於這種硬體是被特別設計用來挖礦的,也因此會比CPU、GPU、甚至是FPGA等日常使用的硬體來得有大量的效能優勢。因此,任何被設計出來的ASIC將會顯著地主宰全網算力並導致中心化的問題。

Monero的程式碼是從CryptoNote參考實作分出(fork),在CryptoNote的白皮書(https://cryptonote.org/whitepaper.pdf)中提到,比特幣的一個最大的缺點即是其PoW共識機制導致了中心化的問題。為了打造更平等的挖礦網路和更去中心化的特性,原先的CryptoNote開發者創造了Cryptonight PoW共識機制,以此拉近CPU(大眾)與GPU/FPGA/ASIC(少數人)的挖礦能力差距。CryptoNote的作者亦提到了”有些礦工比其他礦工更有優勢是合理的”,因為”他們的投資應能線性的提升其算力優勢”,這代表ASIC礦機的出現或許是必然的。我們雖然也認同這樣的可能性,但為了去中心化的原則下,我們認為任何ASIC礦機算力優勢的出現必須要越平等越好。在發文此刻,我們認為任何新發展的ASIC礦機都不會是平等的算力,更不會使Monero網路趨向去中心化。

比特幣使用的PoW共識機制(SHA256)具有一個重大的缺點,就是太容易就能從CPU轉移至GPU、接著至FPGA、最後就發展到了ASIC,這其中每一個轉移都帶來了巨大的效率提升。因此CPU挖礦與ASIC挖礦之間就存在著巨大的效益差距,導致最後ASIC成為了唯一挖礦的可行方案,這在本質上造成了中心化,因為只有少數的製造商才有辦法生產ASIC礦機。Cryptonight (Monero的PoW機制)為了拉近CPU、GPU、FPGA、ASIC的差距,在PoW共識機制中綁定了一定數量的記憶體需求,這樣的方式造成了ASIC的製造成本顯著提升。這個PoW機制帶來了更平等的挖礦,這樣的好處有: 第一,如果挖礦算力是去中心化的,這將會防止礦工刻意去挑選或忽略特定交易的確認,避免Monero的區塊鏈審查行為。第二,這將會降低挖礦趨於中心化至大型挖礦廠房。第三,這將會讓政府難以管制可以用來挖礦的硬體。

進一步地說,特製的硬體幾乎只能由少數的公司設計,如同比特幣目前的情況,最大宗的ASIC礦機都是由Bitmain設計與生產。如Peter Todd所說: “世界上僅有非常少數的公司有能力創造出有競爭力的ASIC礦機,基本上就是Intel、ASMC、GlobalFoundries等等”。

這造成了一個單點失效(single point of failure)的弱點,例如,政府可能向ASIC製造商要求增加一個”自殺開關”,這樣使得其能從遠端關閉或是控制礦機,而這將是有潛力破壞整個交易網路的威脅。或是政府也可以要求礦工必須擁有執照才能使用ASIC挖礦,如此就限制了ASIC礦機只能被特定的團體所持有。這樣的證照系統最終可能導致某些交易的黑名單行為,譬如,政府可以要求礦工不得打包特定的交易否則就撤銷證照。相反的,用日常用途的硬體挖礦就可以讓這些手段無法被實際執行。

挖礦這件事,通常來說也具有著讓富者恆富的效應,最終導致中心化的問題。譬如具有經濟規模的礦工可能會更有足夠資本來提升其在全網算力裡的占比。而Cryptonight演算法,拜其平等的特性所賜,或多或少迴避了這個問題,因為礦工必須面對數種來源的競爭: (i) 幾乎沒有成本的殭屍網路(botnet)、(ii) 愛好者礦工,並非由利益驅動的使用他們的CPU與GPU支持網路、(iii)網頁礦工,這種有可能是非法(未經同意透過廣告挖礦)也有可能是合法(用來代替CAPTCHAs或減少/替代廣告)的方式。相對之下,ASIC礦機加速了富者恆富,因為他們沒有上述提及的競爭對手。

總結來說,我們強烈的相信保持抵抗ASIC的特性將會帶來好處,因此若有需要時,我們可能會發起臨時性的硬分叉以約束任何潛在的ASIC礦機威脅。此外,為了維持去中心化的目標並抑制檯面下的ASIC開發,Monero核心開發團隊將會在每次的例行分叉更新時微調PoW共識機制,也就是一年兩次的周期,這些更動將會是細微的調整,且不會影響效能太多,第一次微調已在測試中,將在本次三月的硬分叉中實施。我們的最終目標則是研發出新的一套PoW共識機制演算法以取代Cryptonight來確保更好的ASIC抵抗能力。

微調將會相容於下列軟體: zone117x’s pool, Snipa’s pool, Lucas Jones’ CPU miner, wolf0’s CPU miner, ccminer-cryptonight, sgminer-gm, xmr-stak, xmrig-nvidia, wolf-xmr-miner。

金鑰的重複使用

身為使用者的你必須意識到Monero網路與你所擁有的Monero安全性是取決於你握有的Monero私鑰,你的Monero金鑰就是Monero金鑰。請不要把他們拿來使用在其他用途,包括在Monero的其他分叉幣上取得錢幣。若你使用同一份金鑰(key)在不同鏈上重複花費同一筆交易輸出(output),這將會傷害你的隱私,同時也對其他人的隱私造成傷害,因為這會產生相同的金鑰映像(key image)在不同的環簽名(ring)之中(這不影響隱匿性地址或保密交易協定,僅影響環狀簽名)。此外,當你在其他鏈上使用相同的金鑰之後,你的私鑰安全性將依賴那些第三方的信用。

  • 分叉者們: 如果你們要分叉Monero區塊鏈,請不要要求使用者重複使用他們的私鑰,而是讓使用者在你們的新鏈上產生新的私鑰。
  • 使用者們: 如果分叉者要求你在他們的新鏈上輸入你的Monero金鑰(在這篇文章發表之後),他們很有可能正在試著操縱你參與大規模的Monero攻擊事件。

請注意安全,並不要在Monero以外的用途重複使用你的Monero金鑰。  

本文譯自getmonero.org https://getmonero.org/2018/02/11/PoW-change-and-key-reuse.html

開發者會議紀錄 DevMeeting 20180128

  • 開發者發現防彈協定可使用”批次認證”的方式大幅增加運作速率。
    • 就一般的複雜度而言,可縮減至僅需約15%的時間。
  • 若對門羅幣的Debian套件有興趣的人們,歡迎加入這個討論
  • 門羅幣GUI的部分:
    • 已將子地址功能納入。
    • 已將付款ID和整合型地址的功能移除。
    • 增加了--bootstrap-daemon-address參數,希望可以加快同步的速度。
  • 2018三月的硬分叉
    • 如先前的討論所述,防彈協定在主要網路正式啟用前還需要更多的研究,因此並不會在2018年三月的硬分叉植入。
    • 有在計畫要降低手續費,改變公式會如何影響整個網路還在研究中。

繼續閱讀...

開發者會議紀錄 DevMeeting 20171217

  • 增加了關閉DNS查詢的指令 (為了離線模式而設計的)
  • 防彈協定(BP)已開始在測試網路(testnet)中運作了
    • 協定中的數學部分已經很仔細的審視過了,並無明顯的錯誤,是時候來測試了
    • “對加密學來說最好的測試就是時間” -- Surae
    • 關於何時可以在主要網路中啟用BP的部分討論了非常久(佔了絕大多數的開會時間),選項分別有2018三月或九月的硬分叉
    • 防彈協定若無法趕上三月的硬分叉,屆時可能會另有替代方案暫時降低手續費
  • 門羅幣硬體錢包小組今天有個可以簡化韌體升級程序的重大突破
  • 下一次會議時間是2018年的一月14

繼續閱讀...