区块链地址用几行代码就能生成无数个,那能不能写个程序疯狂随机生成地址,碰巧撞到别人钱包把钱偷走?
假设现在有个大哥钱包里有 100 个比特币(大概价值一千万美元),但他把私钥丢了。理论上说,这些比特币还在链上,只要有人"碰巧"生成了同样的私钥或地址,就能把钱拿走。Oln比特币实时行情与区块链市场分析平台-好币网
那么问题来了:我能不能写个程序,疯狂生成随机地址,碰碰运气,说不定就撞到一个有钱的地址了呢?Oln比特币实时行情与区块链市场分析平台-好币网
什么是"地址碰撞"?
通俗解释
想象一下:Oln比特币实时行情与区块链市场分析平台-好币网
- 全世界有 10^48 个储物柜(这是 1 后面跟 48 个零)
- 其中大概有 1 亿个储物柜里放着钱
- 你现在要随机猜一个柜子编号,看看能不能中奖
这就是区块链的"地址碰撞"——随机生成地址,期望碰撞到一个有余额的地址。Oln比特币实时行情与区块链市场分析平台-好币网
区块链地址是怎么来的?
简化版流程:Oln比特币实时行情与区块链市场分析平台-好币网
1. 生成一个随机数(私钥)Oln比特币实时行情与区块链市场分析平台-好币网
2. 用数学公式算出公钥Oln比特币实时行情与区块链市场分析平台-好币网
3. 对公钥做哈希,得到地址Oln比特币实时行情与区块链市场分析平台-好币网
就这么简单!一个地址就出来了。Oln比特币实时行情与区块链市场分析平台-好币网
动手试试:10 行代码生成钱包地址
第一步:安装工具
Oln比特币实时行情与区块链市场分析平台-好币网
第二步:写代码
新建一个文件「 create-wallet.js 」:Oln比特币实时行情与区块链市场分析平台-好币网
Oln比特币实时行情与区块链市场分析平台-好币网
第三步:运行
Oln比特币实时行情与区块链市场分析平台-好币网
输出类似:Oln比特币实时行情与区块链市场分析平台-好币网
Oln比特币实时行情与区块链市场分析平台-好币网
就这样!你已经生成了一个钱包地址。