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