网赚论坛

 找回密码
 免费注册
查看: 339|回复: 0
打印 上一主题 下一主题

未来的比特币客户端或许应具备的一项功能——数据加密

[复制链接]

18

主题

28

帖子

72

积分

Ⅰ级财主

Rank: 1

积分
72
跳转到指定楼层
楼主
发表于 2017-11-25 14:57:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
目前的比特币客户端只具有ECC加密算法中的签名功能,在支付环节确实可以解决无需第三方信任的功能。但是现实应用的场景中,在实际支付之前,有可能会有签订合同的过程。订立合同时,要约是必不可少的,有没有可能无需第三方认证,在确保要约内容的保密的前提下,既能确认要约内容的真实性,又能确认该要约确实是从合同当事人中的一方向另一方发起的呢?

借助Elliptic curve Diffie?Hellman密钥交换算法和对称密钥加密算法(比如AES256)可以实现这一点。

原理:
(0)A有私钥da和公钥Qa;B有私钥db和公钥Qb; A与B相互将自己的公钥(Qa、Qb)告知对方;
(1)A用自己的私钥da和B的公钥Qb相乘,得到(Xk, Yk),(Xk, Yk) = da * Qb,A将Xk作为对称式加密的密钥将要约文本进行加密:M = AES256_enc(text, Xk)。A将密文M发给B。
(2)B用自己的私钥db和A的公钥Qa相乘也能得到(Xk, Yk)。 (Xk, Yk) = db * Qa(因为Q = dG; da * Qb = da * (db * G) = db * (da * G) = db * Qa)。B用Xk作为对称式加密的密钥将要约文本进行解密得到要约的明文:text = AES256_dec(M, Xk)。

这种方法一是保证了要约内容在传输时是加密的,无法被他人非法窃取(假设用的是AES256,目前没有已知算法可以破解),同时,由于Xk必须通过A使用本人的私钥和B的公钥来计算,那么可以确定该要约必然是有A本人认可并主动向B发出的。 那么,当B收到从A发来的加密要约时,无需第三方认证,该数据本身已经证明了要约必然来自于A且确实是发给B的。

比特币的客户端中如果能集成这种加密功能,那么在未来交易处理合同纠纷时,能够直接出示无需第三方认证的证据。

PS:这一想法是刚刚想到的,放在这里先讨论一下,如果可行,稍后我附上一个具体实现的示例代码。
chehw2015.4.28
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

广告合作|Archiver|手机版|小黑屋|财富吧

GMT+8, 2026-7-18 16:04 , Processed in 0.124800 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.1

© 2014-2021 财富吧

快速回复 返回顶部 返回列表