当前位置:首页 > 知识 >

区块链学习系列之一:比特币安全使用密钥

在一个交易中,发送者和接收者都会相互泄露自己的公钥或地址,这意味着其他使用相同公钥和地址的人可以跟踪他们的现在和将来的交易记录。如果经常使用同一个公钥并且有人使用比特币地址那么其他人很容易跟踪他的花费和收入习惯,包括他有多少比特币。

但其实并不必须这样做,因为只要每个公钥使用两次,一次是接收比特币,一次是花掉它,用户就可以获得大量财务隐私。更好的做法是,在接收支付时使用一个新的公钥或唯一地址,或使用CoinJoin技术和Mergeavoidance创建找零输出,这样就难以使用区块链来跟踪用户支付或接收比特币了。

避免重用密钥还可以提高安全性,防止攻击者从公钥或签名比较中重建私钥。唯一的非重用的P2PKH或P2SH地址通过隐藏公钥防止第一个类型的攻击,直到这个地址上的比特币被花费出去。如果无法在一两个小时之内从公钥重建私钥,那么该攻击也将无用,因为比特币已经被花出去且无法在区块链上修改。唯一的非重用的私钥进行一次签名以防止第二种类型的攻击,攻击者无法得到这个私钥第二次签名的结果,从而无法使用基于比较的攻击。

因此,从隐私和安全的角度来看,我们建议创建的应用程序避免密钥重用,并在可能的情况下劝阻其他人不要地址重用。如果应用需要提供一个固定的URI来收款,请查看bitcoin:URI部分。

猜你喜欢

关注我们

微信二维码

微信