CryptoNote wikipedia

CryptoNote 是一种应用层协议,支持多种分散的面向隐私的数字货币。它的目标是成为比特币背后思想的演变。

这两种技术的主要区别在于,比特币(和大多数数字货币)对比基于CryptoNote的货币太透明了,因为后者的块链几乎是匿名的,与非Cryptonote区块链相反。CryptoNote 货币使用一个分布式的分类账,记录其内置货币的所有余额和交易,如Bitcoin。与比特币不同,CryptoNote 的交易无法通过块链接来显示发送或接收货币的方式。交易的大概数量可以知道,但是不能知道发送方、接收方和实际数量。唯一可用的信息是实际数量低于显示的数量。访问关于交易的整个数据集的唯一的人是交易的发送者或接收者以及拥有一个或两个秘密密钥的人。

另一个显着的区别是 CryptoNote 的基于散列的工作量证明算法。比特币使用 SHA256,它是 CPU 绑定功能。这意味着参与者(矿工)只受其计算速度的限制,创建专用集成电路(ASIC)设备相对便宜,这将以每单位货币的哈希超过普通计算机。[5] CryptoNote 使用内存绑定函数 CryptoNight,不能轻易流水线生产。[6]

CryptoNote 代码不是 Bitcoin 的分支,所以它还有其他不同的内部算法,例如重新计算新的难度级别或新的块大小。[6]

起源

CryptoNote 技术首先在白皮书 CryptoNote v 1.0 中描述。[7] 更新的版本已经以 CryptoNote v 2.0 [6] 的名义发布。 Bytecoin cryptocurrency 是第一个已经实现底层加密协议的。 CryptoNote 首先在 Java 中开发,以便更快的启动,然后在 2013 年重新用C ++编写。

CryptoNote 基于许多早期的作品和协议,并考虑了以前提出的几个问题。以下是影响CryptoNote的最重要的论文和事件列表:[9]

  • 1983年 - David Chaum描述的盲签[10]
  • 1997年 - Adam Back发明的HashCash(工作证明制度的一个例子)
  • 2001年 - Ron Rivest,Adi Shamir和Yael Tauman向加密社区提出了环签名[11]
  • 2004年 - Patrick P. Tsang和Victor K.提出使用环签名系统进行投票和电子现金; [12]
  • 2008年 - 由Satoshi Nakamoto出版的Bitcoin白皮书[13]
  • 2011年 - 比特币系统中的匿名分析,Fergal Reid和Martin Harrigan [14]
  • 2012 - 目的地址比特币匿名(CryptoNote中的一次性地址)。[15]

匿名交易和环签名

像比特币一样,CryptoNote 货币使用由用户公钥导出的伪随机数字和字母组成的公共地址。 地址作为用户的公共ID。 然而,与比特币不同,CryptoNote 交易隐藏发送方和接收方地址之间的连接。

发件人隐私

为了防止发件人识别,CryptoNote 使用其他几个密钥对发件人的公开密钥进行分组(更准确地说,它将发送者的输出与其他几个输出进行分组),使得无法确定谁实际发送了该交易。如果使用环签名,则在交易中引用的所有可能的发件人都是可以配置的,并且无法确定签名时使用的确切私钥。[17]这种方法不需要用于混合硬币的专用主节点,并且不需要其他用户积极参与交易生成(参见CoinJoin)。它仍然保证网络原始发件人在他或她的帐户中有资金像普通签名方案一样发送交易。签署者不用以零知识的方式证明“我拥有对应于该特定公钥的私钥”这个事实,证明“我拥有至少一个对应于这组公钥的私钥”。

接收者隐私

在接收方端,该技术为每个汇款产生一个新的公共密钥[18],即使对于同一个发送者和接收方也是如此。通过发送者的随机数据和接收者公共地址,可以通过Diffie-Hellman协议创建一对唯一的专用和公共密钥。发送方为每次传输生成一次性临时密钥,只有接收方可以恢复相应的私钥(赎回资金)。没有第三方可以确定是否将两个不同的交易发送到同一收件人。

双重支付保护

匿名交易有潜在的问题。比特币和类似的货币使用公共分类帐来验证每个发送资金的人实际上在其账户中拥有这样的资金,并且以前没有将其发送给另一个用户。由于 CryptoNote 货币是匿名的,网络必须以其他方式确认交易的有效性。

CryptoNote 通过使用更复杂的方案而不是通常的环签名来解决这个问题[19]:可追溯的环签名。 Fujisaki和Suzuki于2007年最初提出的算法[20]允许跟踪两个不同消息的发送者,如果它们包含相同的标签并由相同的私钥签名。

CryptoNote 作者略微简化了方案,用密钥镜像替换了标签,并抛弃了可追溯性属性。他们称之为算法一次性环签名,“强调用户在其私钥下只生成一个有效签名的能力”[6]相同密钥下的两个不同签名(双重花费尝试)可以轻松地链接在一起,只有一个将被存储在块链中。

关键在于在签名/验证公式中使用私钥的镜像。这些不是实际的密钥,这将大大有助于块链接膨胀,而是一个数字,这对应于每个私钥一对一(从密码散列函数确定性地派生)。密钥镜像不能用于导出私钥和公共地址,但是由于每个花费的密钥镜像都存储在块链中,所以网络将阻止任何重复。同样,创建密钥镜像的任何尝试都不会在交易验证过程中符合数学公式,并且将被拒绝。这样做的缺点是,无法识别任何企图用欺诈意图或由于软件或人为错误执行双重支出的人。然而,该系统将阻止这种尝试。

平等的工作量证明

CryptoNote 的工作量证明机制实际上是一个投票系统,用户投票选择正确的交易顺序,协议中的新功能和诚实的货币供应分配。重要的是,在表决过程中,每个参与者都具有相同的投票权。[19]大多数 CryptoNote 货币使用 CryptoNight [21]算法运行它们的块链并保护他们的网络,唯一的例外是 Boolberry。 CryptoNight 是一种工作验证算法,它将图形处理单元(GPU)和中央处理单元(CPU)挖矿组合在一起,以创建一个能够应用于专用集成电路(ASIC)和快速内存片上设备的系统。这是为了通过货币的生活创造更均匀的硬币分配。然而,有一些关于僵尸网络易感性的问题。

该算法包括:

  • Keccak海绵结构;
  • 具有随机查找(读写)的Scrypt-like 2 MB暂存器;
  • 64位乘法;
  • 高级加密标准(AES)加密
  • 哈希功能BLAKE,Grøstl,JH,Skein

自适应网络限制

CryptoNote 代码中没有硬编码的常量。 根据系统的历史数据调整每个网络限制,如最大块大小或最小费用金额。 此外,每个新块自动调整难度和最大块大小。[23]

哲学

CryptoNote 哲学基于隐私作为一项基本人权和平等主义。[24] 根据白皮书,CryptoNight 算法旨在使硬币坚持Satoshi Nakamoto的“一CPU一票”系统的原始愿景。 因此,在 CryptoNight 中,大多数加密货币中GPU的巨大优势都大大降低。 如果这是一件好事,那就不应该有争议。[25]

当前CryptoNote货币

CryptoNote平台已被用于几种加密货币。 CryptoNote基金会鼓励开发人员克隆该技术。 交易确认时间,硬币总数和工作验证逻辑可以在叉中进行更改。 已经进行了几次尝试来改变核心协议:Boolberry增加了地址别名,DigitalNote引入了私人消息。

Bytecoin(BCN)

Bytecoin(BCN)不被混淆Bitcoin(BTE)是2012年7月推出的 CryptoNote 协议的第一个实现。自推出以来,已经引入了多项改进措施,包括多重签名交易[26]和多项安全更新。在2013年,原来的 CryptoNote Java 实现被用 C ++ 重写了。[27]

Bytecoin 块链包含一些与货币转移无直接关系的额外信息:几个块包括大学的地理坐标,其他建筑物之间的教育设施。[28]自2012年8月11日起生成的块包含来自Cyphernomicon,William Gibson和其他作者的Neuromancer的引用。[29]

2015年3月31日Bytecoin开发商宣布了几个即将发布的版本的路线图。[30]其中还提到了以下改进:

  • 能够同时接收和发送数千个交易的支付网关
  • 桌面GUI加密钱包软件(几个星期后发布在2015年4月[31])
  • 几个API层与其他软件集成
  • 基于块链的别名系统
  • 基于块链的资产
  • 与嵌入式图灵完整语言的智能合同

Monero(XMR)

主要文章:Monero(cryptocurrency)

Monero [32]目前是所有冰球运动员中最知名的,并得到了社区的持续支持。[33] 2014年4月从Bytecoin分叉,它具有2分钟的阻挡目标和50%的排放速度。 Bitcoin核心开发商Gregory Maxwell,Peter Todd和Wladimir J. van der Laan都赞扬了Monero。[34]

随着monwallet Monero有许多GUI钱包应用程序以及2014年11月24日推出的MyMonero。Monero还与学术密码学家合作,[35]实施了一个广泛的混叠系统,OpenAlias,[36]部分资助的隐私解决方案整合I2P在Monero,[37]创建了一个匿名投票系统,URS,[38]并实施了Electrum的助记器种子。

守护钱包架构

与比特币不同,所有CryptoNote货币均具有网络节点和钱包的功能,分为两个独立的可执行文件:守护进程和简单程序。 Wladimir J. van der Laan写道:

“为了举一个例子,IMO:Monero的”simplewallet“是一个命令行实用工具,与节点软件进行通信,并记住它在链中的位置,并处理链条状态的变化最后一次调用时,它会刷新一下,什么是可以对一个节点守护进程运行任意数量的simplewallets,而不像bitcoind的钱包那样,它不需要像往常一样守护进程一样运行,当它可以被调用时用户想用钱包做某事,或者看看是否有新的交易。“比特币发展(2015年9月17日)。

区块膨胀和环形签名大小

CryptoNote中使用的环签名的种类与混合中使用的多个公钥线性增长。[39]确切的公式是{\ displaystyle S = 64n + 32} S = 64n + 32个字节,其中{\ displaystyle n} n是所述键的数量(包括发送方的密钥)。提出了一种较小尺寸的另一个环形签名,例如,Chandran签名大小与{\ displaystyle n} n的平方根成正比。当{\ displaystyle n} n相当大时,差异变得更加显着:在特定条件下,Chandran签名是4KB,而CryptoNote环签名是36KB [40]但是对于2015年,所提出的算法中没有一个实际上是以任何加密的方式实现的。

Boolberry的开发商,CryptoNote 的货币,提出了另一个解决方案,通过回去并实际修剪旧的签名从块链;然而,所述解决方案尚未实现。

然而,类似于比特币的简单支付验证仍然是可能的:用户可以避免运行完整节点并通过向网络查询交易的 Merkle 分支来保持整个块链。

起源

白皮书的作者以Nicolas van Saberhagen的名义,虽然像Satoshi Nakamoto(Bitcoin白皮书的作者)那个名字很可能是一个化名。 Saberhagen的真实身份和位置仍然未知。有些人声称真正的创造者是Bitcoin社区的人。 Adam Back,Nick Szabo,甚至Satakhi Nakamoto [41]自己已被浮起来作为可能的嫌疑人,[42]但实际上没有证据支持这些说法。

斯坦福比特币集团可能参与创建CryptoNote协议也已经被讨论过。[43]在CryptoNote加密协议之前,域cryptonote.org托管了一个加密的消息应用程序,也称为CryptoNote。[44]本应用程序由斯坦福大学比特币集团成员开发,但尚未得到广泛认可。该网站目前拥有CryptoNote技术。

硬币厂阴谋论

几个基于CryptoNote的硬币发布看起来非常相似,因为他们在bitcointalk.org论坛上的公告主题是由“新手”帐户创建的,并且共享类似的措辞,强调诸如“仅限CPU开采”和“ASIC抵制”的口号。此外,使用相同的文件共享服务进行发布。假设这种发射的唯一目的是赚取容易的钱,创造者不打算支持和开发这些分叉。[45]

白皮书的伪版

社区活动家发现了CryptoNote白皮书的修改版本,数字签名不对应于Nicolas van Saberhagen PGP密钥和丢失的PGP水印。[46] 这个事件已经归因于文件的伪造[47] [不可靠的来源]这个行动的可能目标是反驳自2012年以来CryptoNote的公开可用性的索赔,以获得竞争优势。[46] [可疑 - 讨论] [48] 修改白皮书包括5月份开始的讨论线程链接,2013年在 bitcointalk.org 论坛上,并已使用TeX Live软件在2013年发布,XMP date属性设置为2014年。

Bytecoin 和 Cicada

Bytecoin Tor 网站包含了一个隐藏的信息,引用了Cicada 3301.用户还注意到,Cicada 风格的图片被 Bytecoin 开发人员使用,或者被某人冒充他们。 Bytecoin 块链包含由多个消息组成的几个谜语。这些信息中的一个可能是暗语:“这是你应该给你的钥匙的人的名字,找到它 - 跟随你最近居住的土地上的小兔子。”[28]

编辑于 2017-10-01