CryptoNote
CryptoNote 是一個關於加密貨幣的應用層協議。它致力於解決在比特幣核心中暴露出的若干問題[1]。包括門羅幣和 MobileCoin 在內的幾種注重隱私的加密貨幣已經或曾經使用 CryptoNote 協議[2]。
原作者 | Nicolas van Saberhagen |
---|---|
當前版本 | 0.8.9(2014年5月21日) |
源代碼庫 | cryptonotefoundation/cryptonote |
編程語言 | C++ |
操作系統 | Windows, Unix-like, OS X |
類型 | Cryptocurrency, anonymity |
許可協議 | MIT License |
網站 | cryptonote.org |
其中門羅幣的 PoW 算法後來升級為 CryptoNight。經歷多次升級後,目前門羅幣 PoW 算法為 RandomX。CryptoNote 協議的作者,Nicolas van Saberhagen 的真實身份未知[3]。
關於 CryptoNote 的原作者 「Nicolas van Saberhagen」 的身份,目前仍然未知。它的數學組件及其動機在文章《CryptoNote 白皮書》中有所描述,該白皮書分為 2012 年版和 2013 年版兩種版本發布[4]。
2012年夏天,推出的 Bytecoin 是第一個採用此技術的加密貨幣。隨後,多個團隊基於 Bytecoin 的代碼啟動了自己的網絡。
發行機制
與比特幣類似,礦工通過找到解決方案獲得獎勵。但在 CryptoNote 中,比特幣階梯式的發行曲線被替換為平滑的曲線:獎勵隨着每個區塊逐漸減少。
CryptoNote 協議的一種實現方式導致了非平滑的發行曲線,具體來說是 Safex 區塊鏈的 S 型曲線,其設計與「創新擴散理論」的技術採納曲線相匹配[5]。
技術
CryptoNote 是一種允許創建公平且匿名的加密貨幣的技術。與傳統加密貨幣主要使用單一簽名來驗證交易不同,CryptoNote 使用環簽名。這是一種更複雜的簽名方案,需要多個不同的公鑰來進行驗證。在這種情況下,交易由一個用戶組簽名,驗證者只能確定其中一人是簽名者,但無法識別具體的個人。
除了環簽名,CryptoNote 還具有以下功能:
- 不可鏈接的交易
- 抗 ASIC 特性
- 公平的工作量證明(PoW)
- 抗區塊鏈分析
- 雙重支付證明
CryptoNote 技術的第一個實現是 Bytecoin (BCN),於 2012 年 7 月發布。隨着對 CryptoNote 技術興趣的增加,基於 CryptoNote 的一系列加密貨幣相繼出現。
特性
與傳統加密貨幣主要使用唯一簽名來驗證轉賬不同,CryptoNote 採用環簽名。這是一種更複雜的簽名方案,需要多個不同的公鑰進行驗證。在這種情況下,交易由一組用戶共同簽名。驗證者只能確定其中一人是簽名者,但無法確定具體是誰。雖然這種方法無法提供像 Zerocoin 那樣的絕對匿名性,但相較於比特幣,其隱私性有了顯著提升。
CryptoNote 會為每一筆支付自動生成多個唯一的臨時地址,這些地址是基於單一的公鑰生成的。即使支付被發送到一個公共地址,在區塊鏈上顯示的卻是一個臨時地址。發送方使用隨機數據和接收方的公共地址來計算支付的臨時密鑰。提取資金需要接收方的私鑰,因此只有接收方可以領取發送到臨時地址的資金。此外,第三方無法發現臨時密鑰與接收方公共地址之間的關聯。
CryptoNote 的環簽名機制通過將交易與相同私鑰相關聯來限制雙重支付的嘗試。該協議使用通過單向函數從私鑰派生的密鑰圖像。所有用戶都會保留一份已使用的密鑰圖像列表,並將其與新的交易進行驗證。如果發現重複的密鑰圖像,交易將被視為雙重支付嘗試而被拒絕。然而,發送方的身份仍然未知,因為無法通過密鑰圖像反推出私鑰。
CryptoNote 通過環簽名和臨時地址為分析區塊鏈設置了障礙。每個支付地址都是基於發送方和接收方數據生成的唯一臨時密鑰,環簽名隱藏了確切的支出來源。因此,每一筆新的交易都會增加可能的發送方數量,從而進一步模糊實際關聯。
CryptoNote 沒有硬性常量或固定的「神奇數字」。例如,區塊最大大小或最小手續費等限制,均是基於系統的歷史數據動態計算的。此外,難度和區塊最大大小會隨着每一個新區塊的生成而自動調整。其算法的核心思想是,將過去 720 個區塊中所有節點完成的工作量總和除以這些區塊的生成時間。工作量的度量標準為每個區塊對應的難度值。
貨幣發行
貨幣發行過程非常平穩,因為每個新區塊的獎勵都會發生變化。這使貨幣供應的增長能夠按照以下公式進行可預測且持續的增長:
- BaseReward = (MSupply - A) >> 18
- MSupply = 2^64 - 1(原子單位)
部分基於 CryptoNote 的分叉項目(如 DarkNote 和 MonetaVerde)採用了不同的發行邏輯:DarkNote 的貨幣發行每月減半,而 MonetaVerde 的區塊獎勵會隨難度的增加而增長。
公平的工作量證明(PoW)
CryptoNote 使用 CryptoNight 算法作為工作量證明機制。工作量證明機制本質上是一個投票系統,用戶通過投票決定交易的正確順序、新功能的引入,以及貨幣供應的公平分配。
參考鏈接
- ↑ CryptoNote v 2.0 Nicolas van Saberhagen
- ↑ Re-thinking untraceability in the CryptoNote-style blockchain Jiangshan Yu, Man Ho Allen Au, and Paulo Esteves-Verissimo
- ↑ What Is Monero and Is It Safe? Here's What You Need to Know Claire Downs Updated on May 22 2021
- ↑ whitepaper.pdf October 17, 2013
- ↑ archive/BluePaperRevisedNovember52020/Safex_Blue_Paper_Nov_5_2020_revision.pdf at master · safex/archive · GitHub