安全生成以太坊ETH靓号钱包地址教程(GPU显卡加速无漏洞版)_RAK:Vanity Token

近期区块链领域黑客攻击事件频发,其中有一个很让Cocoa感兴趣的就是Wintermute钱包因靓号地址的问题损失约1.6亿美元,具体说来话长,可以参见慢雾的这篇分析。

0.背景简介

关于什么是靓号地址这里简单解释一下,以太坊钱包的地址是一个由0x开头40个随机字符的16进制字符串,比如V神的钱包地址就是0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B,很难记忆,也没有个性特色。

因此有人就别出心裁,通过暴力枚举的方式,试图找到好看的靓号地址,比如0x888888开头,或者为了节约合约部署的费用,使用0x00000开头的地址。

Profanity就是这样一个靓号地址生成工具。Profanity的特点就是使用了GPU,所以比其他工具更快地找到靓号地址。

8月加密风险投资额不足5亿美元,创两年半新低:金色财经报道,根据The Block Research的数据,8月份加密初创公司的风险投资额不足5亿美元,这标志着该领域的风险融资量连续第四个月下降,也是自2021年1月以来记录的最低月度融资量。

The Block Research最近的一份报告预计,今年第三季度该行业的风险融资水平将低于25亿美元,这将是自2020年第四季度以来最糟糕的一次。

加密初创公司的融资额在2022年第一季度为135亿美元。[2023/9/2 13:12:44]

总之,原项目因为存在漏洞,目前仓库已关闭,而且也不推荐使用,但发现漏洞的1inch帮人帮到底、送佛送上天,提供了船新版本的无漏洞Profanity2,继续满足大家的虚荣心。

Zero Hash任命Cyril Mathew担任其新总裁兼首席运营官:金色财经报道,加密基础设施提供商Zero Hash已任命Cyril Mathew担任其新总裁兼首席运营官,因为该公司希望在国际上扩张和发展。作为一名前大型科技开发人员,Cyril曾在Coinbase以及Meta(前身为Facebook)和Uber领导业务开发团队。最近,他担任支付处理商Stripe的业务开发和合作伙伴关系全球主管。(CoinDesk)[2023/3/28 13:31:36]

但个人感觉1inch安全功夫了得,文档水平太烂,Cocoa贵为期末考试满分的密码学小王子,都看了5分钟才理解到底怎么用。废话少说,以下就是使用教程。

1.编译代码

考虑到私钥的安全性,这类项目建议从官方源码编译使用,不过Profanity2有个创新改进,下面会提。

澳大利亚储备银行研究将稳定币作为数字货币替代形式的利弊:金色财经报道,澳大利亚储备银行行长Philip Lowe表示?,央行正在探索研究稳定币作为数字货币替代形式的利弊。我们也在研究另一种形式的数字澳元的优缺点,一种由私营部门发行的支付稳定币,就像银行发行存款一样。如果我们要朝这个方向前进,支付稳定币将需要得到强有力的监管制度的支持,就像适用于存款一样。[2022/12/14 21:44:44]

1inch这次提供的是Linux下编译的代码,在Windows下编译需要改一个地方,主要是把Dispatcher.cpp中的以下代码修改掉。

#include<arpa/inet.h>改成#include<Winsock2.h>

美国众议员再次提出《分叉资产安全港法》:金色财经报道,美国众议员Tom Emmer今天再次在国会引入了他提出的《分叉资产安全港法》。拟议的立法将禁止美国国税局(IRS)利用与分叉资产有关的处罚,直到其向纳税人发布进一步的指导。根据该法案,由于分叉(或加密货币网络分裂为两个不同链的事件)产生的个人加密货币收入将属于安全港范围,这意味着除非国税局提供额外的信息,否则不会构成应税事件。[2021/5/18 22:13:09]

另外还涉及到OpenCL的SDK以及编译环境搭建的问题,总之这里就假设你已经拿到了可执行程序。

2.本地生成密钥对

Profanity2的一大改进就是将原来直接生成私钥、再计算公钥的步骤,改成:

先生成密钥对然后把公钥A放到程序去跑,生成私钥B最后把私钥A和私钥B数学相加,得到私钥C这个私钥C对应的公钥C就是你想要的的靓号了。

其中的数学原理Cocoa还没深入研究,大致猜测就是先用一个安全可靠的工具生成密钥对,再通过程序暴力试出一个偏差量,使私钥加上这个偏差量可以导出靓号公钥。

这样的一个好处就是Profanity2可以交由第三方或者云端来运行,因为最终的私钥C,是由私钥A和私钥B相加得到的。

因此首先要生成私钥A和公钥A,官方提供了命令,在Linux下直接执行即可:

$opensslecparam-genkey-namesecp256k1-text-noout-outformDER|xxd-p-c1000|sed's/41534e31204f49443a20736563703235366b310a30740201010420/PrivateKey:/'|sed's/a00706052b8104000aa144034200/'$'nPublicKey:/'

上述命令执行完成后,屏幕上便会显示出PrivateKey和PublicKey,分别就是私钥A和公钥A,请注意私钥A一定要保管好。

3.使用公钥A去跑出私钥B

将上面步骤得到的PublicKey去掉开头的04也就是公钥A,放到Profanity2中去跑,命令如下:

profanity2--matchingc0c0aXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-z公钥A

稍等一会就会跑出来一个私钥B,过程和原版Profanity类似。

4.最终计算得到靓号地址对应的私钥C

拿到私钥B后,我们只要加上私钥A,即可得出最终靓号地址对应的私钥C了。

官方给了两个命令,分别是shell的和python的,因为我的kali好像没有bc,所以用了python的那个。其中私钥A记得前面加上0x。

(echo'ibase=16;obase=10'&&(echo'(PRIVATE_KEY_A+PRIVATE_KEY_B)%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F'|tr''''))|bc

$python3

hex((PRIVATE_KEY_A+PRIVATE_KEY_B)%0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F)

最后就得到一个0x开头的私钥C,导入metamask等钱包就可以看到我们的靓号地址啦。

附赠章节:漏洞原理简介

以太坊的私钥是32字节的,但是原版Profanity在生成这个256位的私钥时,仅采用了4字节的随机数作为伪随机数生成器的seed。

这是小弟第一篇区块链安全文章,欢迎各位大佬批评指教。我的twitter:@featherye

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:15ms0-3:444ms