CryptoNote

来自非小号百科
Doge留言 | 贡献2024年12月20日 (五) 08:23的版本 (创建页面,内容为“'''CryptoNote''' 是一个关于加密货币的应用层协议。它致力于解决在比特币核心中暴露出的若干问题<ref>[https://cryptonote.org/whitepaper.pdf CryptoNote v 2.0] Nicolas van Saberhagen</ref>。包括门罗币和 MobileCoin 在内的几种注重隐私的加密货币已经或曾经使用 CryptoNote 协议<ref>[https://eprint.iacr.org/2019/186 Re-thinking untraceability in the CryptoNote-style blockchain] ''Jiangs…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

CryptoNote 是一个关于加密货币的应用层协议。它致力于解决在比特币核心中暴露出的若干问题[1]。包括门罗币和 MobileCoin 在内的几种注重隐私的加密货币已经或曾经使用 CryptoNote 协议[2]

CryptoNote
原作者 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 算法作为工作量证明机制。工作量证明机制本质上是一个投票系统,用户通过投票决定交易的正确顺序、新功能的引入,以及货币供应的公平分配。

参考链接

  1. CryptoNote v 2.0 Nicolas van Saberhagen
  2. Re-thinking untraceability in the CryptoNote-style blockchain Jiangshan Yu, Man Ho Allen Au, and Paulo Esteves-Verissimo
  3. What Is Monero and Is It Safe? Here's What You Need to Know Claire Downs Updated on May 22 2021
  4. whitepaper.pdf October 17, 2013
  5. archive/BluePaperRevisedNovember52020/Safex_Blue_Paper_Nov_5_2020_revision.pdf at master · safex/archive · GitHub