關於重複計數漏洞的事後檢討

這篇文章要來談重複計數(multiple counting)的漏洞,其包括了兩個變種。這篇文章的目標是對上述的漏洞提供完整的細節,解釋這是如何被用來攻擊線上服務、商家與交易所,並且 Monero (開發)社群是如何處理這個漏洞。

重複計數漏洞的兩個變種存在於子地址(subaddress)功能中,這功能用了個不同的交易金鑰程式碼架構。第一個漏洞的變種簡單來說就是沒有對重複的公鑰進行檢查,因此攻擊者可以重複將同份交易公鑰包含在交易中,這結果導致了接收者的錢包會回報收到了x倍於其真正收到的的交易數量(x是代表收到幾次交易金鑰的一個整數),所有用來回報收到交易的指令(如show_transfers (CLI), get_transfers (RPC))都被此漏洞影響。但是餘額並沒有受到影響,錢包依舊會回報正常的資金餘額。可惜的是,大多數的交易所都是利用 get_transfers 或 get_payments RPC指令在運作,因此重複的交易公鑰將會導致計算出錯誤的金額。

閱讀更多關於重複計數漏洞的事後檢討

核心開發團隊公告

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

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

閱讀更多核心開發團隊公告

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

PoW共識機制的更動

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

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

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

關於Monero手續費的一份筆記

近期社群中不斷有抱怨認為Monero交易的手續費過於昂貴。雖然我們並不同意其中的一些意見,但我們還是必須先徹底地分析一下這個情況。在那之前我們必須回應一點,有些抱怨認為開發者理當要將手續費直接修改降低後釋出新版本,但這樣的作法是因小失大的,因為 1. 這個方法只是把問題向後拖延;2. 改變參數與公式需要進行硬分叉,而這需要全面的共識;3. 每當價格變化後就得介入調整手續費的作法與去中心化的生態是矛盾的。

這就讓我們拿幾個同是使用工作證明(POW)的區塊鏈貨幣來做個每單位容量(kB)手續費比較:

  • 比特幣 Bitcoin: ~$26.90
  • 乙太幣 Ethereum: ~$2.91
  • 萊特幣 Litecoin: ~$0.10
  • 達世幣 Dash: ~$0.07
  • 門羅幣 Monero: ~$0.24

比較起來,Monero的每單位容量手續費其實並不算高。但是由於每筆交易所需的容量較大,實質的費用就因此變得相當高。但必須注意的是,Monero較大的交易容量是來自於預設的隱私保護功能。例如隱藏交易金額功能RingCT中的Range proofs可以佔到12kB的容量;但RingCT在強化交易隱私上是絕對必要的,當這功能還沒有啟用時,讓許多交易洩漏了隱私。 不過有個好消息是,未來Bulletproofs協定的啟用將會降低Monero至少80%的交易容量。

閱讀更多關於Monero手續費的一份筆記

防彈協定(Bulletproofs)將為Monero帶來更低的手續費

這是一篇關於防彈協定(Bulletproofs)的進度簡述與其在Monero上的應用介紹。簡單來說: 這協定令人驚艷,有效地降低了手續費,且已準備好要在測試網路(testnet)上開始測試。

現行的保密交易技術(confidential transactions, CT)可將Monero的交易金額隱藏,但為了確保所有人都可以驗證交易輸入和輸出的總和為零,我們使用具有代數性質的承諾協議(commitment),此外,我們還需要確保所有數值為正值以免造成溢位(overflow)的風險,此時範圍保護(range proofs)就發揮了作用。範圍保護可以讓每個人得以將承諾協議限制在一個特定的範圍內進行驗證,並完全不洩漏其他的交易資訊。我們現行的範圍保護協定會因交易輸出增加與範圍長度(目前為64bit)而使得容量大小呈現線性成長,這就造成了肥大的交易容量。不僅如此,若是交易中有多筆輸出,每筆輸出都需要分別有各自獨立的範圍保護,更會大幅增加交易容量,這並不是一件好事。

感謝Bünz、Bootle 與其他作者近期發表的一篇論文 (原文在此),他們在論文中提出了一個更有效率的範圍保護協定,稱為防彈協定。

閱讀更多防彈協定(Bulletproofs)將為Monero帶來更低的手續費

Monero新版本代號Helium Hydra已開始在testnet公開測試

例行每半年一次的Monero硬分叉更新即將於九月登場
這次的分叉版本名為Helium Hydra
分叉區塊高度預定為1400000
為了要讓礦工與節點有足夠的時間升級到新版本,將在近期內釋出正式執行檔
但為了讓此次更新盡可能避免出現預期外的問題,我們鼓勵社群成員一起加入測試

閱讀更多Monero新版本代號Helium Hydra已開始在testnet公開測試

CryptoNote 系列加密貨幣存在重大漏洞的資訊揭露

總覽

我們已在 Monero 上找到並修復一個重要的漏洞,這個漏洞同時影響了所有使用 CryptoNote 演算法的加密貨幣,藉由這個漏洞,無限量的錢幣可以被不知不覺的產生。

我們已在好一段時間以前就將這個漏洞修復完成,並且確認過 Monero 的區塊鏈從未被利用這個漏洞產生出偽造的錢幣,但直到數周前的硬分叉後我們才能確保整個 Monero 網路都已經更新這項修復。

在分叉完成後,當我們一確認整個網路都已經更新,我們就將此漏洞通知了其他所有還在開發的 CryptoNote 加密貨幣專案包括CryptoNote本身、 Bytecoin、Forknote、Boolberry、DashCoin 與 DigitalNote。

請注意,發文(原文)的此刻,只有Monero、Aeon、Boolberry與Forknote已修復這個漏洞。我們已盡量提供其他貨幣專案盡可能足夠的時間修復,但已無法再繼續限制這項資訊揭露。

我們強烈建議避免使用、交易、兌換或使用以下被此漏洞影響的貨幣相關服務:
Bytecoin、DashCoin、DigitalNote

閱讀更多CryptoNote 系列加密貨幣存在重大漏洞的資訊揭露