Monero 技术详解(二):一次性地址
UTXO 模型中,通常每一笔 UTXO 的都显示地标示出该 UTXO 的所属者,所属者的标识符为地址。目前在绝大多数采用地址作为标识符的密码货币项目中,地址都是由公钥采用确定性压缩、编码得出,这样同一用户的不同交易会根据地址的确定唯一性而相关联。这一特性是隐私保护所极力避开的。
由于地址与公钥是通过编码建立对应关系,并且为了方便叙述,以下描述中可能用公钥来代替地址。
Monero 采用了一次性地址的方案来解决此问题。Monero 的做法是让用户掌握一确定、唯一的公私钥对。与其他项目类似,公钥对外公布。每次发送交易时,发送方根据接收方的地址,随机产生临时公钥来接收交易。由于临时公钥的随机性,交易接收方的不同交易之间的关联性被打破了。而拥有临时公钥对应私钥的接收方,可以用该临时私钥将来消费这笔 UTXO。
1. 基于椭圆曲线的一次性公钥
如比特币等使用的 ECDSA 方案,用户随机产生私钥,且令公钥
,其中
是椭圆曲线的基点(或称为生成元)。
组成签名功能最基本的密钥对。由于椭圆曲线上的点具有同态可加性(留意这个性质,后面的很多功能都依赖于这个特性而实现),在该密钥对上添加随机噪声项,从而获得一次性公私钥来用于真正的交易。
2. 随机噪声化的公私钥
用户 Bob 如上产生一公私钥对
。对外公布长期公钥
,当另一用户 Alice 向 Bob 发送交易(传递 UTXO)时,可选取随机数,并令一次性公钥
,Alice 讲交易发送到公钥
,同时随着交易数据,将随机数传递给 Bob。注意到
,对应的一次性私钥是
。之后 Alice 需要通过这个私钥来消费刚接收到的 UTXO。
很容易看出来,以上的一次性密钥对方案并不能隐藏接收者 Bob 的地址信息。因为直接暴露的随机数让所有的参与者都可以从 Bob 的一次性公钥
中恢复出长期公钥
。导致这一问题的根本原用是随机数在传递过程中的暴露。那么如何将以私密的方式传递给 Bob?Monero 使用 Diffie-Hellman 秘密交换协议。
3. DH 秘密传递随机噪声
Alice 将选择的随机数,并用 Bob 公布的公钥
对进行隐藏
,将隐藏的结果通过公开信道传递给 Bob (如附加于交易上链)。根据 DH 方案的原理,这时 Alice 和 Bob 已经共享了一秘密消息,公开信道上的其他用户却获取不到该消息,该为
。实际上,在 Alice 一侧,
;在 Bob 一侧,
。其他用户值看到,无法获取其中隐藏的。
这样 Alice 和 Bob 分享了一随机数
(虽然不是直接随机选择的随机数),让其替代上一节中的的位置,就可以解决上一节的问题了。但是此处一个需要解决的问题:
是椭圆曲线上的点,是二维向量。可以使用一安全的 Hash 函数
将椭圆曲线上的点映射到标量。一次性公钥方案是:
-
Alice 选取随机数,并令
,
,在将公开发送; -
Bob 获取到,按照
,比对对应的
,若一致,则说明该一次性地址属于自己,恢复一次性私钥
。
4. 剥离成两对密钥
想象下,在以上的方案中,Bob 需要观察每笔交易中的每个 UTXO 中的数据,来确定 UTXO 是否发送给自己。需要计算获得
,并比对该 UTXO 中
。在这种做法中,用户都只能自己计算
,因为计算需要长期私钥的参与。对于钱包终端用户,这种大量的计算会消耗大量终端资源。寻求一种可以代理观察 UTXO 并且不暴露长期私钥的方案。
Monero 的做法是分两组密钥,一组可以委托给钱包观察者,让其代为识别 UTXO,另一组用来真正的消费接受的 UTXO。
Bob 产生这样两对密钥
,
,分别被称为观察密钥(观察私钥+观察公钥)和消费密钥(消费私钥+消费公钥)。并且对外公布两个公钥
作为其使用地址(或经过必要的编码)。一次性公钥方案是:
-
Alice 选取随机数,并令
,
,在将公开发送; -
Bob 获取到,按照
,比对对应的
,若一致,则说明该一次性地址属于自己,恢复一次性私钥
。
5. 代理观察
Bob 将其观察密钥
交给一个代理人 Proxy。Proxy 没收到一笔 UTXO,都会计算
,比对对应的
,若一致,则将 UTXO 的数据全部发送给 Bob,Bob 记录该 UTXO,在需要消费该 UTXO 时,恢复一次性私钥
。
总之,在 Monero 种出现的地址或者公钥,基本都是一次性的。一次性地址的方案让每个 UTXO 都具有不同一次性地址,这样,即使不同的 UTXO 属于同一个接收人用户,也不会公开显示出来,消除了不同交易之间的关联性
本文作者:victorsun
来源链接:mp.weixin.qq.com
- 免责声明
- 世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
- 风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
- 世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。

币小葱



