learn me a monero

门罗币究竟是如何运作的——讲解得让从未翻开过密码学教科书的人也能看懂。

谁发送的? 环签名 → FCMP++ 谁收到的? 一次性 (隐身)地址 金额多少? Pedersen 承诺 + Bulletproofs+ 合在一起 = RingCT(现在)→ FCMP++(即将到来)
门罗币隐藏了在比特币中人人可见的三样东西。每一样都有各自的技术。

从哪里开始?

本站分为四个部分:

  • 入门——没有公式的简单讲解。如果你从未听说过门罗币,从这里开始。
  • 技术——内部原理:密钥、地址、签名、承诺、RingCT 和 FCMP++。有公式,但每一个都会一步步拆解。
  • 实践——钱包、助记词、保持匿名、运行自己的节点、在哪里购买、与其他币的比较、资源。
  • 工具——在浏览器中运行的实时计算器:生成密钥和地址、构造一次性地址、相加 Pedersen 承诺、查看诱饵是如何选取的。

为什么做这个网站?

比特币有很多出色的通俗讲解。而门罗币主要只有研究论文、C++ 源代码和默认你什么都懂的开发者讨论。在“门罗币是一种隐私币”和“CLSAG 是一种简洁可关联自发匿名群签名”之间,横亘着一道鸿沟。

本站试图在这道鸿沟上架起一座桥。每个主题先讲为什么,再讲怎么做,最后才给出公式。全站的图示使用统一的配色:

  • 红色——私钥和秘密(不应让任何其他人看到);
  • 青色——公钥和曲线上的点(所有人都能看到);
  • 紫色——key image(已花费输出的指纹);
  • 绿色——金额和承诺;
  • 黄色——哈希。
一切都可验证

本站的工具使用与真实门罗币钱包相同的数学(Keccak-256、Ed25519、门罗币 Base58),并已与参考实现进行过对照验证。代码量很小,没有依赖,位于 xmrcrypto.js。不过它是教学代码:不要用它来存放真金白银。