Monero 2018 年發展回顧

Monero在過去的一年還算是成果豐碩,也經過了不少風波。

本篇文章要來做一個2018的超濃縮懶人包,最後加上一點小編的心得與未來的看法。

歷經的風波們

  1. ASIC礦機算力在年初的大量增加

    依社群共識決定進行了數次PoW微調 預計是要撐到長期抗戰版的PoW算法(RandomX)正式上線。

    • CNv1: 2018/04 上線
    • CNv2: 2018/10 上線
    • CN-r: 2019/03 上線
    • RandomX: 等待外部審查中,預計2019/10上線
  2. 兩個有驚無險的重大漏洞: 重複計數和燒毀

    這兩個漏洞雖然是出現在錢包軟體而沒有影響到協定層面。但仍有可能造成交易所的重大損失,所幸在沒有被惡意利用的情況下順利修復 經過這兩個漏洞,專案的漏洞反應流程的制度化在檢討後也更加完善。

  3. 分叉幣(XMO,XMC)對隱私保護機制造成的傷害

    由於 Monero 的原始設計並未考量到分叉空投幣的情況,導致兩條鏈上的同一使用者經由比對環簽組合後會被找出真實的交易輸出 雖然隱匿地址和保密交易不受影響,但還是會一定程度傷害環簽的保護效果,因此開發者們加入了數個機制來保護原鏈與分叉幣的隱私 譬如在新鏈重複使用環簽組合或是避免使用有風險的交易誘餌,在後續的XMC分叉後證明這些保護機制是有效的。

重要的協定基礎改進

  1. **防彈協定(BulletProofs, BP)**是2018年最重要的改進,經由兩個外部資安公司加上一位獨立的密碼學家的審查後正式啟用 大幅減少交易所需容量、縮短節點驗證交易的時間、增加區塊可容納交易,單筆手續費也隨之從0.002 XMR (3 TWD) 降為 0.000047 XMR (0.07 TWD)。

  2. **子地址(Subaddress)**從理論到實現帶來了便利及安全性提升 子地址是8開頭的地址,一個錢包可以產生無限組子地址。子地址們和主地址無法經由分析區塊鏈找到關聯性 因此可避免鏈外交易時重複使用地址而被建立身分關聯。

  3. **多重簽名(multi-signature)**錢包功能逐步完善,從 N/N 到 (N-1)/N 到現在已經可以自行設定簽署者數量。

  4. 數個加強隱私保護的改進,包括環簽數量改為固定數字,且在2018的兩次分叉後,拜防彈協定所賜,最低環簽數直接提升至11 另外在挑選交易輸入和挑選交易誘餌時都進行了改善,使得每筆交易在網路盡可能不會出現特殊的特徵。

方便易用性

  1. CLI與GUI錢包的介面與功能大幅翻新,節點效能和穩定性也有所提升。

  2. 硬體錢包Ledger加入支援,Trezor則是接近完成。

  3. 許多新加入的第三方錢包: Monerujo, Cake wallet, X wallet, Edge wallet。

社群生態

  1. 不同程式語言的社群實作: pymonero, monero-java-rpc。

  2. 社群籌組的 Monero Malware Response workgroup 幫助惡意挖礦受害者。

  3. 社群籌組的 Monero Localization Workgroup 改用Pootle平台簡化翻譯程序。

  4. 社群籌組的 Monero Outreach workgroup 致力於撰寫文稿、視覺設計 幫助社群更容易向大眾傳達專案的各式消息。

  5. 數個新的社群教學資源: Mastering Monero, Monerostuff, Monerodocs。

  6. Tari Lab 宣布將在 Monero 區塊鏈上建立第二層的資產代幣協定 並提出了幾個開發目標。

    • 提升鏈上擴容能力、實作原子交換、實作閃電網路

個人心得與未來發展看法

歷經這兩年實在變化很大,尤其是防彈啟用後扭轉了不少規格上的劣勢,環簽上到11後目前隱私保護已近乎完善,尚未完成就剩kovri的實作(目前還在alpha),如果很急需屏蔽IP的功能就自行掛個Tor吧,Pruning node預計在一個月後會正式上線,對硬碟空間小的輕度使用者會很有幫助,開發方向也漸漸從完善錢包功能性逐漸擴展到改善使用者體驗。

社群風氣倒是沒太大改變,依舊是開源專案社群的調調,照著原先的理想前進中。

不過近期內大概最需要關注的就是PoW的發展 目前尚無法得知RandomX是否能如預期的抑制ASIC效能在CPU/GPU的2X以內,甚至在通過外部審查前一切都還很難定論,加上CNv2的破功,讓現況卡在: CN-r不知道什麼時候會被破 & RandomX尚未審查完畢,所以這窘境激起社群來了一場ASIC友善方案的辯論。

讓RandomX進行審查,ASIC友善做為後備方案,並為RandomX設定一個退場條件。

ASIC友善論點大致上是利用SHA3演算法很容易做ASIC的特點,盡可能讓多家礦機商同時生產發售ASIC礦機來達到算力制衡避免51%局面的風險,等於是犧牲公平挖礦的專案理念來換取避免51%攻擊的風險,不過目前對於立刻採用ASIC友善方案並未獲得廣泛的認同,最有可能的折衷走向是先讓RandomX進行審查,ASIC友善做為後備方案,並為RandomX設定一個退場條件,如果萬一RandomX沒有達到條件又沒有其他替代方案,就會立刻進行ASIC友善方案以避免少數礦機商壟斷算力。

鳩竟~ 事情會如何發展~ 就讓我們繼續看下去,本篇許多資訊細節可以到官方Blog原文翻翻。