区块广播:

请教大神,3开头btc地址和普通1开头的有啥区别?

悟空水手发布在 技术交流
 5215  41
  • 正序
  • 最新
只看帖主楼层直达
  • BurntCoins 版主 2019-02-12 15:31:15 来自PC17楼

    悟空 发表于 2019-2-12 15:00

    多谢大神。还想请问:1、现在的core客户端生成wallet文件,wallet.dat是放在一个子文件夹里的,需要整个子 …

    如果用importprivkey命令导入压缩私钥(SW规定公钥必须压缩;WIF私钥是用一个字节标记区分是否要

    压缩公钥的),就可以看到Core钱包会自动生成三个地址:1开头的P2PKH地址、3开头的P2SH-P2WPKH

    地址(“兼容SW地址”)、bc1开头的P2WPKH地址(“原生SW地址”)。

    这三种地址都可以在图形界面上正常收发币。

    实际上Core钱包是同时监控着1开头的P2PKH、3开头的P2SH-P2WPKH、bc1开头的P2WKH三种地址的,

    哪怕表面上没显示出来。

  • BurntCoins 版主 2019-02-12 15:35:05 来自PC18楼
    3开头地址是P2SH,币之前是“发到脚本的哈希上”的,所以很显然需要把脚本原文(redeemScript)拿出来,才知道需要满足什么条件才能花这笔钱。
    只有用控制台命令对原始交易数据签名的时候才会面对这个问题。
    而且从3开头的SW地址(P2SH-P2WPKH)发币,貌似并不需要手动指定这个。
  • 悟空 水手 2019-02-12 15:49:09 来自PC19楼
    BurntCoins发表于2019-02-12 15:27:20> 悟空 发表于 2019-2-12 15:00 多谢大神。还想请问:1、现在的core客户端生成wallet文件,wallet.dat是放在一个子文件夹里的,需要整个子 ...

    1.只用备份wallet.dat就可以了。钱包图形界面里就有啊,“文件”菜单里有备份钱包,不用你自己去找。
    其他的数据,你也可以备份,不过只是起到方便的作用,毕竟重新下载200多GB的区块还是挺难受的,哈哈。
    注意:启用修剪只是一边下载新的区块一边删掉旧的,不能避免下载旧区块,也不是白皮书的“剪枝”。

    2.我只知道Core钱包的HD是hardened deviation,不能导出xpub主公钥,所以光是从这一点上Core钱包就
    很难做冷热分离。
    想要HD主私钥,可以用dumpwallet命令导出文本,里面有,不过你顶多把这个当作后备,不要太依赖它
    (而且还得考虑额外的泄露风险)。
    注意有些时候是会生成新HD主私钥的,比如启用加密、从非HD升级到HD(用-upgradewallet参数
    重启钱包)等。而且导入的单个地址私钥很显然也不在HD的覆盖范围之内。

    3.在Core钱包的控制台里,可以用getnewaddress “标签” "legacy"这个命令来得到1开头的老式(P2PKH)
    地址。
    如果修改bitcoin.conf配置,或者修改bitcoin-qt.exe的启动参数,加上-addresstype=legacy,
    那钱包默认生成的就都是1开头的地址了。

    天哪,好复杂。
    本来以为导出一个私钥最安全、最简单,因为之前因为保存了wallet文件忘记密码丢币(不多),还有就是之前保存的qt钱包的wallet在最新的core里面居然打不开,所以有所顾忌。按照你的说法HD钱包我导出私钥也不安全了,因为不知道是不是主私钥,不过也无所谓了,只要每次备份wallet和私钥,应该就没问题了?
    另外请教下,我按这样流程储存比特币有么有问题:
    1、在一台新电脑上安装core客户端,离线产生3开头的地址,然后保存wallet.dat文件(同时导出私钥)。这台电脑保持离线。
    2、往这个3开头的地址转比特币。
    3、当我需要使用的时候,用保存的wallet文件在另外一台同步了core客户端的电脑上打开,确保一次性使用,或者把剩余的钱再次转到离线电脑生成一个新的地址和钱包,备份。

    多谢大神。
    楼层直达
  • xyz001 副船长 2019-02-12 15:50:36 来自App20楼
    到账时间一样不?
  • BurntCoins 版主 2019-02-12 15:59:43 来自PC21楼
    xyz001 发表于 2019-2-12 15:50 到账时间一样不?
    一样。
    不过从SW地址发币是有折扣的,所以在有拥堵的时候用更少的手续费就能“插队”到更靠前的位置。
    楼层直达
  • BurntCoins 版主 2019-02-12 16:05:25 来自PC22楼
    悟空 发表于 2019-2-12 15:49 天哪,好复杂。本来以为导出一个私钥最安全、最简单,因为之前因为保存了wallet文件忘记密码丢币(不多), ...
    Core钱包没有自带冷热分离功能。 想搞的话就需要折腾命令行了……麻烦且容易犯错。
    你可以用Armory、Electrum、比太这些支持冷热分离的钱包。Armory本来就是对接全节点的。Electrum可以用Electrum Personal Server对接Core全节点。
    不过Armory貌似设置比较麻烦,需要手动改配置(satoshi-datadir指定到Bitcoin Core的区块存储目录,就是blocks),而且它自己也要扫区块,要扫很久才能用。
    楼层直达
  • 悟空 水手 2019-02-12 16:19:31 来自PC23楼
    BurntCoins发表于2019-02-12 16:05:25 Core钱包没有自带冷热分离功能。 想搞的话就需要折腾命令行了……麻烦且容易犯错。 你可以用Armory、Electrum、比太这些支持冷热分离的钱包。Armory本来就是对接全节点的。Electrum可以用Electrum Personal Server对接Core全节点。 不过Armory貌似设置比较麻烦,需要手动改配置(satoshi-datadir指定到Bitcoin Core的区块存储目录,就是blocks),而且它自己也要扫区块,要扫很久才能用。
    好的,感觉都挺折腾啊,这可能也是比特币推广慢的原因。。。。。。

    那像我上面说的,用离线电脑生成3开头的地址,往里面转比特币,然后保存wallet;需要使用的时候整个wallet搬到联网电脑,应该也是可行的?
    楼层直达
  • BurntCoins 版主 2019-02-12 16:21:04 来自PC24楼
    悟空 发表于 2019-2-12 16:19 好的,感觉都挺折腾啊,这可能也是比特币推广慢的原因。。。。。。那像我上面说的,用离线电脑生成3开头的 ...
    把wallet.dat搬到联网电脑,不就触网了嘛……如果那台电脑被黑了,那黑客就可以偷币了。
    楼层直达
  • BurntCoins 版主 2019-02-12 16:31:36 来自PC25楼

    悟空 发表于 2019-2-12 16:19

    好的,感觉都挺折腾啊,这可能也是比特币推广慢的原因。。。。。。那像我上面说的,用离线电脑生成3开头的 …

    一般冷热分离钱包,是联网的热钱包负责监控余额、生成未签名交易、广播已签名交易。断网的冷钱包

    负责生成私钥、检查交易信息、对交易签名。

    (实际上还可以更灵活一些:把收款交易导入给冷钱包,然后冷钱包端自己也可以生成交易、然后签名)

    Core钱包只支持监控余额,图形界面既不支持从监控地址生成未签名交易,也不支持对原始交易进行签名。

    需要先listunspent列出可以动用的币(UTXO),然后命令行createrawtransaction

    (一不小心犯错就是巨额矿工费,要上新闻了);然后需要命令行signrawtransactionwithkey或

    signrawtransactionwithwallet(需要输入 raw transaction和被花费的UTXO信息)。

    如果想多重签名,那还得记得一开始createmultisig生成的redeemScript。

  • 悟空 水手 2019-02-12 16:42:14 来自PC26楼
    BurntCoins发表于2019-02-12 16:31:36>悟空 发表于 2019-2-12 16:19 好的,感觉都挺折腾啊,这可能也是比特币推广慢的原因。。。。。。那像我上面说的,用离线电脑生成3开头的 ...

    一般冷热分离钱包,是联网的热钱包负责监控余额、生成未签名交易、广播已签名交易。断网的冷钱包
    负责生成私钥、检查交易信息、对交易签名。
    (实际上还可以更灵活一些:把收款交易导入给冷钱包,然后冷钱包端自己也可以生成交易、然后签名)

    Core钱包只支持监控余额,图形界面既不支持生成未签名交易,也不支持对原始交易进行签名。
    需要先listunspent列出可以动用的币(UTXO),然后命令行createrawtransaction
    (一不小心犯错就是巨额矿工费,要上新闻了);然后需要命令行signrawtransactionwithkey或
    signrawtransactionwithwallet(需要输入 raw transaction和被花费的UTXO信息)。
    如果想多重签名,那还得记得一开始createmultisig生成的redeemScript。

    哈哈哈,越来越不懂了,你是真大神。谢谢。
    楼层直达
  • 悟空 水手 2019-02-12 16:43:09 来自PC27楼
    BurntCoins发表于2019-02-12 16:21:04 把wallet.dat搬到联网电脑,不就触网了嘛……如果那台电脑被黑了,那黑客就可以偷币了。
    如果我屯币,上期不懂,还是可行的是吧。我把wallet搬到联网电脑的时候就是清仓的时候,哈哈
    楼层直达
  • 悟空 水手 2019-02-12 16:43:49 来自PC28楼
    悟空发表于2019-02-12 16:43:09如果我屯币,上期不懂,还是可行的是吧。我把wallet搬到联网电脑的时候就是清仓的时候,哈哈
    如果我屯币长期不动,还是可行的是吧?
    楼层直达
  • BurntCoins 版主 2019-02-12 16:48:45 来自PC29楼
    悟空 发表于 2019-2-12 16:42 哈哈哈,越来越不懂了,你是真大神。谢谢。
    可能我说了太多……有点跑题了…… 我这其实是无耻的现学现卖
    我的意思很简单,想要冷钱包的话,不用在Bitcoin Core自带的钱包这一颗树上吊死,有其他更方便更好的选择,比如比太、Electrum、Armory等等。 光是备份就已经不一样了,比太和Electrum都只需要记住一串单词密语(不过注意Electrum不是BIP39标准的,和其他钱包不兼容)。
    楼层直达
  • BurntCoins 版主 2019-02-12 16:53:06 来自PC30楼

    悟空 发表于 2019-2-12 16:43

    如果我屯币长期不动,还是可行的是吧?

    冷钱包就是让私钥的生成、保存和使用都放在离线的机器上(甚至是不在电子设备上长期保存私钥),

    黑客黑不了断网的机器,篡改劫持交易信息的话,冷钱包机器上也能检查出来。

    其实我对这块也比较迷惑——如果是登录交易所一股脑清仓呢?这个总得联网吧。如果黑客劫持了你的

    浏览器,把网页给劫持替换了,给你看假的充币地址、假的到账信息,又该怎么办呢?

  • 悟空 水手 2019-02-12 16:57:35 来自PC31楼
    BurntCoins发表于2019-02-12 16:53:06>悟空 发表于 2019-2-12 16:43 如果我屯币长期不动,还是可行的是吧?

    冷钱包就是让私钥的生成、保存和使用都放在离线的机器上(甚至是不在电子设备上长期保存私钥),
    黑客黑不了断网的机器,篡改劫持交易信息的话,冷钱包机器上也能检查出来。

    其实我对这块也比较迷惑——如果是登录交易所一股脑清仓呢?这个总得联网吧。如果黑客劫持了你的
    浏览器,把网页给劫持替换了,给你看假的充币地址、假的到账信息,又该怎么办呢?

    哈哈哈,那真的没办法了,那就等比特币涨上去了,专门买一台电脑卖币
    我还有一个事情比较迷惑,我之前保存的bitcoin-qt钱包的wallet文件,在最新的core上面居然打不开,估计是怎么回事啊
    楼层直达
  • 1
  • 2
  • 3
登录 账号发表你的看法,还没有账号?立即免费 注册
推荐节点 更多
热帖榜 本周最热本月最热