Monero

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

## 歷史

### 2014 年 4 月 18 日

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

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

### 2014 年 9 月 4 日

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

### 2017 年 1 月 10 日

通過使用 Bitcoin Core 開發人員 Gregory Maxwell 的環形機密交易（Ring Confidential Transactions）算法，Monero 交易的隱私性自 #1220516 塊起得到進一步加強。環形簽名算法不向沒有直接參與交易的人員揭示交易中所涉及的金額，從而增加了保密性。交易會默認啟用 RingCT ，但在 2017 年 9 月的下一個硬分叉之前，仍可發送非 RingCT 的交易。

截至二月初，超過 95% 的非投機性交易使用了可選的 RingCT 特徵。

### 2018 年 3 月 18 日

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

### 2022 年 2 月 15 日

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

## 硬分叉

### 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"

此硬分叉的改變有:

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

截至 2022 年 7 月 24 日，RandomX 分叉使得全網算力達到了分叉之前的八倍（300M-->2.5G），但算力是否過於集中還有待查證。

### 2022 年 8 月 13 日

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

此硬分叉的改變有:

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

## 特性

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

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

### 抗 ASIC 理念

由於 ASIC (特殊應用積體電路) 的專一性，經過被特別設計的 ASIC 通常能夠擁有比一般 CPU、GPU 甚至是 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 等專用礦機。

### Ring Signatures

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

### Key Image

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

### RingCT

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

### Stealth Address

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

## 目前工作和周邊項目

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

## 參見

## 參考資料

## 外部連結

* 官方網站
* The Monero project on github （頁面存檔備份，存於網際網路檔案館）
* Monero on reddit （頁面存檔備份，存於網際網路檔案館）
* Monero on StackExchange （頁面存檔備份，存於網際網路檔案館）
* 門羅幣 (Monero) 網頁挖礦礦場 （頁面存檔備份，存於網際網路檔案館）
* Monero 挖礦礦池 （頁面存檔備份，存於網際網路檔案館）
* MONERO (XMR) 價格走勢圖 （頁面存檔備份，存於網際網路檔案館）