说到比特币钱包,有部分投资者对其认知是比较模糊,其实比特币钱包对于长期囤比特币的投资者来说是非常重要的,比特币钱包可以让你同全世界的比特币用户进行交易,可以让你拥有专属的比特币地址,这些地址可以用来从其他人那里接收比特币,也可以用来向其他人支付比特币,那么,用比特币钱包怎么生成地址呢?下面币圈子小编就给大家详细说说用比特币钱包怎么生成地址?
用比特币钱包怎么生成地址?
通过随机选出256位二进制数字,形成私钥,然后通过加密函数来生成地址。这个生成方向是单向的。也就是你知道了地址是无法通过解密方法来计算出私钥的。就目前的人类计算机运算能力无法破解,你可以很放心地把地址公布到网上。
使用随机数发生器生成一个『私钥』。一般来说这是一个256bits的数,拥有了这串数字就可以对相应『钱包地址』中的比特币进行操作,所以必须被安全地保存起来。
私钥经过椭圆曲线加密算法(SECP256K1)算法处理生成了公钥,再通过SHA256、RIPEMD160等几种Hash算法计算得到BASE58编码前的钱包地址,这些过程是不可逆的。由公钥可以计算得到公钥哈希,而反过来是行不通的。
而使用BASE58(比特币定制版本),就得到了钱包地址,进行编码公钥哈希和钱包地址可以通过互逆运算进行转换,所以它们是等价的。
那么『私钥』、『公钥』、『钱包地址』间的关系是,通过『私钥』可以得到上述计算过程中所有的值,而钱包地址只能拿到公钥哈希。
讲完了钱包地址生成过程,回过头看,是甜蛋先转BTC过去的,那怎么使用私钥对交易进行签名,交易数据是由转出钱包的甜蛋A帐户所有者生成,也就是说有了私钥就可以花费该钱包的比特币余额。生成交易的过程如下:
1. 交易的原始数据包括“转账数额”和“转入钱包地址”,但是仅有这些是不够的,因为无法证明交易的生成者对“转出钱包地址”余额有动用的权利。所以需要用私钥对原始数据进行签名。
2. 生成“转出钱包公钥”,这一过程与生成钱包地址的第2步是一样的。
3. 将“转出签名”和“转出公钥”添加到原始交易数据中,生成了正式的交易数据,这样它就可以被广播到比特币网络进行转账了。
现在就到了公钥验证的时间,使用公钥对签名进行验证
交易数据被广播到比特币网络后,节点会对这个交易数据进行检验,其中就包括对签名的校验。如果校验正确,那么这笔余额就成功地从“转出钱包”转移到“转入钱包”了。
比特币钱包地址会变吗
比特币钱包地址会变,那么,在什么情况下比特币地址会改变?第一种情况是重新导入助记词,第二种情况是自己请求更新了新地址,如下图所示
因为比特币独特的交易构造,理论上来说用户在每转一次账时,地址都会重新更新一次。这么做的原因是为了保证足够高的匿名性和安全性。
以AToken为例,当用户在AToken创建钱包时,AToken会为用户生成200个BTC地址,供用户使用。很多细心的用户会发现,在创建新钱包时,BTC的地址是显示的两个;但是当重新导入助记词时,BTC的地址就变多了,可能是40个,可能是200个。
还是那句话,地址的变换是比特币特有的交易结构,目的是保证交易的随机性,匿名性和不可追溯等特点。
很多用户一不小心点了更新地址,缺发现之前的地址找不着了,因此非常着急,下面小编将告诉大家如何找回原来的地址。
以上就是币圈子小编对用比特币钱包怎么生成地址这个问题的解答。最后币圈子小编提醒投资者,比特币钱包的核心功能就是保护你的密钥,密钥即一切,如不慎弄丢钱包,便会永远失去这笔比特币,所以,投资者需要小心妥善保管钱包,不在自己的计算机或者手机APP中存储大量比特币,因为这样丢失的风险太高,病毒、木马、硬件损坏、手机丢失等均会造成无法挽救的损失。