csdn_spider/blog/ds19991999/原创-- 了解门罗币.md

9.3 KiB
Raw Blame History

原创

了解门罗币

了解门罗币

参考:
1.《区块链教程》
2. what is monero

根据 Monero门罗 官网: Monero 是一个安全,隐私和不可追踪的加密货币。通过使用密码学中一种特殊的方法,门罗确保了所有交易保持 100% 的不可关联和不可追溯性(unlinkable and untraceable)。

尽管 bytecoin 十分有前景,但是人们也注意到发生了很多负面的事情,并且鉴于它已经产出了 80% 的币。所以,决定将 bytocin 分叉,新链上的币叫做 Bitmonero最终被重新命名为 Monero门罗在世界语Esperanto中叫做“coin”硬币的意思。门罗的出块时间为两分钟。

门罗由一个 7 人的开发者团队领导,其中 5 人匿名,另 2 人已公开。他们是 David Latapie 和 Riccardo Spagni aka “Fluffypony”。项目是开源众筹的形式进行。

门罗的特别之处

门罗采用CrytoNote算法使得它具有以下几个特性。

加密货币中理想的可替代性是什么?

bitcoin 为例它引以为豪的一点就是比特币是开放的账本但是这也意味着每个人都可以看到里面的每一笔交易更重要的是每个人都可以看到交易的踪迹。简单来说如果你拥有一个曾经用于某个非法交易的比特币比如购买毒品那么它的交易细节里面将会永远有这样的印记。实际上这“污染taint”了你的比特币。 在某些比特币服务提供商和交易所中这些“被污染”的币与“干净的”币永远都不会被一视同仁。这就泯灭了可替换性fungibility这也是比特币经常为人所诟病的一点。毕竟为什么别人做了错事需要你来买单呢

于是门罗诞生了。由于所有数据和交易都是不公开的,没有人能够知道你的门罗币在之前经历了哪些交易,也无法知道你的门罗币会用来购买什么。

加密货币交易的工作方式

假设 Alice 需要给 Bob 发送一些比特币,交易看起来是怎样的?

交易输入

每个币都来源于之前的交易。所以Alice 可以将之前交易的输出作为新交易的输入。Alice 需要从下列交易从获得输入,比如 TX(0), TX(1) 和 TX(2)。这三笔交易会被一起包含到这笔交易,并有一个交易输出 TX(Input)。

交易输出

输出就是 Bob 可以在之后交易花费的钱,也可能会出现找零,找零会返回给 Alice。找零会成为 Alice 未来任意交易的输入。

有了公钥加密以后,比特币交易才成为可能。为了对它有一个基本的理解,请看下图:

比特币用户首先选择私钥,公钥由私钥衍生而来。将公钥进行哈希得到一个公开的地址公布出去。如果 Alice 要给 Bob 发送 BTCAlice 直接给 Bob 公开的地址发送即可。

门罗团队给出的“电子现金三角Electronic cash triangle

正如他们所说,一个理想的电子现金应该满足三个前提:电子的、去中心化的、隐私的

门罗背后的哲学就是完全隐私和不透明性。发送方隐私由环签名Ring Signature实现。

门罗密码学

Ring Signatures

环签名,简单来说就是交易过程中把几个人签名混合在一起,然后得到一个独一无二的签名,这样就没人知道这个签名是否是你本人的。

假设Alice 发送 1000 XMR(XMR 即门罗币) 给 Bob系统会如何使用环签名来隐藏她的身份

首先Alice 会确认她的“ring size环大小”。ring size 是取自区块链的随机输出,它等于 Alice 的输出值,即 1000 XMR。ring size 越大,交易越大,继而交易费越高。然后,她用 private spend key 对输出进行签名并发给到区块链。另一点要注意的是Alice 不需要向之前交易的所有者发送请求来使用这些输出。

假设 Alice 选择的 ring size 为 5 ,也就是说 4 个 decoy output诱骗输出 和它自己的交易,从外面看起来就像这样:

在一个环签名交易中,任意一个 decoy 就像真实输出一样,因为任何不相关的第三方(包括矿工)都无法知道发送方是谁。

防止双花:

矿工要做的一个重要的事情就是防止“双花”。双花就是指在同一时间,同一笔钱出现在两笔,甚至更多的交易中。双花被矿工所解决。在一个区块链中,只有当矿工将交易包含在区块并出块,交易才算完成。假设 A 打算给 B 发送一个比特币,然后它发送同样一个币给 C矿工会把其中一笔交易放到块里并在处理过程中覆盖另一笔交易防止双花。但是在门罗中由于环签名这些都是不可见的。那么要如何防止双花呢

门罗的每一笔交易都有它自己的唯一的密钥镜像key image,鉴于密钥镜像对于每个交易都是不同的,矿工就可以非常容易地检测,判断是否双花。

stealth address

门罗的最大一个卖点就是交易的不可关联性unlinkability。基本上如果有人发送给你 200 XMR应该没有人知道这笔钱是发送给你的。如果 Alice 要给 Bob 发送门罗币,除了 Alice应该没人任何人知道 Bob 就是这笔钱的接收者。

门罗要如何保证 Bob 的隐私?

Bob 有两个 public keypublic view key 和 public send key。为了推进交易Alice 的钱包会用 Bob 的 public view key 和 public send key 来生成一次性独一无二的 public key。

one-time public key P 的计算方式: P=H(rA)G+B

 P


 =


 H


 (


 r


 A


 )


 G


 +


 B

其中:

由这种方法生成一次性公钥然后再生成在区块链里一次性的公开地址这样的地址就叫做“stealth address”Alice 就通过它给 Bob 发送门罗币。现在Bob 要如何从数据的随机分布中解锁收到的门罗币呢?

Bob 也有一个 private spend key。private spend key 就是用来帮助 Bob 扫描区块链找到他的相关交易。当 Bob 找到这笔交易,他可以通过一个 private key 取回他的门罗币,这个 private key 与一次性的 public key 相关。因此 Alice 付给 Bob 门罗币,无人知晓。

key image

计算方式: I=xH(P)

 I


 =


 x


 H


 (


 P


 )

从 key image “I” 计算出一次性的 public address P 十分困难(这是密码学哈希函数的一个属性,正着算很容易,反推很难),因此 Alice 的身份永远也不会暴露。

当 P 被哈希的时候,永远都会返回同一个值,意味着 H(P) 也总是同一个值。既然 x 的值对于 Alice 来说是个常数,她也就是永远也无法生成多个 I 值。这使得 key image 对于每一笔交易都是不同的。

Ring Confidential Transactions

基于 Gergory Maxwell 的研究实现了 Ring CTRing CT保证了交易本身的匿名性它在链上隐藏了交易的数额。这也意味着所有的交易输入都不需要再被拆分为已知的面额钱包现在可以从任意的 Ring CT 输出中选择 ring 成员。

环形加密技术的基础仍旧是与比特币一样的基于Hash值的公钥+私钥加解机制。只是比特币是用接受者的公钥加密,接受者用与之配对的私钥解密验证。而环形加密则使用了多个公钥进行加密,并用接受者的私钥进行解密验证。

Kovri and I2P

I2P 是一个路由系统它能够让应用秘密地互相发送信息而无须任何外部干涉。Kovri 是 I2P 的 C++ 实现,它也会被集成到门罗里面。Kovri 将会隐藏你的网络流量,如此一来,被动的网络监控就根本不会暴露你正在使用门罗。为此,你的所有门罗流量将会被加密并通过 I2P 节点路由。节点就像瞎的看门人,它们会知道你的信息通过,但是不知道这些去向哪儿以及信息的具体内容

门罗价值和市值

目前XMR流通市值$1,522,148,966流通量16,335,709 XMR每个XMR¥637占全球总市场0.7%排名10。门罗总量为 1840 万,挖矿奖励会持续到 2022 年 5 月 31。之后系统设定为 0.3 XMR/min 的奖励。这是为了矿工能过持续的激励挖矿,而不仅仅依赖于交易费,毕竟门罗已经被挖完了。

门罗的优势与劣势

优势

劣势

毫无疑问,未来会更加开放和去中心化,门罗也会因其隐私性而越具吸引力。特别有趣之处在于,它是少数几个不是基于比特币的币,却是同时有着真正价值的“潜力股”。对门罗来说,随着它已经经历了惊人的增长,未来依旧光明一片。当实现 Kovri 以后,相信一切会变得更加有趣.

相关链接:cryptonote系统monero了解门罗币