首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我能用同样的私钥吗?

我能用同样的私钥吗?
EN

Ethereum用户
提问于 2016-06-25 07:40:04
回答 2查看 9.7K关注 0票数 25

比特币和以太私钥通常都是一个256位的数字,难道不可能在比特币钱包和电子账户中使用相同的私钥吗?

例如,比特币wiki声明

在比特币中,私钥通常是一个256位数字(一些较新的钱包可能使用128到512位),这可以用多种方式之一表示。以下是十六进制中的私钥- 256位,十六进制是32个字节,或者是0-9或A范围内的64个字符。E9 87 3D 79 C6 D8 7D C0 FB 6A 57 78 63 33 89 F4 45 32 13 30 3D A6 1F 20 BD 67 FC 23 3A A3 32 62

它(移除空白空间):

代码语言:javascript
复制
e9873d79c6d87dc0fb6a5778633389f4453213303da61f20bd67fc233aa33262

使用MyEtherWallet,我为Ethereum生成了相应的公钥:

代码语言:javascript
复制
0x60751Ab56d58781069b1C73064aD580dAde1F469

现在我看到不是每个256位数都是比特币的有效的ECDSA私钥.我能用同样的私钥吗?是否有一种从任何256位随机数生成ETH和BTC公钥的方便方法?

这将是将以太和比特币存储在同一个账户上的一种很酷的方式。有可能吗?

EN

回答 2

Ethereum用户

回答已采纳

发布于 2016-06-25 09:30:10

是的,两种密码硬币都使用相同的椭圆曲线SECP256K1。

也许更好的选择是使用BIP32 32钱包。您有一个不直接用于事务的主键,但它用于派生比可以使用的子键。

你可以为比特币和以太获得不同的密钥。您将始终能够使用主键对两个密钥的事务进行签名。

票数 25
EN

Ethereum用户

发布于 2020-03-29 08:55:53

四年后,自我回答了我自己的问题:是的!

我用Secp256k1:github.com/q9f/secp256k1.cr编写了一个实现

在这一过程中,我实现了比特币和Ethereum的密钥管理。相同的键区可用于检索比特币和电子邮件格式的地址:

生成一个压缩的比特币主网络地址:

代码语言:javascript
复制
key = Secp256k1::Keypair.new

btc = Secp256k1::Bitcoin::Account.new key
btc.address
# => "1Q1zbmPZtS2chwxpviqz6qHgoM8UUuviGN"

eth = Secp256k1::Ethereum::Account.new key
eth.address
# => "0x224008a0F3d3cB989c807F568c7f99Bf451328A6"

Github存储库包含更多的示例。有趣的好处:通过这种方式,你可以使用比特币钱包-导入格式(WIF)的Ethereum帐户,甚至迷你私钥。

票数 6
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/6520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档