門羅幣

一种开源的加密货币

門羅幣Monero,縮寫:XMR)是一個創建於2014年4月開源加密貨幣,它着重於隱私分權可擴展性。與自比特幣衍生的許多加密貨幣不同,Monero基於CryptoNote協議,並在區塊鏈模糊化英語Obfuscation方面有顯著的算法差異。[1]Monero的模塊化代碼結構得到了比特幣核心維護者之一的Wladimir J. van der Laan的讚賞。[2]Monero在2016年經歷了市值(從5百萬美元至1.85億美元)[3] 和交易量[4] 的快速增長,這部分是因為它在2016年夏季末期得到了主要的暗網市場英語darknet marketAlphaBay英語AlphaBay的採用。[5] 截至2022年1月,Monero市值超過39億美元,排名第42。[6]

歷史

2014年4月18日

Monero推出,原名為BitMonero,意指Bit(如Bitcoin)和Monero(字面意思是「世界語」中的「硬幣」)。在五天後,社區選擇將名稱縮減至Monero。 它是第一個基於CryptoNote貨幣之Bytecoin的分支,但有着兩個主要差別。首先,目標塊時間從120秒減少到60秒;其次,發行速度減速50%(後來Monero恢復到120秒的停留時間,同時保持發行時間,使每個新塊的塊獎勵翻倍)。此外,Monero開發人員發現了許多低質量代碼,隨後將其清理和重構。[來源請求]

在發布幾周後,一個面向CryptoNight工作證明函數的優化的GPU挖礦器被開發。 [7]

2014年9月4日

Monero在一次針對加密貨幣網絡的異常、新穎攻擊後得到恢復。 [8]

2017年1月10日

通過使用 Bitcoin Core 開發人員 Gregory Maxwell 的環形機密交易(Ring Confidential Transactions)算法,Monero交易的隱私性自#1220516塊起得到進一步加強。 [9][10][11]環形簽名算法英語Ring signature algorithm 不向沒有直接參與交易的人員揭示交易中所涉及的金額,從而增加了保密性。交易會默認啟用 RingCT ,但在2017年9月的下一個硬分叉之前,仍可發送非RingCT的交易。 [12] 截至二月初,超過95%的非投機性交易使用了可選的RingCT特徵。 [13]

2018年3月18日

Coincheck稱將下架 XMR、DASH 和 ZEC 三大匿名加密貨幣。另外許多韓國與日本的交易所也相繼下架諸如 XMR、ZEC、DASH 等等這些具有匿蹤匿名傳輸與交易功能的貨幣。推測可能與政府監管單位的要求有關。

2022年2月15日

MineXMR算力突破50%,達到50.159%[14],在Reddit社群曝光後急瀉至38%[15],但仍長期徘徊在~40%。雖該礦池從未進行51%攻擊,但仍造成不少人對網絡安全性的質疑。

硬分叉

 
硬分叉對Monero網絡算力的影響

2017年9月15日

其時版本為 : Monero v0.11.0.0 "Helium Hydra"

此硬分叉的改變有:

  • Ring Signature的最低大小增加至5
  • 封禁一Ring Signature下重複使用同一Ring Member
  • 強制所有交易輸出採用RingCT

2018年4月6日

其時版本為 : Monero v0.12.0.0 "Lithium Luna"

此硬分叉的改變有:

  • Ring Signature的最低大小增加至7
  • 整理交易輸入以免錢包可選擇的輸入被推論出
  • 為防止ASICs進行DoS攻擊而對共識機製做出細微改變

2018年10月18日

其時版本為 : Monero v0.13.0.2 "Beryllium Bullet"

此硬分叉的改變有:

  • Ring Signature的大小統一改為11
  • 共識機制改為CryptoNight v2
  • 規定最高交易大小為無懲罰區塊大小的一半
  • 引入Bulletproofs以減低交易大小

2019年5月9日

其時版本為 : Monero v0.14.0.2 "Boron Butterfly", Minor Point Release 0.2

此硬分叉的改變有:

  • 共識機制改為CryptoNight-R
  • 加入區塊比重算法
  • 引入較高效率的RingCT格式

2019年11月12日

其時版本為 : Monero v0.15.0.0 "Carbon Chamael"

此硬分叉的改變有:

  • 因應比特大陸螞蟻礦機X3系列礦機,共識機制改為RandomX
  • 新增Android編譯
  • 自動搜尋公共節點、引導模式保護程序的切換
  • 提升錢包和節點間的網路安全
  • 服務系統的支付功能(節點提供支付RPC,或第三方透過挖礦來提供支付服務)
  • 可選擇使用Tor/I2P來中繼交易,已獲得更好的隱私性(區塊的中繼在 /clearnet 上進行)
  • 新的 gen_ssl_cert 工具,生成 XMR 適用的 SSL 證書
  • 新增對IPv6的支援
  • 移除對於長支付ID的支援

截至2022年7月24日,RandomX 分叉使得全網算力達到了分叉之前的八倍(300M→2.5G),但算力是否過於集中還有待查證。[16]

2022年8月13日

其時版本為 : Monero v0.18.0.0 "Fluorine Fermi"[17]

此硬分叉的改變有:

  • 引入Bulletproofs+以減低交易大小及加快驗證程序
  • Ring Signature的大小增加至16

特性

Monero是一個開源軟體工作證明加密貨幣。它可以在 Windows、Mac、Linux 和 FreeBSD 上執行。[18]

其主要發行曲線將在約8年內發行約1840萬枚幣。[19][20] (確切地說是1822.3萬個硬幣[21][22],於2022年6月9日#2641623進入Tail Emission[23],區塊奬勵減少至0.6XMR並維持)。其工作驗證算法CryptoNight是為 AES 密集型和很消耗 RAM 的操作,這顯著降低了 GPU 對 CPU 的優勢。

抗ASIC理念

由於ASIC(特殊應用積體電路)的專一性,經過被特別設計的ASIC通常能夠擁有比一般CPUGPU甚至是FPGA的算力還要來的高上許多。目前比特幣(BTC)等採用SHA256算法的幣種,幾乎所有的算力都來自於ASIC所供給。在一開始以對抗ASIC理念的萊特幣(LTC)與達世幣(DASH),兩者分別使用Scypt與X11算法。但後來仍然有IC設計公司開發出對應上述兩種算法且具有比一般CPU、GPU甚至是FPGA的算力還要高上許多甚至更為省電的ASIC。而ASIC幾乎只能由少數的公司設計,這使得由於ASIC的出現,將導致算力過於集中甚至能夠被單一中心化機構壟斷的問題。例如,政府可能向ASIC製造商要求增加一個"自殺開關",這樣使得其能從遠端關閉或是控制礦機,而這將可能導致對整個區塊鏈網路的運作造成威脅甚至完全失效。

門羅幣從一開始的開發理念中,就包含了對抗ASIC的理念。但其採用的CryptoNight算法為了能夠讓大多數CPU甚至FPGA能夠參與並且獲得挖礦獎勵,而不是只有GPU能夠有效率地進行挖礦。因此並沒有像以太坊(ETH)等Ethash算法的幣種,利用逐步增長的DAG來要求高速記憶體容量,以藉由硬件製造成本來對抗ASIC。因此,門羅幣的核心開發團隊在過一定的時間會對共識機制的算法進行修改與進行硬分叉,以確保能夠有效對抗ASIC的出現與算力壟斷。

(UTC+8) 的 2019/3/9 一般使用CPU與GPU挖礦的用戶將必須更新挖礦軟體方能繼續在硬分叉後進行挖礦。

新一次的分叉於 (UTC+8) 的 2019/12/1 上午 3:00 進行硬分叉至版本 v0.15.0.1 Carbon Chamaeleon,此次硬分叉可以說是在門羅幣史上最大的一次共識機制算法 (PoW) 的更改,以長久的對抗 ASIC 對整個 XMR 網路帶來的威脅。

本次硬分叉會將演算法更改為 RandomX,不同於以往以 CryptoNight 為基底的部分更改,RandomX 在整個演算法方面有著相當大的改動,從硬體算力可以得知,以往在 CryptoNight 上幾乎已經沒有任何優勢的 CPU 挖礦,這回在 RandomX 上卻是有著非常大的優勢,尤其是以 AMD Ryzen 這種大 L3 快取的 CPU 系列而言。

門羅幣在先前一直都有針對 PoW 共識算法以硬分叉做出更改的傳統,以應付 ASIC 對整個門羅幣的區塊鏈網路帶來的威脅,但基底一直都是 CryptoNight,也因此在硬分差後約莫 6 個多月就有可能出現相關的 ASIC,門羅幣的相關開發者團隊在與部分社群商討後,決定要開發出一種可以有效長久抵禦 ASIC 的 PoW 算法,以避免按照傳統不斷硬分叉的方式,雖然可以抵禦 ASIC,但也致使自身的網路安全性產生質疑。

隱私

 
實施環形簽名後,區塊分析結果的變化。

分叉

2018年,門羅幣的開發團隊為了抵制比特大陸所製作出來的Antminer X3系列礦機,避免其網絡受到礦工侵害,於是進行硬分叉,並且升級門羅幣的網絡算法,但硬分叉出來的項目卻依舊使用CryptoNight算法,相關項目為:Monero Zero(XMZ)零系門羅幣、Monero Original(XMO)原生門羅幣、Monero-Classic(XMC)經典-門羅幣、Monero Classic(XMC)經典門羅幣、MoneroV(XMV)V版門羅幣,而當前仍有效的項目為Monero-Classic(XMC)經典-門羅幣及MoneroV(XMV)V版門羅幣。

可擴展性

挖礦

門羅幣當前的算法為RandomX,挖掘能使用CPU、GPU、RSIC(如Apple M1)等,唯CPU、RSIC效率較高,GPU則是因記憶體延時較高,效率低下。雖說如此,因botnet泛濫,只有部分高階CPU能達到收支平衡,大部分「礦工」都只是為了維護網絡安全而挖礦。

技術

RandomX

RandomX,為Random code eXecution的簡寫,RandomX通過執行浮點運算來避免ASICs/FPGAs等專用礦機[24]

Ring Signatures

Ring Signature是隱匿支付者身份的技術。Ring Signature以多個一次性密鑰組成「環狀簽名」,不參與交易的第三方只能知道實質支付者為其中一人。[25]

Key Image

Key Image,為Ring Signature之衍生品。為防止Double Spending,Ring Signature的輸入端需計算出一組Key Image,每組Key Image在Blockchain上只能使用一次。Key Image不可反推出與Ring Signature支付者的關係[25](類似SHA-2的hash sum與input的關係,目前已知無有效攻擊手段)。

RingCT

RingCT,全稱Ring Confidential Transaction,意即環狀機密交易。此技術能防止第三方窺探交易金額。[26]

Stealth Address

Stealth Address,為隱匿收款者身份的技術。在每次交易中,都會生成Stealth Address,作為一次性的公開密鑰。該密鑰指明收款者才能在後續交易中,將款項作為輸出使用。Stealth Address無法聯繫到收/付款者的身份或錢包位址,在Blockchain上收款者及款項沒有聯繫,僅有支付者知道收款者的身份(或錢包位址)。[27]

目前工作和周邊項目

  • OpenAlias:一個廣泛的區塊鏈混疊(別名)系統[28]
  • Kovri:一個在Monero中集成I2P的隱私解決方案[29]
  • URS:一個匿名投票系統的概念驗證,基於環簽名英語Ring signature[30]
  • 0MQ:一個客戶端使用的C API庫,用於連接Monero守護進程服務。[31]
  • Bulletproofs: 中文稱作防彈協議,藉由更改交易過程的數學模型以獲得更低的交易手續費,並且不影響交易的隱私性。
  • Monero核心團隊在繼續遠離原始的有眾多補丁的Bytecoin代碼,以及改善其CryptoNote協議的實現。[32]

參見

參考資料

  1. ^ Nope. You are confused. You should consider this great news because you are abou... | Hacker News. news.ycombinator.com. [2015-10-04]. (原始內容存檔於2020-11-30). 
  2. ^ Wladimir J. van der Laan. http://bitcoin-development.narkive.com/. [29 September 2015]. (原始內容存檔於2021-05-06). 
  3. ^ Monero (XMR) Market Capitalization. www.coinmarketcap.com. [5 September 2016]. (原始內容存檔於2016-09-11). 
  4. ^ 存档副本. [2017-06-10]. (原始內容存檔於2017-01-01). 
  5. ^ Aliens, C. AlphaBay and Oasis Markets to Begin Accepting Monero for Payments. 23 August 2016 [2017-06-10]. (原始內容存檔於2016-11-05). 
  6. ^ Cryptocurrency Prices, Charts And Market Capitalizations. CoinMarketCap. [2022-01-16]. (原始內容存檔於2019-05-23) (英語). 
  7. ^ Andersen, David. Minting Money with Monero ... and CPU vector intrinsics. da-data.blogspot.ru. [30 March 2015]. (原始內容存檔於2014-10-17). 
  8. ^ Macheta, Jan; Noether, Surae; Noether, Sarang; Smooth, Javier. Counterfeiting via Merkle Tree Exploits within Virtual Currencies Employing the CryptoNote Protocol (PDF). getmonero.org. [4 April 2015]. (原始內容 (PDF)存檔於2017-11-05). 
  9. ^ 存档副本 (PDF). [2017-06-10]. (原始內容 (PDF)存檔於2017-11-05). 
  10. ^ monero-project/monero. [2017-01-10]. (原始內容存檔於2019-07-13). 
  11. ^ blox.supportXMR.com. [2017-01-10]. (原始內容存檔於2017-01-10). 
  12. ^ Will there be a January hard-fork for RingCT?. [27 January 2017]. (原始內容存檔於2019-07-13). 
  13. ^ RingCT transactions (excluding coinbase). [4 March 2017]. (原始內容存檔於2017-03-04). 
  14. ^ 存档副本. [2022-07-24]. (原始內容存檔於2022-05-26). 
  15. ^ 存档副本. [2022-07-24]. (原始內容存檔於2022-03-23). 
  16. ^ coinwarz. [12 January 2020]. (原始內容存檔於2017-03-04). 
  17. ^ Blog: Monero 0.18.0.0 'Fluorine Fermi' released. getmonero.org, The Monero Project. [2024-02-09]. (原始內容存檔於2024-03-28) (英語). 
  18. ^ Latapie, David. What's so special about Monero. Getmonero.org. [19 March 2015]. (原始內容存檔於2021-02-28). 
  19. ^ Monero Economy. [4 April 2015]. (原始內容存檔於March 7, 2016). 
  20. ^ Bitcoin and Monero – Comparison of Money Supply and Block Reward. [4 September 2016]. (原始內容存檔於2019-07-13). 
  21. ^ Reddit – What are the basic parameters/characteristics of Monero – Answer by XMR Core Team Member. [4 Sep 2016]. (原始內容存檔於2019-07-13). 
  22. ^ Reddit – Useful For Learning About Monero: Coin Emission And Block Reward Schedules: Bitcoin vs. Monero, all at a glance!. [4 Sep 2016]. (原始內容存檔於2021-05-07). 
  23. ^ 存档副本. [2022-07-24]. (原始內容存檔於2022-07-02). 
  24. ^ 存档副本. [2022-07-24]. (原始內容存檔於2022-07-03). 
  25. ^ 25.0 25.1 存档副本. [2022-07-24]. (原始內容存檔於2022-04-23). 
  26. ^ 存档副本. [2022-07-24]. (原始內容存檔於2022-06-28). 
  27. ^ 存档副本. [2022-07-24]. (原始內容存檔於2022-04-29). 
  28. ^ OpenAlias official website. getmonero.org. [30 March 2015]. (原始內容存檔於2021-04-27). 
  29. ^ The-Privacy Solutions Project. geti2p.net. [30 March 2015]. (原始內容存檔於2021-05-07). 
  30. ^ monero-project/urs. GitHub. [2017-04-18]. (原始內容存檔於2021-05-07) (英語). 
  31. ^ 0MQ GitHub. github.com. [3 September 2016]. (原始內容存檔於2020-12-14). 
  32. ^ Github – monero-project. github.com. [4 April 2015]. (原始內容存檔於2016-01-31). 

外部連結