巴比特论坛

请教大神,3开头btc地址和普通1开头的有啥区别? [复制链接]

来自手机版
发表于 7 天前 | 显示全部楼层

请教下,现在下载的bitcoin-core客户端默认生成的是3开头的地址,请教几个问题:
1、新的core客户端如何生成1开头的地址?
2、3开头的地址在使用上有什么区别吗,特别是1开头的地址我只要保存好私钥就天下太平了,3开头地址是否只要导出并保存好私钥就可以了?
3、看了一些资料,说3开头的地址解锁支付需要一个特殊的脚本还啥的,但是我试验了下也能导出私钥,也能发送,也能导入私钥,貌似使用上没有什么区别呢。

41条回复 跳转到指定楼层

价值投资理念 | 船员 | 发表于 7 天前 来自手机版 | 显示全部楼层
3开头的是隔离验证的那种地址
悟空 | 水手 | 发表于 7 天前 | 显示全部楼层
价值投资理念发表于2019-02-11 21:49:143开头的是隔离验证的那种地址
那和1开头的使用上有什么区别吗
比特别致 | 副船长 | 发表于 7 天前 来自手机版 | 显示全部楼层
悟空 发表于 2019-2-11 22:07
那和1开头的使用上有什么区别吗

没大明显区别,
私钥上一般多3~5位。
悟空 | 水手 | 发表于 7 天前 | 显示全部楼层
比特别致 发表于 2019-2-11 22:17
没大明显区别,
私钥上一般多3~5位。

私钥包含了多重签名的哈希是吗?多重签名的哈希只能由一个人持有,那多重签名有啥意义呢,哈哈
悟空 | 水手 | 发表于 6 天前 | 显示全部楼层
大神帮忙解答
价值投资理念 | 船员 | 发表于 6 天前 来自手机版 | 显示全部楼层
悟空 发表于 2019-2-11 22:07
那和1开头的使用上有什么区别吗

没多大区别,隔离验证地址更省费用一点点
悟空 | 水手 | 发表于 6 天前 | 显示全部楼层
价值投资理念发表于2019-02-12 12:34:54 没多大区别,隔离验证地址更省费用一点点
备份的话,还是备份wallet.dat文件和私钥即可了对吗?
BurntCoins | 副船长 | 发表于 6 天前 | 显示全部楼层
悟空 发表于 2019-2-12 14:15
备份的话,还是备份wallet.dat文件和私钥即可了对吗?

整个备份wallet.dat最好,不建议折腾单独私钥,因为容易犯低级错误“找零丢币”:

新安装Core钱包,自动生成新wallet.dat->importprivkey导入单个私钥->转账,忘记改找零地址->因为安全强迫症格盘/删掉新wallet.dat->币跑到新找零地址上去了,然而包含它的新wallet.dat已经被删,永久丢币

现在的Core钱包新生成的wallet.dat已经是HD的了,然而仍然不影响上述套路坑到人……也许未来开发者会想办法提醒用户来避免这个问题吧。
BurntCoins | 副船长 | 发表于 6 天前 | 显示全部楼层
3开头的是P2SH地址。P2SH地址以前最常用于多重签名,但是更复杂的脚本也可以放进去。后来隔离见证(SegWit,SW)激活了,P2SH就多了第二大用途:嵌套隔离见证地址。

隔离见证定义了一种新的地址,bc1开头,bech32编码(纯小写字母+数字)。很显然这种原生SW地址老钱包是不认识的,所以就造成只能新钱包给老钱包发币,老钱包(尤其是交易所提币)不能给新钱包发币的蛋疼。

为了保持兼容,开发者就定义了另一种SW地址,这就是LZ提到的3开头的SW地址了。
实际上从这种3开头的地址发出的交易会有更多的字节数开销(因为额外存了一个脚本hash),但是因为SW交易是有折扣的,所以“虚拟字节数”仍然要比老格式交易小得多,对应手续费也更低。
BurntCoins | 副船长 | 发表于 6 天前 | 显示全部楼层
所有SW地址目前都不支持用Bitcoin Core做消息签名/验证。有的钱包(比如Electrum)抢先做了,但是和其他钱包不兼容。

开发者现在应该在讨论消息签名/验证的新标准:BIP322
jake马 | 副船长 | 发表于 6 天前 | 显示全部楼层
BurntCoins 发表于 2019-2-11 20:26
3开头的是P2SH地址。P2SH地址以前最常用于多重签名,但是更复杂的脚本也可以放进去。后来隔离见证(SegWit ...

1开头的地址不能给3开头的地址转币?
BurntCoins | 副船长 | 发表于 6 天前 | 显示全部楼层

jake马 发表于 2019-2-12 14:38
1开头的地址不能给3开头的地址转币?

所有地址之间都是可以自由互转的。问题是老钱包不识别bc1开头的原生SW地址,这样当然就不能转币了。
新钱包就没有这个问题。
用3开头的SW地址也可以避开这个问题(不过老钱包看不到零确认,必须进链才能看到到账信息)。

悟空 | 水手 | 发表于 6 天前 | 显示全部楼层
BurntCoins发表于2019-02-12 14:50:19

jake马 发表于 2019-2-12 14:38 1开头的地址不能给3开头的地址转币?

所有地址之间都是可以自由互转的。问题是老钱包不识别bc1开头的原生SW地址,这样当然就不能转币了。 新钱包就没有这个问题。 用3开头的SW地址也可以避开这个问题(不过老钱包看不到零确认,必须进链才能看到到账信息)。

多谢大神。还想请问:
1、现在的core客户端生成wallet文件,wallet.dat是放在一个子文件夹里的,需要整个子文件夹备份吗?
2、HD钱包好像是什么树形的父子钱包,保留一个父私钥和什么编码,就能推导出子私钥,但是不知道哪个是父私钥,编码也不知道,大神有没有教程啊,谢谢。

3、最新的core客户端能产生1开头的地址吗,感觉3开头的地址总是怪怪的。。。。。
zhc666888 | 队长 | 发表于 6 天前 来自手机版 | 显示全部楼层
不清楚啊!,。
高级模式
您需要登录后才可以发帖 登录 | 立即注册 | 用新浪微博登录

本版积分规则

搜索

0关注 1粉丝 5主题
返回顶部 返回列表

登录

分享 发帖