币圈知识之如何用比特币私钥创建以太坊地址

  发布时间:2024-04-18 16:10:01   作者:手工客  
币圈知识之如何用比特币私钥创建以太坊地址,在区块链的钱包中,私钥可以产生出公钥,而反过来要想从公钥推算出私钥则是不可能的。用公钥加密的信息可以用私钥来解密,而用私钥签名的信息则由公钥来验证,验证通过后才能证明该

币圈知识之如何用比特币私钥创建以太坊地址,在区块链的钱包中,私钥可以产生出公钥,而反过来要想从公钥推算出私钥则是不可能的。用公钥加密的信息可以用私钥来解密,而用私钥签名的信息则由公钥来验证,验证通过后才能证明该信息确实为私钥持有人所发布。以 BTC 为例的话,在这个过程中最重要的角色的就是" 椭圆曲线加密算法"。

有些人会以为 BTC 跟 ETH 是不同的链所以用的椭圆曲线并不相同,但事实上两个链使用的都是相同的 secp256k1 曲线,所以获得公钥的方式完全一样,差别在从公钥生成地址的过程,接下来我们会先介绍如何安全的生成私钥,然后说明 ETH 如何从地址验证由私钥生成的公钥。

私钥的规格

私钥必须为正整数且必须小于 secp256k1 曲线的阶 (secp256k1 的阶为FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141),每个点可由一组 256位代表,而 256 位正好是 32 个字节,所以我们需要提供这个曲线算法 32 个字节的数据。

换句话说,BTC 及 ETH的私钥都是一组 32 字节的字符串,但它也可以是二进制字符串、Base64字符串、WIF 密钥、助记码( mnemonic phrase )、十六进制字符串。

币圈知识之如何用比特币私钥创建以太坊地址

安全的私钥生成

既然都知道他们使用的是同一条曲线,那我们其实就可以使用 BTC 社群比较信任的 bitaddress.org 来生成我们的私钥,(用 MEW 或 Metamask 也都是不错的选择,至少他可以不是一串裸露在外的私钥),但如果有良好安全意识的话,我们甚至不应该用浏览器来生成我们重要的私钥 (可以看看 Reddit 上的讨论),所以我们将用 python 设计一个更简单的 bitaddress。

了解 Bitaddress原理

Bitaddress 做了三件事情。首先,初始化字节数组,然后尝试从用户的计算机获得尽可能多的熵,根据用户的输入填满数组,最后生成私钥。

Bitaddress 使用 256 字节的数组来存储熵。这个数组是被循环覆写的,所以当数组第一次填满时,索引变为零,然后覆写过程再次开始。

程序从 window.crypto 生成一个 256 字节的数组。然后写入一个时间戳来获得 4 个字节的熵。在这之后,它获得一些其他的数据包括屏幕大小,时区,浏览器扩充套件,地区等。来获得另外 6 个字节。

初始化后,使用者持续输入来覆写初始字节。当移动光标时,程序会写入光标的位置。当按下按钮时,程序会写入按下的按钮的字符代码。

最后,bitaddress 使用累积的熵来生成私钥。bitaddress 使用名为 ARC4 的 RNG算法。用当前时间以及收集的熵初始化ARC4,然后逐个取得字节,总共取 32 次。

初始化我们自己的种子池

我们从加密 RNG 和时间戳中写入一些字节。__seed_int 以及__seed_byte是将熵插入池的数组中的两个函式,而我们使用secrets生成我们的随机数。

币圈知识之如何用比特币私钥创建以太坊地址

由输入填充种子池

这里我们先写入一个时间戳,然后写入用户输入的字符串。

币圈知识之如何用比特币私钥创建以太坊地址

生成私钥

首先使用我们的池生成 32 位的数字,并确保我们的私钥在范围内(1, CURVE_ORDER),然后为了方便,我们转为十六进制并删除 0x 的部分。

币圈知识之如何用比特币私钥创建以太坊地址

生成ETH公钥

将我们刚刚的私钥代入椭圆曲线,我们会得到一个 64 字节的整数,它是两个 32 字节的整数,代表椭圆曲线上连接在一起的 X 点和 Y 点。

币圈知识之如何用比特币私钥创建以太坊地址

校验和 (ERC-55)

比特币通过将公钥哈希后并获得回传值的前 4 个字节来创建校验和,如果不添加校验和则无法获得有效地址。

但以太坊一开始并没有校验和机制来验证公钥的完整性。直到 Vitalik Buterin 在 2016 年时引入了校验和机制,也就是 EIP-55,并且后来被各家钱包和交易所采用。

将校验和添加到以太坊钱包地址使其区分大小写

首先,获得地址的 Keccak-256 哈希值。需要注意的是,将此地址传递至哈希函数时不能有0x的部分。

其次,依序迭代初始地址的字节。如果哈希值的第 i 个字节大于或等于 8,则将第 i 个地址的字符转换为大写,否则将其保留为小写。

最后,在回传的字符串开头加回0x。如果忽略大小写,校验和地址会与初始地址相同。但使用大写字母的地址让任何人都能检验地址是否有效。

此校验和有几个好处:

1. 向后兼容许多接受混合大小写的十六进制解析器,将来也能轻松引入;

2. 保持长度为 40 个字符;

3. 平均每个地址将有 15 个校验位,如果输入错误,随机生成的地址意外通过检查的净概率将为0.0247%,虽然不如 4 字节的校验代码好,但比 ICAP 提高了约 50 倍;

币圈知识之如何用比特币私钥创建以太坊地址

总结

为以太坊创建钱包地址相较于比特币简单得多。我们需要做的就只是将私钥丢到椭圆曲线,然后再把得到的公钥丢到Keccak-256,最后撷取该哈希值的后面 20 个字节。

相关文章

  • 以太坊app极速版免费下载_以太坊app免费下载

    以太坊app极速版免费下载_以太坊app免费下载

    以太坊app极速版免费下载_以太坊app免费下载
    01-11
  • 以太坊公链搭建怎么设置?以太坊公链搭建教程(附图)

    以太坊公链搭建怎么设置?以太坊公链搭建教程(附图)

    本文配置的为windows下的VMware软件下搭建的Linux下的cent0S-7系统,推荐系统有CentOS 7和Ubuntu 16 04有条件的可以用云服务器上的Linux系统,好处是可以搭建广域网联盟链。
    12-18
  • 以太币交易平台有哪些?常用以太币交易平台介绍

    以太币交易平台有哪些?常用以太币交易平台介绍

    我们都知道投资虚拟币,选对一个平台是非常关键的,毕竟平台的不稳定性是投资过程中最大的风险之一,万一找了一个不靠谱的平台,可能会血本无归,下面就来给大家介绍介绍常用的以太币。中国对在线借贷信息中介的监管是一个单
    11-16
  • snt是什么币?snt币交易平台、官网和总量多少

    snt是什么币?snt币交易平台、官网和总量多少

    数字货币statussnt币交易平台,数字币status币交易平台官网价格行情介绍:虚拟币statussnt是什么币?SNT币(StatusNetworkToken)是以太坊Status代币的简称。Status是一个开源的聊天平台和支持以太坊上面
    05-10
  • 以太币(Ethereum)官网、钱包、矿池及交易平台全方位介绍

    以太币(Ethereum)官网、钱包、矿池及交易平台全方位介绍

    以太坊的目的是基于脚本、竞争币和链上元协议(on-chain meta-protocol)概念进行整合和提高,使得开发者能够创建任意的基于共识的、可扩展的、标准化的、特性完备的、易于开发的和协同的应用。以太坊通过建立终极的抽
    09-11
  • 以太坊钱包怎么赚钱?以太坊钱包2024最新赚钱方法

    以太坊钱包怎么赚钱?以太坊钱包2024最新赚钱方法

    以太坊是一个开放源代码的公共区块链平台,具备智能合约功能。该平台使用自己的加密货币以太币(ETH),通过去中心化的以太虚拟机实现点对点合约的处理。以太坊的智能合约功能使得开发者可以构建和部署各种去中心化应用程序(DApps),这些应用程序可以在以太坊网络上运行。以太坊的核心技术是基于区块链技术,通过区块链上的分布式节点进行验证和记录交易。以太坊的开放性和智能合约功能为开发者和用户提供了更多的创新空间和灵活性。
    06-12
  • 以太经典etc币是什么?etc发行总量、官网及白皮书介绍

    以太经典etc币是什么?etc发行总量、官网及白皮书介绍

    1 什么是以太经典?ETC(Ethereum Classic)是以太坊在1,920,000个块后硬分叉出的分叉币种,功能和以太坊极为类似。ETC秉承去中心化理念,支持区块链保证的共识机制。ETC坚信,区块链一旦开始运行,它的发展方向就不被任何中心
    03-08
  • 以太经典是主流币吗?有投资价值吗?

    以太经典是主流币吗?有投资价值吗?

    随着以太坊的价格变动,以太经典的价格也在随之变动,尤其是2023年5月,以太经典一举创造了新的历史最高价,因此很多投资者都想要购买以太经典,不过对于投资者来说,想要在币圈安稳,选择主流币投资最为安全,所以在投资以太经典之前
    04-02
  • 以太坊国内可以交易吗?以太坊国内如何购买?

    以太坊国内可以交易吗?以太坊国内如何购买?

    根据行情数据显示,ETH短线上涨,突破590美元关口,现报595 38美元,日内涨幅达到0 11%,也正是因为如此数据,对于以太坊感兴趣的投资者越来越多,其中包含了很多国内的投资者,而对于这类的投资者来说,最需要弄懂的问
    06-09
  • 以太经典可以涨到多少钱?2023年以太经典价格未来预测

    以太经典可以涨到多少钱?2023年以太经典价格未来预测

    目前,以太经典市值7 21亿,占全球总市值0 26%,流通量为1 163亿,在虚拟货币排名中是前20名的存在,自以太经典也就是ETC发行至今,历史最高价是47 7747美元,那么,以太经典可以涨到多少钱?
    10-20
  • ICE是什么币?ICE币价格、官网总量和交易平台介绍

    ICE是什么币?ICE币价格、官网总量和交易平台介绍

    iDice(简称ICE)是基于以太坊区块链的令牌。一个ICE币的最实际价格是$ 0 002667。ICE币在1个交易所上市,共有1个活跃市场,ICE币24小时交易量为$ 2 35,而iDice市值为$ 4 189 00,在所有加密货币中排名第0。全球排名第一的最受欢迎的以太坊赌场赌博游戏。欢迎使用iDice。我们为以太玩家提供各种游戏,例如我们著名的骰子游戏!
    10-04
微信 投稿 脚本任务 在线工具