cb
Balenciaga
cb41c289a4f8757d24ab7f8b8f905c8bc1bc37cc811c4dcbea566f2a31857f59
分享比特币技术,且聊比特币行情。Since2015

币圈出金指南2.0

有地位和门路的人,依然有大量管道走资,慈善基金、军队经商、支付牌照…

冷知识:大型国企是没有外汇结算上限的,5万美元外汇上限,只是卡在底层人民头上的枷锁。

没有门路的呢,去交易所 C2C 交易。这在我看来是最下等的出金方式,因为你压根不知道自己的交易对手方是谁,早晚湿鞋。关于这点,上一篇「币圈出金指南1.0」里已经详细阐述,感兴趣可以去翻阅。

在可预见的未来,币圈出金只会越来越难,放弃幻想,早日面对现实。

香港是避风港吗

很遗憾,不是。

我看过不计其数的币圈大 V 推着香港的出金教程,我只希望你们明白后果。

简单来说,在币圈,很常见的一种现象是,大批小散们跟着大V的指点,找同一个中介去开卡。这个中介在几个银行里都有深度合作的客户经理。

你得明白,如果他的一个客户出了大问题,银行会反向审查。所有通过这个中介办的卡,都有可能被查。

可能被清户,寄张支票让你走人;严重的话,甚至会卷入刑事案件。

再说说律师,这也是个坑。那些专门帮人办理 BVI 离岸壳公司的代理律师,一旦有事,以他的名字为线索,大部分他办的企业都能被搜出来,都会被标记为高风险。

香港哪条法律规定了港岛的加密企业能服务大陆用户?你是香港人吗?有香港护照吗?

你出金到香港银行账户的信息,每年都会通过 CRS 报送回大陆。在香港的大量资产,你合法报税了吗?

别说存款,就连买的香港保险,一样会被自动报送,没法避开。

香港不是以前的香港,请你不要往人多的地方去。

信任链的放大

真懂出金之道的高手,知道什么叫「放大信任链」。

用假身份,或者试图利用平台漏洞开户,尤其是和钱相关的,我只能说,这胆子真大。

许多人可能忘了,或还不知道,去年的 PayPal 冻资风波。数千万,甚至亿级的资金,因销售不合规被冻住,无处申诉,涉案公司立马破产。

这种事,看平台心情。平台缺钱,或接受审查,一举冻结。

你可能会看到,在各个地方有人介绍各种走资平台。今天是某个数字银行,明天又是个新的交易所。但放心吧,这些都不会长久。他们只看了皮毛,并没深入本质。对于出金这事,他们只能是辛苦奔命,一家垮了就换一家,永无尽头。

你是正当的公民,你不想与自己的钱与那些黑、灰产混在一起。你只是想把你的正当收入变现,改善生活。怎么就这么难呢?

有人会说,那就换国籍啊,比如新加坡,没有资本利得税。

但这不是我们现在要谈的。假设这篇文章的读者都是大陆公民,换国籍这事,我们以后再聊。

出金难,主要是因为没弄清楚这事的本质。

什么是本质?就是要知道你手上的钱是什么成色,怎么让它越来越清爽,越来越透亮。

你在交易所的 U 商那里拿的钱,就是”脏”的。在交易所提现的,可能相对干净一些,但在某些银行看来,也是”脏”的,依然是危险的。

你的旅程从「交易所提现」开始,到「进入一个无外汇管制的银行账户」结束。

我下面详细展开…

如何出金

你知道 Kraken、币安、OKX… 这些交易所都是可以通过离岸公司开户,然后将资金提现到离岸公司的银行账户的吧。

但现在离岸公司的银行开户很困难,尤其是企业账户。

银行为何对币圈交易所的钱避而远之?

想想看,他们服务一个资金大量进出的币圈客户,赚到的钱还未定,要是资金涉黑,监管部门马上就会上门找茬。如果你是银行,也会宁愿错杀也不放过,索性不服务这类型的客户。

你自交易所提现的钱,往往会被监控。银行明白这是交易所的账户,也会把你的账户标记为币圈资金账户。

如何避免这种标记?

答案是:自己给自己转账。

一个不成文的铁则在银行内控中流传,那就是,个人名下的资产转移风险最低。

币圈安全的出入金渠道:

交易所(binance/okx等)》Kraken(美国最大交易所/Bitfinex》转USD进Wise 换成欧元〉嘉信理财》港卡〉内地

这条路唯一的风险就是Wise/嘉信封卡,但是绝对不会冻卡,也不会被抓进去…

今天最大的新闻既不是特斯拉和奈飞的财报,也不是即将到期的交割期权,甚至不是BTC和ETH价格的波动,而是俄罗斯和一系列俄罗斯相关的数字货币的影响。自地缘战争以来俄罗斯可以说是最积极布局加密货币的国家,甚至是不时传出可以用BTC作为结算的中介,而美国也在不予余力的全方位制裁俄罗斯,自然也包括了在加密货币领域,最有名的就是限制Coinbase和Binance等交易所禁止俄罗斯用户的访问。但这项限制,今天升级了,而且更加的严格。当然也并不仅仅只是针对俄罗斯寡头。

很多小伙伴一直都在认为加密货币最大的优势就是在于去中心化,可以不受到中心化政府的管制和钳制,但实际往往不是这样的,前有tornado.cash(龙卷风)被关停,甚至引发了USDC的市值大幅下降,后有DYDX被迫离开加拿大市场,并出于监管压力而尝试全面开源,而且DYDX也并不在美国运营。从这些层面就可以看到,100%的去中心化起码在目前是很难实现的,必然会有继续受到监管的影响。而这一次就是整个DeFi行业都要受到美国新法案的影响。

今天凌晨一项新的法案在参议院被通过,该法案要求如果受到制裁的人(比如俄罗斯寡头)使用DeFi的服务来规避美国施加的限制,那么控制DeFI项目的人将因协助违规行为而被追究责任。如果没有人控制该服务,那么这一责任就会转移到为该项目注入超过2,500万美元的投资者身上。这里稍微解释一下,所谓的注入超过2,500万美元并不仅仅是一级市场的投资者,二级市场的投资者也是同样受到限制,说人话就是任何DeFi项目方的Token,你买了超过2,500万美金,一旦这个项目引发了监管,而这个项目又是无法溯源匿名去中心化项目,那么你可能就要倒霉了,当然怎么找到或者定位你是你,那就是另一回事了。

可能很多小伙伴对此不以为然,认为自己在去中心化买币的时候并没有任何的身份信息,但实际上这么大量操作的投资者往往不会无迹可寻,尤其是很有可能会通过OTC或者是中心化交易所来交易,这样一旦制裁的铁拳落下,你说交易所会不会提供你的名单呢,而这可能还不是最麻烦的地方,如果投资者是早期参与者,但之后该DeFi应用的价格大幅上涨,那么很可能也会被动符合条件,说人话就是假设某个小伙伴持有价值25万美金某DeFi的IDO前的Token,然后这个DeFi项目很给力,上市直接拉了100倍,恭喜你,2,500万美金到手。当然这仅仅是一个例子。

但对于做市场商来说手握大量的项目方Token是一件非常正常的事情,尤其是当项目方的Token大幅上涨以后,你看,这会不会成为麻烦,现在这种事情还没有发生,所以对于做市商持币是不是会引发同等的监管现在还不知道,但做市商应该不敢去赌吧。而且更重要的是,该法案的基础是反洗钱和防止逃避制裁,该法案也同样要求DeFi参与到反洗钱计划,并且密切关注客户并向财政部金融犯罪执法网络报告可疑交易。参议员们表示,这些规则将类似于其他金融实体(包括银行和证券经纪人)已经制定的规则。

此外,加密信息亭(或加密 ATM)运营商必须遵循新标准来验证用户身份。 该法案的制定者表示,这项有针对性的立法引发了一场关于如何保护美国的金融体系并为执法部门提供起诉不良行为者所需的工具的重要辩论。该法规也间接的确定了DeFI平台需要受到SEC的监管并需要遵守证规则,这是第二个重点,小伙伴们能明白这代表什么吗?对,如果某种Token被定义为证券,那么即便是在DEX上提供交易也是违规的,当然,现在SEC还没有这么执行,但并不代表一定不会这么执行。

另外就是小伙伴们的灵魂发问,如果确定DeFI用户的身份是不是受到制裁,我想你们已经有答案了,DeFi的KYC和AML已经被监管说了很久了,估计随着该法案的运作,很有可能将会逐渐的开启,尤其是那些目前还有迹可循的DeFi。去中心化是一个很好的设想,但在目前任何一个主权国家的管辖内,去中心都还很遥远,即便是 #BTC  都会受到核心开发者意志的影响也会受到集中化算力的影响,就更别说其它了,以前是发项目要小心,现在是投资项目也要小心。

刚刚:

新证据表明克雷格·赖特可能是比特币的创造者中本聪。

BREAKING:

New evidence of Craig Wright potentially being Satoshi Nakamoto, the creator of Bitcoin.

投机之王利弗莫尔买入法:1)先买入20%;2)假设买错了,下跌10%立即止损,损失金额为总仓位的2%;3)假设买对了,上涨10%立即加仓20%,再上涨10%立即再加20%,最后一次直接加40%。将胜利成果扩大,然后只要没有跌破10%就持有,一旦跌10%立即将仓位全部卖出。找高概率的机会操作!

币圈出金指南 1.0

最近网上出金的教程看了数百篇,极少真正说到点子上。

很多人场外出金被冻、被无良 U 商压价、甚至为了出那么一点点生活费,被杀猪盘的资金污染,进了局子,有苦难言… 这些都是信息差造成。

所谓信息差,归根结底,是没搞清楚自己交易的对手方是谁。

在整个出金游戏里,你需要记住:

每一分钱的干净程度都不一样

出金时要考虑自己能承担的最坏结果

没有绝对的风控,但避开所有已知的坑能让你更稳健

首先说冻卡是怎么回事。

大致分两种:银行内部止付,警方查封(司法冻结)。

大部分人初冻都是48-72小时自动解冻。

其实你从银行 App 的信息代码也能简单区分冻结原因。以工行为例,2587结尾的错误代码,属于「紧急止付」,程度比较轻,等个几天基本自动解开,如果是4343这种,基本半年起步,长的两三年甚至一直续冻都有可能。

卡的冻结状态也可能随时变化,比如一开始是2587,后面又变成4343或9920,这跟涉及的资金来源有关。

反诈和银行都可以让你非柜,如果是网赌资金,基本不可能自主解冻,资金流动的证明材料会被银行转交给派出所,要去局子解释。

为什么一开头我就说「搞清交易对手方」很重要,就是因为你本来正常卖币套现,结果对手方莫名其妙拿着黑钱摆你一道。不管对方是否有意为之,其结果就是给你套上了莫须有的罪名,你要自己费大力气擦屁股。

要知道,非柜这些都是小意思,上门直接按倒的更酸爽。

但话又说回来,只要不碰网赌,正当投资所得,怎么着都会解冻的。只是有些地方财政压力很大,一些人吃相难看,把加密行业里的人当成提款机,搞得人心惶惶,这里就不展开了。

1)要想出金安全,首先用卡要「干净卫生」

银行为了反洗钱,除了基本的 KYC,还会做 CDD,定期检查客户的交易活动。而大多银行内部风控导致的冻卡,基本都是因为银行内审或被异常交易模式识别到。

什么叫 「异常交易模式」?

简单来说以下都算:

快进快出

特定时间高频交易

金额超过阈值

交易习惯突然改变

与不同交易对手方连续多笔大额转账

至于多少钱算「大额」,一般一线城市的四大行的默认阈值会高的多。你如果这两年在三、四线的地方银行开过户就应该有数,转账额度之低令人瞠目。

2)避免使用支付宝、微信和主力银行卡出金

支付宝和微信作为大型收单企业,掌握的大数据比起各个银行只多不少,而且 IT 工程能力强,比起许多地方银行高了几个档次。这意味着他们的风控更严格,一旦冻结,非常影响你的日常生活。

也不要用你的工资、社保和房贷卡来出金,原因同上。

其他闲置卡,冻了就冻了,最坏结果就是销户提现,不至于严重影响生活。

记得在各个银行都办理「一类卡」,并严格区分入金和出金用途。你可以给其中一些卡片贴上标记,注明是出金专用,卡片之间余额不要互转,不要有资金往来。

尽可能降低你的出金频次,有人认为多次小额出金更安全,纯属放屁。所有网赌和涉黑的钱,不管金额大小,一块还是几百万,要冻都是一样冻。

比较好的频率是一年最多出金2-3次,算好自己未来一段时间的全部开支,一次出完。出金时,跟同一个 U 商只用特定的卡交易,不要混合不同商户的资金,这样万一资金有问题,追溯起来很麻烦。

3)一些被证伪的「民间防冻卡偏方」

出金后立刻还信用卡

出金后转到券商账户

出金后买银行理财、股票

出金后转到网商银行过一遍

在不同的交易平台出金,选不同的 U 商降低风险

以上,统统没用。

交易平台选币安或 OKX 也没有区别,OKX 的商户基本也是币安的商户,资金都会汇总到一起。平台的作用只是方便你遇到极端情况时取证,做不到防黑钱。

冻卡的核心原因是你跟交易对手之间的信息灰暗不清。一旦收到黑钱,上游链路全冻,只要是你名下的卡,很难躲过。

冻结时间取决于受害人什么时候报警,所以有人遇到出完金几个月甚至半年后,卡片忽然被冻,这都是有可能的。

我在2015年小额出过一次金,2022年招商银行突然打我电话问我,7年前的这笔交易我和转账方是什么关系,这笔资金什么用途,要求提交证明。时间那么久远,我上哪找资料,最终销户,永远拜拜。

4)出金的几个窍门

首先,平时闲置的卡,要在收钱之前确定卡片的状态,在银行手机 App 上转个几块钱出去就可以。有一个朋友就发生过卡片被冻但是不知情,结果又充了一笔钱进去的情况。

其次,挑选出金的 U 商时,只要出现盘口价格倒挂的(U的收价比卖价高),那绝对是黑U、跑分,不要贪便宜,立刻躲得远远的。一定要确保 U 商用的是本人银行卡,非本人银行卡的转账,立刻原路退回,终止交易。交易前,商户资金也必须沉淀3天以上。银行风控的规则随时可能会变,目前看来,超过一周的沉淀资金是相对安全的,如果有警察立案,通常一周时间也会立上。

此外,U 商出示资金来源时,不要相信静态图片,因为很可能是 PS 的,实时视频确认银行卡流水(下拉刷新,动态)更靠谱。一般来说,通过银行借贷平台借出来的钱相对干净,具体原因你细想。

最后,还要提防 U 商坐地起价,有的商户仗着资金渠道和信息差,实际给客户结算的汇率比盘口能差出10%甚至更多,我自己几年前也吃过这种亏,请大家务必不要轻信这些商户的说辞。

总结一下,只要降低出金频率,严格挑选交易的对手方,并且资金都是自己合法所得,一般来说不用太担心冻卡。至于合理避税的方法,以后再说。

既然出金要考虑这么多风险,那有没有什么低成本又安全的出金方式呢?还真有,目前最安全的方式有三种,总有一款适合你。

1)开设海外银行账户

这是最推荐的出金办法。

但如果上来就问我具体的银行,那就太 Naive 了。因为银行太多,开哪个国家的、要不要人肉过去开、用什么证件开、如何降低后续用卡成本、是否 Crypto 友好、风控偏好... 等等,都要考虑清楚。

扩展公钥与扩展私钥

比特币钱包软件让你可以在同一个应用中使用许多个 “钱包” 并生成无数个地址。理解 “xPub” 和 “xPriv” 可以帮助你理解这是怎么做到的。

“xPub” 是 “扩展公钥(Extended Public Key)” 的缩写,而 “xPriv” 是 “扩展私钥(Extended Private Key)” 的缩写。简单来说,xPub 和 xPriv 是父密钥,钱包软件用它们就可以自动地产生不计其数的子密钥,并在软件中使用这些私钥和公钥。

作为比特币用户,理解 xPub 和 xPriv 可以帮助你:

探索能够丰富你的比特币使用体验的方法

理解公钥和私钥如何影响你的比特币的安全性和隐私性

理解为什么最好的比特币钱包都使用这样的规范

xPub 和 xPriv 并不是比特币钱包一诞生就有的东西,下面就是我们需要它们的理由。

xPub 和 xPriv 出现以前的比特币

第一种比特币钱包 Bitcoin-Qt,是有密钥管理问题的。它会随时生成一堆私钥,然后全部存储在计算机本地的 wallet.dat 文件里。

虽然这种办法也不是不行,但要是用户意外删除了这个密钥文件,或者遇到了恶意软件,那用户就可能会弄丢比特币。此外,如果你加密了这个文件,但忘记了加密的口令,也无法再复原你的资金。

作为 Bitcoin-Qt 的用户,要保证你的资金的安全,你还必须每当发起一笔交易就备份一次新版本的 wallet.dat 文件。当然,它还是没有针对忘记口令的解决方案。

为了让钱包和地址的管理不那么麻烦,人们提出了 BIP32(比特币升级提议 32),改变了私钥的生成方式。在这个协议中,比特币钱包不再需要为每一笔交易随机生成私钥,一个主密钥(master key)就足以按照预先定义的方式生成其它密钥。

用一种确定性的方式来生成私钥,意味着:

你只需要备份一个私钥(主私钥)

在多个钱包软件中使用相同的私钥变得更加便捷

下面,我们来看看父私钥是如何取代多个私钥的:

xPub 和 xPriv 的工作原理

比特币离不开密钥对的概念,其中,私钥是用来签名交易(转移资金)的,而公钥(本身是从私钥计算出来的),则是用来接收交易的。

至于 xPub(扩展公钥)和 xPriv(扩展私钥),它们当然分别是公钥和私钥,但是其作用跟上述的不同。它们的 “扩展性” 使得它们可以派生出更多的子私钥和子公钥。此外,就像普通的私钥和公钥的关系一样,扩展公钥也是从扩展私钥中计算出来的。

而且,派生出来的子密钥可以继续派生子密钥(对扩展密钥来说就是孙子密钥了)。但不论派生多少代,(因为派生的方法)每一代子密钥都携带其父密钥的唯一签名(就像 DNA 一样)。这种家族树一样派生程序,催生了新一代的比特币钱包 —— 层级确定式钱包。

在层级确定式钱包(也称 “HD 钱包”)中,选定了某一条 树路径/分支,也就确定了子密钥。持有父密钥(也就是 xPub 和 xPriv),你可以遍历所有分支来检查子密钥(译者注:实际上,完全遍历是做不到的)。

只需持有一个主密钥,就可以派生出许许多多的密钥;这样的便利给比特币打开了一个全新的世界,用户再也不需要在更好的隐私性与便利的备份之间权衡取舍。

(译者注:在 BIP 32 出现之前,“钱包” 与 “地址” 的概念几乎是等同的,因为地址之间没有关联,所以每一个地址都是一个钱包;但在 BIP32 出现之后,两者就可以分离了,一个钱包指的不是一个地址,而是一对拓展密钥(主密钥)推导出来的一组地址。当然,因为地址是层级式的,由路径决定,所以, 你可以给地址分组,从而产生其它的概念,例如,下文所说的 “账户”。)

实际操作 xPub 和 xPriv

你可以在同一个钱包中拥有许多账户

因为一个父密钥就可以生成出许多子密钥,钱包软件可以派生出子私钥和子公钥,并将这些子私钥和子公钥进一步用作父密钥,从而在一个主钱包中产生新钱包。

作为用户,如果你想在一个钱包中设立多个账户,这是非常有用的。你可以运用这种特性,将你的金融身份分离开来。例如,你可以设立一个用于私人支出的账户、一个用作商务的账户,甚至一个储蓄账户,无需建立多个比特币钱包。

易于保管你的密钥

随机生成私钥意味着你在备份时需要备份许多私钥。但实现了 xPub 和 xPriv 的钱包,备份起来就不必这么麻烦了。

因为父密钥可以确定性地生成子密钥,并将这些密钥用于你的交易,所以你只需备份一个主密钥就可以了。这个主密钥可以推导出你曾用在交易中的所有密钥。因此,你只需要备份主密钥,就可以复原你所有的资金。(译者注:对大部分单签名钱包,这段说法是成立的;但是,请记住,地址是由主密钥和派生路径决定的,不同钱包可能使用不同的派生路径,所以最好也备份派生路径,除非你非常确定被使用的派生路径是标准的。)

你可以在单个比特币钱包中共享资金

因为 xPriv 可以签名用它来生成的任意地址的交易,分享它就可以让受你信任的人代你发起交易。举个例子,一个阻止可以使用主密钥 xPriv 生成子密钥,并将这些密钥分别发给采购部门和员工薪酬部门,它们都可可以获得资金,但无法花费其他部门的资金。

因此,在分享 xPriv 时,应当极为小心,因为任何人只要掌握了你的私钥,就可以控制你所有的资金。

更好的隐私性

一个 xPub 可以生成许多子公钥,用来接收资金。这是一种非常简单的提升比特币交易隐私性的办法,因为它防止了许多交易数据跟同一个地址关联起来(如果你重复使用相同的地址来接收互无关联的交易,就有这样的风险)。

可以同时使用多种钱包软件

xPriv 和 xPub 是比特币世界的进步,它让用户可以使用不止一种钱包软件,而无需创建多个备份。

在某一个钱包软件中生成种子词之后,你就可以将它导入另一种钱包软件,并推导得出相同的 xPub 和 xPriv,并复原资金的控制权(即使你此前从没用过这种钱包软件)。

不过,不同的钱包可能使用不同的派生路径,所以你并不是一定能成功。在切换软件供应商之前,你可以先检查一下不同比特币钱包的兼容性。

安全地给不信任的人支付

因为私钥完全控制着你的资金,在联网、接收支付的设备上存储它们是不理想的。尤其是,如果你在不安全的支付处理器上存储私钥的话,任何恶意软件都可能让你损失资金。

但是,只需 xPub 就足以生成许多地址(用于接收支付),所以你不必让你的私钥暴露在可能的威胁中。

(译者注:作者在此处没有探讨的一种可能性是,当某人公开了自己的 xPub,我们就可以在其主人不知情的情况下使用其公钥 —— 我们可以用这个 xPub 推导出许多子公钥,然后放在我们的多签名钱包中。因为派生路径无限多,如果我们不告知原主人,TA 就不可能直到我们用到了 TA 的公钥;但因为确定性推导的特性,当 TA 知道了这些公钥之后,又确实能为它们生成有效的签名。)

扩展公钥与扩展私钥

比特币钱包软件让你可以在同一个应用中使用许多个 “钱包” 并生成无数个地址。理解 “xPub” 和 “xPriv” 可以帮助你理解这是怎么做到的。

“xPub” 是 “扩展公钥(Extended Public Key)” 的缩写,而 “xPriv” 是 “扩展私钥(Extended Private Key)” 的缩写。简单来说,xPub 和 xPriv 是父密钥,钱包软件用它们就可以自动地产生不计其数的子密钥,并在软件中使用这些私钥和公钥。

作为比特币用户,理解 xPub 和 xPriv 可以帮助你:

探索能够丰富你的比特币使用体验的方法

理解公钥和私钥如何影响你的比特币的安全性和隐私性

理解为什么最好的比特币钱包都使用这样的规范

xPub 和 xPriv 并不是比特币钱包一诞生就有的东西,下面就是我们需要它们的理由。

xPub 和 xPriv 出现以前的比特币

第一种比特币钱包 Bitcoin-Qt,是有密钥管理问题的。它会随时生成一堆私钥,然后全部存储在计算机本地的 wallet.dat 文件里。

虽然这种办法也不是不行,但要是用户意外删除了这个密钥文件,或者遇到了恶意软件,那用户就可能会弄丢比特币。此外,如果你加密了这个文件,但忘记了加密的口令,也无法再复原你的资金。

作为 Bitcoin-Qt 的用户,要保证你的资金的安全,你还必须每当发起一笔交易就备份一次新版本的 wallet.dat 文件。当然,它还是没有针对忘记口令的解决方案。

为了让钱包和地址的管理不那么麻烦,人们提出了 BIP32(比特币升级提议 32),改变了私钥的生成方式。在这个协议中,比特币钱包不再需要为每一笔交易随机生成私钥,一个主密钥(master key)就足以按照预先定义的方式生成其它密钥。

用一种确定性的方式来生成私钥,意味着:

你只需要备份一个私钥(主私钥)

在多个钱包软件中使用相同的私钥变得更加便捷

下面,我们来看看父私钥是如何取代多个私钥的:

xPub 和 xPriv 的工作原理

比特币离不开密钥对的概念,其中,私钥是用来签名交易(转移资金)的,而公钥(本身是从私钥计算出来的),则是用来接收交易的。

至于 xPub(扩展公钥)和 xPriv(扩展私钥),它们当然分别是公钥和私钥,但是其作用跟上述的不同。它们的 “扩展性” 使得它们可以派生出更多的子私钥和子公钥。此外,就像普通的私钥和公钥的关系一样,扩展公钥也是从扩展私钥中计算出来的。

而且,派生出来的子密钥可以继续派生子密钥(对扩展密钥来说就是孙子密钥了)。但不论派生多少代,(因为派生的方法)每一代子密钥都携带其父密钥的唯一签名(就像 DNA 一样)。这种家族树一样派生程序,催生了新一代的比特币钱包 —— 层级确定式钱包。

在层级确定式钱包(也称 “HD 钱包”)中,选定了某一条 树路径/分支,也就确定了子密钥。持有父密钥(也就是 xPub 和 xPriv),你可以遍历所有分支来检查子密钥(译者注:实际上,完全遍历是做不到的)。

只需持有一个主密钥,就可以派生出许许多多的密钥;这样的便利给比特币打开了一个全新的世界,用户再也不需要在更好的隐私性与便利的备份之间权衡取舍。

(译者注:在 BIP 32 出现之前,“钱包” 与 “地址” 的概念几乎是等同的,因为地址之间没有关联,所以每一个地址都是一个钱包;但在 BIP32 出现之后,两者就可以分离了,一个钱包指的不是一个地址,而是一对拓展密钥(主密钥)推导出来的一组地址。当然,因为地址是层级式的,由路径决定,所以, 你可以给地址分组,从而产生其它的概念,例如,下文所说的 “账户”。)

实际操作 xPub 和 xPriv

你可以在同一个钱包中拥有许多账户

因为一个父密钥就可以生成出许多子密钥,钱包软件可以派生出子私钥和子公钥,并将这些子私钥和子公钥进一步用作父密钥,从而在一个主钱包中产生新钱包。

作为用户,如果你想在一个钱包中设立多个账户,这是非常有用的。你可以运用这种特性,将你的金融身份分离开来。例如,你可以设立一个用于私人支出的账户、一个用作商务的账户,甚至一个储蓄账户,无需建立多个比特币钱包。

易于保管你的密钥

随机生成私钥意味着你在备份时需要备份许多私钥。但实现了 xPub 和 xPriv 的钱包,备份起来就不必这么麻烦了。

因为父密钥可以确定性地生成子密钥,并将这些密钥用于你的交易,所以你只需备份一个主密钥就可以了。这个主密钥可以推导出你曾用在交易中的所有密钥。因此,你只需要备份主密钥,就可以复原你所有的资金。(译者注:对大部分单签名钱包,这段说法是成立的;但是,请记住,地址是由主密钥和派生路径决定的,不同钱包可能使用不同的派生路径,所以最好也备份派生路径,除非你非常确定被使用的派生路径是标准的。)

你可以在单个比特币钱包中共享资金

因为 xPriv 可以签名用它来生成的任意地址的交易,分享它就可以让受你信任的人代你发起交易。举个例子,一个阻止可以使用主密钥 xPriv 生成子密钥,并将这些密钥分别发给采购部门和员工薪酬部门,它们都可可以获得资金,但无法花费其他部门的资金。

因此,在分享 xPriv 时,应当极为小心,因为任何人只要掌握了你的私钥,就可以控制你所有的资金。

更好的隐私性

一个 xPub 可以生成许多子公钥,用来接收资金。这是一种非常简单的提升比特币交易隐私性的办法,因为它防止了许多交易数据跟同一个地址关联起来(如果你重复使用相同的地址来接收互无关联的交易,就有这样的风险)。

可以同时使用多种钱包软件

xPriv 和 xPub 是比特币世界的进步,它让用户可以使用不止一种钱包软件,而无需创建多个备份。

在某一个钱包软件中生成种子词之后,你就可以将它导入另一种钱包软件,并推导得出相同的 xPub 和 xPriv,并复原资金的控制权(即使你此前从没用过这种钱包软件)。

不过,不同的钱包可能使用不同的派生路径,所以你并不是一定能成功。在切换软件供应商之前,你可以先检查一下不同比特币钱包的兼容性。

安全地给不信任的人支付

因为私钥完全控制着你的资金,在联网、接收支付的设备上存储它们是不理想的。尤其是,如果你在不安全的支付处理器上存储私钥的话,任何恶意软件都可能让你损失资金。

但是,只需 xPub 就足以生成许多地址(用于接收支付),所以你不必让你的私钥暴露在可能的威胁中。

(译者注:作者在此处没有探讨的一种可能性是,当某人公开了自己的 xPub,我们就可以在其主人不知情的情况下使用其公钥 —— 我们可以用这个 xPub 推导出许多子公钥,然后放在我们的多签名钱包中。因为派生路径无限多,如果我们不告知原主人,TA 就不可能直到我们用到了 TA 的公钥;但因为确定性推导的特性,当 TA 知道了这些公钥之后,又确实能为它们生成有效的签名。)

扩展公钥与扩展私钥

比特币钱包软件让你可以在同一个应用中使用许多个 “钱包” 并生成无数个地址。理解 “xPub” 和 “xPriv” 可以帮助你理解这是怎么做到的。

“xPub” 是 “扩展公钥(Extended Public Key)” 的缩写,而 “xPriv” 是 “扩展私钥(Extended Private Key)” 的缩写。简单来说,xPub 和 xPriv 是父密钥,钱包软件用它们就可以自动地产生不计其数的子密钥,并在软件中使用这些私钥和公钥。

作为比特币用户,理解 xPub 和 xPriv 可以帮助你:

探索能够丰富你的比特币使用体验的方法

理解公钥和私钥如何影响你的比特币的安全性和隐私性

理解为什么最好的比特币钱包都使用这样的规范

xPub 和 xPriv 并不是比特币钱包一诞生就有的东西,下面就是我们需要它们的理由。

xPub 和 xPriv 出现以前的比特币

第一种比特币钱包 Bitcoin-Qt,是有密钥管理问题的。它会随时生成一堆私钥,然后全部存储在计算机本地的 wallet.dat 文件里。

虽然这种办法也不是不行,但要是用户意外删除了这个密钥文件,或者遇到了恶意软件,那用户就可能会弄丢比特币。此外,如果你加密了这个文件,但忘记了加密的口令,也无法再复原你的资金。

作为 Bitcoin-Qt 的用户,要保证你的资金的安全,你还必须每当发起一笔交易就备份一次新版本的 wallet.dat 文件。当然,它还是没有针对忘记口令的解决方案。

为了让钱包和地址的管理不那么麻烦,人们提出了 BIP32(比特币升级提议 32),改变了私钥的生成方式。在这个协议中,比特币钱包不再需要为每一笔交易随机生成私钥,一个主密钥(master key)就足以按照预先定义的方式生成其它密钥。

用一种确定性的方式来生成私钥,意味着:

你只需要备份一个私钥(主私钥)

在多个钱包软件中使用相同的私钥变得更加便捷

下面,我们来看看父私钥是如何取代多个私钥的:

xPub 和 xPriv 的工作原理

比特币离不开密钥对的概念,其中,私钥是用来签名交易(转移资金)的,而公钥(本身是从私钥计算出来的),则是用来接收交易的。

至于 xPub(扩展公钥)和 xPriv(扩展私钥),它们当然分别是公钥和私钥,但是其作用跟上述的不同。它们的 “扩展性” 使得它们可以派生出更多的子私钥和子公钥。此外,就像普通的私钥和公钥的关系一样,扩展公钥也是从扩展私钥中计算出来的。

而且,派生出来的子密钥可以继续派生子密钥(对扩展密钥来说就是孙子密钥了)。但不论派生多少代,(因为派生的方法)每一代子密钥都携带其父密钥的唯一签名(就像 DNA 一样)。这种家族树一样派生程序,催生了新一代的比特币钱包 —— 层级确定式钱包。

在层级确定式钱包(也称 “HD 钱包”)中,选定了某一条 树路径/分支,也就确定了子密钥。持有父密钥(也就是 xPub 和 xPriv),你可以遍历所有分支来检查子密钥(译者注:实际上,完全遍历是做不到的)。

只需持有一个主密钥,就可以派生出许许多多的密钥;这样的便利给比特币打开了一个全新的世界,用户再也不需要在更好的隐私性与便利的备份之间权衡取舍。

(译者注:在 BIP 32 出现之前,“钱包” 与 “地址” 的概念几乎是等同的,因为地址之间没有关联,所以每一个地址都是一个钱包;但在 BIP32 出现之后,两者就可以分离了,一个钱包指的不是一个地址,而是一对拓展密钥(主密钥)推导出来的一组地址。当然,因为地址是层级式的,由路径决定,所以, 你可以给地址分组,从而产生其它的概念,例如,下文所说的 “账户”。)

实际操作 xPub 和 xPriv

你可以在同一个钱包中拥有许多账户

因为一个父密钥就可以生成出许多子密钥,钱包软件可以派生出子私钥和子公钥,并将这些子私钥和子公钥进一步用作父密钥,从而在一个主钱包中产生新钱包。

作为用户,如果你想在一个钱包中设立多个账户,这是非常有用的。你可以运用这种特性,将你的金融身份分离开来。例如,你可以设立一个用于私人支出的账户、一个用作商务的账户,甚至一个储蓄账户,无需建立多个比特币钱包。

易于保管你的密钥

随机生成私钥意味着你在备份时需要备份许多私钥。但实现了 xPub 和 xPriv 的钱包,备份起来就不必这么麻烦了。

因为父密钥可以确定性地生成子密钥,并将这些密钥用于你的交易,所以你只需备份一个主密钥就可以了。这个主密钥可以推导出你曾用在交易中的所有密钥。因此,你只需要备份主密钥,就可以复原你所有的资金。(译者注:对大部分单签名钱包,这段说法是成立的;但是,请记住,地址是由主密钥和派生路径决定的,不同钱包可能使用不同的派生路径,所以最好也备份派生路径,除非你非常确定被使用的派生路径是标准的。)

你可以在单个比特币钱包中共享资金

因为 xPriv 可以签名用它来生成的任意地址的交易,分享它就可以让受你信任的人代你发起交易。举个例子,一个阻止可以使用主密钥 xPriv 生成子密钥,并将这些密钥分别发给采购部门和员工薪酬部门,它们都可可以获得资金,但无法花费其他部门的资金。

因此,在分享 xPriv 时,应当极为小心,因为任何人只要掌握了你的私钥,就可以控制你所有的资金。

更好的隐私性

一个 xPub 可以生成许多子公钥,用来接收资金。这是一种非常简单的提升比特币交易隐私性的办法,因为它防止了许多交易数据跟同一个地址关联起来(如果你重复使用相同的地址来接收互无关联的交易,就有这样的风险)。

可以同时使用多种钱包软件

xPriv 和 xPub 是比特币世界的进步,它让用户可以使用不止一种钱包软件,而无需创建多个备份。

在某一个钱包软件中生成种子词之后,你就可以将它导入另一种钱包软件,并推导得出相同的 xPub 和 xPriv,并复原资金的控制权(即使你此前从没用过这种钱包软件)。

不过,不同的钱包可能使用不同的派生路径,所以你并不是一定能成功。在切换软件供应商之前,你可以先检查一下不同比特币钱包的兼容性。

安全地给不信任的人支付

因为私钥完全控制着你的资金,在联网、接收支付的设备上存储它们是不理想的。尤其是,如果你在不安全的支付处理器上存储私钥的话,任何恶意软件都可能让你损失资金。

但是,只需 xPub 就足以生成许多地址(用于接收支付),所以你不必让你的私钥暴露在可能的威胁中。

(译者注:作者在此处没有探讨的一种可能性是,当某人公开了自己的 xPub,我们就可以在其主人不知情的情况下使用其公钥 —— 我们可以用这个 xPub 推导出许多子公钥,然后放在我们的多签名钱包中。因为派生路径无限多,如果我们不告知原主人,TA 就不可能直到我们用到了 TA 的公钥;但因为确定性推导的特性,当 TA 知道了这些公钥之后,又确实能为它们生成有效的签名。)

扩展公钥与扩展私钥

比特币钱包软件让你可以在同一个应用中使用许多个 “钱包” 并生成无数个地址。理解 “xPub” 和 “xPriv” 可以帮助你理解这是怎么做到的。

“xPub” 是 “扩展公钥(Extended Public Key)” 的缩写,而 “xPriv” 是 “扩展私钥(Extended Private Key)” 的缩写。简单来说,xPub 和 xPriv 是父密钥,钱包软件用它们就可以自动地产生不计其数的子密钥,并在软件中使用这些私钥和公钥。

作为比特币用户,理解 xPub 和 xPriv 可以帮助你:

探索能够丰富你的比特币使用体验的方法

理解公钥和私钥如何影响你的比特币的安全性和隐私性

理解为什么最好的比特币钱包都使用这样的规范

xPub 和 xPriv 并不是比特币钱包一诞生就有的东西,下面就是我们需要它们的理由。

xPub 和 xPriv 出现以前的比特币

第一种比特币钱包 Bitcoin-Qt,是有密钥管理问题的。它会随时生成一堆私钥,然后全部存储在计算机本地的 wallet.dat 文件里。

虽然这种办法也不是不行,但要是用户意外删除了这个密钥文件,或者遇到了恶意软件,那用户就可能会弄丢比特币。此外,如果你加密了这个文件,但忘记了加密的口令,也无法再复原你的资金。

作为 Bitcoin-Qt 的用户,要保证你的资金的安全,你还必须每当发起一笔交易就备份一次新版本的 wallet.dat 文件。当然,它还是没有针对忘记口令的解决方案。

为了让钱包和地址的管理不那么麻烦,人们提出了 BIP32(比特币升级提议 32),改变了私钥的生成方式。在这个协议中,比特币钱包不再需要为每一笔交易随机生成私钥,一个主密钥(master key)就足以按照预先定义的方式生成其它密钥。

用一种确定性的方式来生成私钥,意味着:

你只需要备份一个私钥(主私钥)

在多个钱包软件中使用相同的私钥变得更加便捷

下面,我们来看看父私钥是如何取代多个私钥的:

xPub 和 xPriv 的工作原理

比特币离不开密钥对的概念,其中,私钥是用来签名交易(转移资金)的,而公钥(本身是从私钥计算出来的),则是用来接收交易的。

至于 xPub(扩展公钥)和 xPriv(扩展私钥),它们当然分别是公钥和私钥,但是其作用跟上述的不同。它们的 “扩展性” 使得它们可以派生出更多的子私钥和子公钥。此外,就像普通的私钥和公钥的关系一样,扩展公钥也是从扩展私钥中计算出来的。

而且,派生出来的子密钥可以继续派生子密钥(对扩展密钥来说就是孙子密钥了)。但不论派生多少代,(因为派生的方法)每一代子密钥都携带其父密钥的唯一签名(就像 DNA 一样)。这种家族树一样派生程序,催生了新一代的比特币钱包 —— 层级确定式钱包。

在层级确定式钱包(也称 “HD 钱包”)中,选定了某一条 树路径/分支,也就确定了子密钥。持有父密钥(也就是 xPub 和 xPriv),你可以遍历所有分支来检查子密钥(译者注:实际上,完全遍历是做不到的)。

只需持有一个主密钥,就可以派生出许许多多的密钥;这样的便利给比特币打开了一个全新的世界,用户再也不需要在更好的隐私性与便利的备份之间权衡取舍。

(译者注:在 BIP 32 出现之前,“钱包” 与 “地址” 的概念几乎是等同的,因为地址之间没有关联,所以每一个地址都是一个钱包;但在 BIP32 出现之后,两者就可以分离了,一个钱包指的不是一个地址,而是一对拓展密钥(主密钥)推导出来的一组地址。当然,因为地址是层级式的,由路径决定,所以, 你可以给地址分组,从而产生其它的概念,例如,下文所说的 “账户”。)

实际操作 xPub 和 xPriv

你可以在同一个钱包中拥有许多账户

因为一个父密钥就可以生成出许多子密钥,钱包软件可以派生出子私钥和子公钥,并将这些子私钥和子公钥进一步用作父密钥,从而在一个主钱包中产生新钱包。

作为用户,如果你想在一个钱包中设立多个账户,这是非常有用的。你可以运用这种特性,将你的金融身份分离开来。例如,你可以设立一个用于私人支出的账户、一个用作商务的账户,甚至一个储蓄账户,无需建立多个比特币钱包。

易于保管你的密钥

随机生成私钥意味着你在备份时需要备份许多私钥。但实现了 xPub 和 xPriv 的钱包,备份起来就不必这么麻烦了。

因为父密钥可以确定性地生成子密钥,并将这些密钥用于你的交易,所以你只需备份一个主密钥就可以了。这个主密钥可以推导出你曾用在交易中的所有密钥。因此,你只需要备份主密钥,就可以复原你所有的资金。(译者注:对大部分单签名钱包,这段说法是成立的;但是,请记住,地址是由主密钥和派生路径决定的,不同钱包可能使用不同的派生路径,所以最好也备份派生路径,除非你非常确定被使用的派生路径是标准的。)

你可以在单个比特币钱包中共享资金

因为 xPriv 可以签名用它来生成的任意地址的交易,分享它就可以让受你信任的人代你发起交易。举个例子,一个阻止可以使用主密钥 xPriv 生成子密钥,并将这些密钥分别发给采购部门和员工薪酬部门,它们都可可以获得资金,但无法花费其他部门的资金。

因此,在分享 xPriv 时,应当极为小心,因为任何人只要掌握了你的私钥,就可以控制你所有的资金。

更好的隐私性

一个 xPub 可以生成许多子公钥,用来接收资金。这是一种非常简单的提升比特币交易隐私性的办法,因为它防止了许多交易数据跟同一个地址关联起来(如果你重复使用相同的地址来接收互无关联的交易,就有这样的风险)。

可以同时使用多种钱包软件

xPriv 和 xPub 是比特币世界的进步,它让用户可以使用不止一种钱包软件,而无需创建多个备份。

在某一个钱包软件中生成种子词之后,你就可以将它导入另一种钱包软件,并推导得出相同的 xPub 和 xPriv,并复原资金的控制权(即使你此前从没用过这种钱包软件)。

不过,不同的钱包可能使用不同的派生路径,所以你并不是一定能成功。在切换软件供应商之前,你可以先检查一下不同比特币钱包的兼容性。

安全地给不信任的人支付

因为私钥完全控制着你的资金,在联网、接收支付的设备上存储它们是不理想的。尤其是,如果你在不安全的支付处理器上存储私钥的话,任何恶意软件都可能让你损失资金。

但是,只需 xPub 就足以生成许多地址(用于接收支付),所以你不必让你的私钥暴露在可能的威胁中。

(译者注:作者在此处没有探讨的一种可能性是,当某人公开了自己的 xPub,我们就可以在其主人不知情的情况下使用其公钥 —— 我们可以用这个 xPub 推导出许多子公钥,然后放在我们的多签名钱包中。因为派生路径无限多,如果我们不告知原主人,TA 就不可能直到我们用到了 TA 的公钥;但因为确定性推导的特性,当 TA 知道了这些公钥之后,又确实能为它们生成有效的签名。)

ordinals教程:为铭文增加聪,防止交易NFT被当作矿工费发送

1.三月初,有人问我如何增加铭文的价值,我当时只说了一下原理,没有实际操作。现在随着铭文交易越来越多,铭文价值的损耗导致铭文聪数量越来越少,我觉得有必要写一个详细的教程,教大家怎么把一个比特币铭文重新增加聪数量。

2.使用钱包:sparrowwallet

因为sparrow可以直观的把钱包里的每一个UTXO直观的列出来,并且可以冻结UTXO,防止操作失误,将两个铭文合并了。

3.一笔比特币交易的手续费

一般来说,一个典型的单输入、单输出比特币交易的大小约为 190 - 220 字节。然而,交易大小可能因上述原因而有很大差异。多输入、多输出交易会更大。当前费率一笔交易手续费大概在2000聪左右。

4.每个铭文的价值大小

ordinals客户端规定的每一个新铸造的铭文大小是10000聪,随着转移次数增多,会逐渐损耗。可以在铭文浏览器里查看当前铭文的output value,除非是第三方铸造人为限制,否则都是 10000聪。

5.如何操作增加utxo value

5.1 首先需要有一个低output value的铭文UTXO,和另一个空闲的UTXO。

5.2 先冻结其他的有铭文的UTXO,防止选错了需要合并的UTXO导致铭文合并。

5.3 选定两个UTXO,发送到一个属于本钱包的空白地址,设置一个大于NFT 价值的数额,就会产生两个输入,三笔输出,三笔输出分别是新的UTXO,找零,矿工费。

6.其实并没有严格的“先入先出”规则,所以至少在还剩2500聪之前进行增加保护聪数量。

在比特币交易中,并没有严格的“先进先出”(FIFO)原则来规定如何选择输入UTXO(未使用的交易输出)。实际上,选择哪些UTXO作为交易输入是由钱包软件或用户自己决定的。通常,钱包软件使用一种称为“coin selection algorithm”(硬币选择算法)的方法来确定使用哪些UTXO作为交易输入。

不同的钱包可能采用不同的硬币选择策略,包括:

最佳拟合算法(Best-fit): 钱包尝试找到刚好满足交易需求的UTXO,从而最大程度地减少找零。

优先选择较大UTXO(Largest-first): 钱包首先选择较大的UTXO,直到满足交易需求。这种方法可能导致更多的找零。

优先选择较小UTXO(Smallest-first): 钱包首先选择较小的UTXO,直到满足交易需求。这种方法可能导致更多的输入,从而增加交易大小。

随机选择(Random selection): 钱包随机选择UTXO,直到满足交易需求。

混合策略(Hybrid strategies): 钱包可能结合以上策略,以便在满足交易需求的同时,平衡手续费、隐私和其他因素。

因此,在比特币交易中,并没有强制的先进先出原则。钱包软件会根据其设计和用户需求来选择合适的UTXO作为交易输入。如果需要,用户也可以手动选择输入UTXO以满足特定需求。

7.总结

尽量提前给重要的比特币nft充值保护聪,相比一万聪的价格,重要的铭文可能更值钱。

大部分轻松的、躺赚的、暴利却合法的生意,早已被地方势力联盟,瓜分完毕。留下给普通老百姓的,大多是吃力的、难度较大的、竞争激烈的、利润微薄的卖力生意。

好不容易找到好挣钱的路子,也会很快被盯上,这碗饭你不一定吃得久,吃得稳。部分财阀还会培养优质的年轻人或寻找底层的凤凰,作为联盟利益代表,参一脚。

上面制定规则,然后鼓励下面适应规则,结果导致穷人越来越穷,而且这个世界需要大量的穷人,所以有人故意让你一直穷下去,最好世世代代的穷下去。

你知道为什么会这样吗?

因为这个世界需要穷人,需要大量的穷人,所以有人想你穷下去,世世代代穷下去。

90%勤奋努力的人养活了10%不劳而获的人。而这90%的人存在的目的,就是为了帮助另外10%的人活得更好。然后这10%的人绞尽脑汁,不断的去设计各种规则来限制、控制90%的人。富人的财富都来自于穷人的劳动,穷人越努力,富人就越富有,这才是所谓的勤劳致富。

为什么很多普通人辛劳一生,仍然挣不了几个钱,其实不是因为这些人不上进,不努力,而是因为这一切都是被设计好的,只是你不知道而已。这个世界需要大量的普通劳动者来干活,有人专门设计了很多返贫的陷阱,让大家很难跨越这个节奏。

首先学校是不会教你怎么赚钱的,你学的那些东西其实都是为了让你变成了90%的一部分。工资,只是奴化人性的一种手段。当你接受了工资的概念那一刻起,你的思维就已经被套上了枷锁。

好不容易你辛辛苦苦工作了几年,有了一点点积蓄,又设计出房贷车贷,把你未来的几十年都掏空。你通过车贷房贷获得了车子,房子,你得意洋洋,却不知道你陷入了一个圈套。然后你就得每天早出晚归,忙到停不下来,你根本没有时间思考其他的东西。让你余生都只能是为了糊口,不能停下,且无翻身之日。

富人最大的财富,不是豪车豪宅,也不是乱七八糟的存款文物,富人最大的财富,是穷人。

我一直觉得会用 ChatGPT 和如何用好它是两码事,两者的关键就在于你能否写高质量的提示语!

跟着这个简单方法论,就能让 ChatGPT 完美理解你!

🌸 这个方法论:

定义角色 + 背景信息 + 任务目标 + 输出要求

1⃣ 定义角色:让 AI 清楚自己要扮演的角色,例如币圈运营、技术或设计

2⃣ 背景信息:提供详细、准确的背景信息和前提条件,这样它才能更好地为你提供有针对性的回答和建议

3⃣ 任务目标:清晰地描述你希望 AI 完成的任务

4⃣ 输出要求:告诉 AI 如何完成任务,包括格式、回答节奏等限制性条件

但这还没有结束,最后也是最关键的一步!特别是当你要拿这个输出物去提交给领导时,切记要修改成“人味儿”的东西

这个材料不能让领导发现是 AI 生成的,要让人一眼就能看出是你写的😆😆

比特币钱包备份方案简史

制作比特币钱包备份时,我们希望根据自身需要和风险情况,找出下列特性的最优组合方案:

冗余性:存有几份完整的备份副本。

安全性:第三方获得完整的备份副本的难度。

复杂性:用来创建、保护和找回副本的系统的复杂程度。

健壮性:面对不利的政治、社会、时间和环境条件,备份能否安然无恙。

跨钱包兼容性:备份能否用于不同的钱包。

虽然上述特性之间不存在绝对对立,但是试图增强一个特性往往需要我们在另一个特性上做出妥协。

确定性 vs 非确定性

我们将要讨论某些确定性和非确定性操作。确定性和非确定性的定义如下:

确定性:只要输入相同,每次生成的输出必定相同。

非确定性:输入相同,每次生成的输出可能不同。

私钥 可能会经由确定性或非确定性方法生成,详见下文。

地址 通过确定性方法由一个或多个公钥和锁定脚本单独或共同生成。

确定性和比特币脚本

虽然地址生成本身是确定性的,但是从备份的角度来看,备份中仍有必要包含钱包所用的脚本和派生路径。如果没有这些,通过此备份找回的钱包可能会不知道被发送至某一地址的代币属于它,也不知道如何花费这些代币!

这里有一些“脚本模板”可以为你提供捷径:

“标准”地址类型(例如,P2PKH、P2WPK、P2WPKH)本质上是特定脚本的模板。钱包可以利用这些模板通过一组特定密钥暴力生成通用地址类型。

请注意这些捷径本质上依赖的是隐含信息,而非让备份 明面上 包含所有必要数据。因此,这类备份的健壮性较弱。如果将来有一天隐含信息丢失了,依赖它的备份可能会失去作用,或者需要大量(甚至于不可能完成的)暴力破解。

关于如何在备份中显式包含使用一个或多个密钥的脚本,查看下文的“输出描述符”章节。

比特币备份技术发展史

我们将跟随比特币骨灰级用户 Alice 的视角,看她这些年来是如何好好保护钱包备份的。

理想情况下,Alice 的备份应该具备冗余性、安全性、健壮性和低复杂性。即使是在她本人失联的情况下,也可由她选择的受益者轻松安全地访问。

早期比特币软件

就最早期的 Bitcoin Software 版本(Satoshi 客户端,也就是如今的“Bitcoin Core”)而言,备份采用的是原始手段。Alice 能采取的最佳措施就是定期备份 wallet.dat 文件(由软件钱包创建并使用)。虽然此系统复杂程度较低,但它既不安全、健壮,也不具备很强的冗余性 —— 除非 Alice 手动创建很多副本。

发送或接收交易时,软件会动态生成新的密钥。也就是说,每当 Alice 执行一笔交易或生成一个新的收款地址时,她都要重新备份更新后的 wallet.dat 文件,因为该文件中包含了以往备份中不存在的新密钥。

如果 Alice 勤勤恳恳地为她的 wallet.dat 文件创建了多个冗余副本,那么她每执行一笔交易就得更新 所有副本。说它容易出错、用户体验差已经很客气了。

备份 wallet.dat 文件的好处之一是交易和钱包元数据同样会被备份。这里面也包括了分配给地址的“标签”,这样 Alice 就可以记住每个币(更具体地说是 UTXO)来自何处或被送往何处。详见后文。

密钥池(Key Pool)

后来,比特币软件新增了“密钥池(Key Pool)“ 功能。默认情况下,密钥池中包含 100 个私钥可用于未来交易。这意味着,从技术角度来说,用户无需在每次交易后都进行备份。

软件提前生成 100 个随机的非确定性私钥,并将它们保存在 wallet.dat 文件内。Alice 进行交易(收付款)时,软件会从密钥池中选择一个私钥用来生成一个新的找零或收款地址。紧接着会再生成一个新的私钥补充到密钥池中,确保未使用的地址数量为 100 个。请注意,Alice 的当前备份中不包含新生成的私钥,但是其余 99 个都在。

引入密钥池后,Alice 的备份虽说没那么容易出错了,但她需要追踪密钥池的状态。备份的复杂性本质上没有变化,因为 Alice 必须确保同步更新备份的所有副本,否则就要承担降低冗余性的风险。

这意味着,Alice 需要定期备份钱包,只是可以选择延长时间间隔而已。当时,指南上说的是你只需“大约每 30 笔交易”备份一次即可。Alice 担心自己会忘了上次备份后执行的交易数量,于是仍选择每笔交易备份一次。

纸钱包

2011 年中,纸钱包变成了热议话题;它为 Alice 这样的用户提供了一种简单的方法,让他们能够轻松形成复杂性极低的有形实体备份,并且容易实现冗余性。纸钱包的安全性非常低 —— 只要是拿到副本的人都可以立即访问并卷走钱包里的资金,除非钱包还使用了强大的 BIP38 密语。

纸钱包通常会存储转化成钱包导入格式(Wallet Import Format, WIF)的单个私钥及其对应的 P2PKH 地址,并使用二维码表示,以便用户使用手机相机或网络摄像头扫描。安全生成并打印出来之后,Alice 就可以放心将比特币发送到自己的地址。

花费比特币时,Alice 必须将私钥导入她的钱包软件,后者会生成对应的 scriptPubKey 并扫描区块链以找到匹配的 UTXO。使用这些 UTXO 作为交易输入,软件钱包就可以构建并签署交易,并将其广播至点对点网络或挖出包含此交易的区块。

但是,纸钱包的缺点也很多。

从协议的角度来看,最大的问题是纸钱包实际上只支持备份单个密钥,这是在鼓励用户重复使用地址,不利于保护隐私性。此外,虽然比特币离线存储(在纸上)时可能是安全的,但你在花费比特币时仍需将你的私钥加载到计算机上才能生成交易,使得你容易遭受一切针对此计算机的攻击。

确定性钱包

又被叫作:非分层确定性钱包

2011 年,其它比特币钱包实现开始使用 确定性 密钥派生形式。通过这些方案,用户能够根据单个随机生成的“种子”确定性地生成大量新密钥。确定性钱包主要有两大优点:

可以备份单个对象(种子)

可以派生新的地址用于执行每笔交易,而不会导致以前的备份失效。

这样一来,Alice 就可以增加备份的冗余性,同时还能保留为每笔交易使用新地址的最佳做法。

备份单个种子也为更加健壮的备份存储介质开辟了新的可能性,因为种子无需备份在数字介质上,尽管在引入 BIP39 之前几乎没人探索过新的可能性。

BIP32 和分层确定性钱包

HD:分层确定性

BIP32:分层确定性钱包

2012 年初提出的 BIP32 试图改进早期的确定性钱包设计,并使用预先确定的层次结构和派生路径语法支持根据单个种子派生多条子密钥链:

HD wallet chain derivation

这使得单个备份可以对应多个独立的钱包,从理论上来说甚至可以对应多种密码获币,只要用户记住并备份使用的派生路径即可。

虽然 BIP32 并未显著改进非分层确定性钱包的备份体验(二者实际上都需要备份单个种子),但它确实为未来的钱包设计提供了一个重要基石。

请注意,BIP32 的提议者之一 gmaxwell 后来评论道:

BIP32 根本无法代替备份,最多只能保护密钥材料。它没有采取任何保护元数据的措施,但元数据可能会起到绝对关键的作用……

以及

我有点后悔发明目前最常用的公钥派生方法了 —— 出现了使用过度和损害安全性的问题(通常是因为用户没有理解其影响)。

备份元数据可能会起到重要乃至关键的作用,但是 BIP32 方案并未涉及这方面。

P2SH

2012 年中,P2SH 地址类型问世。使用 P2SH 地址时,接收方会对其用来锁定比特币的(赎回)脚本运行哈希计算,并使用得到的哈希值生成地址。之后,只有当接收方想要花费此比特币时,才需要将赎回脚本作为 ScriptSig 的一部分公开。欲知更多详情,请阅读 BIP16。

从备份的角度来看,这意味着使用 P2SH 地址收款的钱包除了私钥(们)之外还有个新的东西需要备份:解锁脚本(通常被叫作 redeemScript)。

此数据无法像 主/子私钥 和公钥(以及 P2PK 或 P2PKH 地址)那样以确定性方式由种子派生而得。

从下方来自 transactionfee.info 的图中,我们可以看到 P2SH 地址直到 2014 年以后才真正得到广泛使用。

p2sh usage graph

Alice 本人没有使用过 P2SH 地址,因为手抄比特币脚本实在太容易出错,而且可用工具有限,钱包兼容性也很差。

硬件钱包,BIP39 和 BIP44

BIP39:用来生成确定性密钥的助记词

BIP44:确定性钱包的多账户分层结构

2013 年,第一代“硬件钱包”Trezor 初次亮相。第一版 Trezor 的设计目标很简单:让用户能够将其私钥存储在安全、离线且静态交互(airgapped)的设备内,并使用该设备内的私钥签署有效的比特币交易。

Trezor 采用的是分层确定性钱包设计。为了弥补其不足,Trezor 团队 (SatoshiLabs) 设计了 BIP39,注明了随机种子与助记词之间如何进行双向转化。这意味着,确定性或分层确定性钱包的用户再也无需备份一长串用来表示种子的字母数字(或十六进制)字符串,只需备份 12 或 24 个(英语)单词即可。

十六进制种子示例:

3d1d3da431ce5f2f26a4fd3b481c285edac280cebdbc3fbbf7739c2ccbb73f99acc816687daa86ef51a7fb95c19f170da5aafbf49a9e4177abc4cad13a3c7ca2

助记词示例:

check day then tiger collect join hotel hawk absorb ginger wash track crowd hero scale

你可以在这个网站上生成自己的 BIP39 助记词,以了解更多助记词、种子和根密钥的例子,但是请勿真的将通过该网站生成的钱包用于交易。

BIP39 极大拓宽了种子备份方案的可能性。用户开始在存储介质上肆意发挥创造力。现在,Alice 能够增强其备份的健壮性。

但是,硬件钱包依然存在一个问题,虽然从理论上来说,硬件钱包已经能够根据种子生成签署交易所需的私钥了,但是它们可能不知道应该通过哪条 BIP32 派生路径这么做。

BIP44 试图通过为 BIP32 派生描述符的不同部分指定含义来解决该问题。BIP44 实现后,硬件钱包就能知道应该跟随哪条 BIP32 派生路径(例如,表示为 m/44’/0’/0’/0/0 的形式)派生密钥和地址。

硬件钱包、BIP39 和 BIP44 对 Alice 的影响是,Alice 不仅可以安全地生成助记词,还能轻松实现备份冗余性。Alice 可以使用在线(热)钱包(通过 xPub 主公钥)生成收款地址,并安全地使用硬件钱包离线签署交易。

助记词备份方案

BIP39 之后,很多有趣的助记词存储设计得到了试验:1、2、3、4、5、6 。

SegWit(隔离见证)

BIP141:Segregated Witness(共识层)

BIP49:基于 P2WPKH-nested-in-P2SH(P2WPKH 嵌套在 P2SH 中)的账户的派生方案

BIP84:基于 P2WPKH 的账户的派生方案

SegWit 生效之前,钱包和签名设备需要在备份时考虑以下地址类型:

P2PK

P2PKH

P2SH

2017 年的 SegWit 升级引入了新的标准地址脚本,即,Pay-To-Witness-PubKey-Hash (P2WPKH) 和 Pay-To-Witness-Script-Hash (P2WSH),二者都使用了新的 bech32 地址编码。

这意味着需要新的派生规范来帮助钱包决定如何根据种子派生这几类地址以及花费地址上的余额。P2WPKH 的相关规范都写在了 BIP84 里。

除此之外,新的 SegWit 地址类型也可以用旧的(兼容性更好的)P2SH 格式“包裹”起来,例如,P2SH-P2WPKH。这意味着未升级的旧版钱包仍能向支持 SegWit 的钱包付款。BIP49 详述了 P2SH 包裹下的 P2WPKH 地址的派生。

SegWit 本身并没有为备份方案带来很大改变,但它确实开始在交易费层面上降低了复杂脚本的成本,并满足了大量使用多签、门限多签乃至更复杂脚本的新型比特币应用和服务的需求。

就像 P2SH 那样,如果 Alice 想要使用自定义脚本作为 P2WSH 的一部分,她需要单独备份此脚本,但这里是作为“见证脚本(witness script)”的一部分。

另外需要注意的是,备份方案的复杂性正在呈指数级增加。比特币每经历一次技术迭代,都会出现需要额外备份的信息,这是个需要解决的问题。

Taproot、脚本和备份

在 Taproot 的进一步支持和激励下,用户能够使用更为复杂的自定义脚本。用表格列出需要备份的信息似乎是个不错的主意……

Bitcoin Core 开发者 Gloria Zhao 绘制了一张很有用的表格,展示了各种地址类型及要求,其中加粗的脚本元素需要额外备份。

Output Type scriptPubKey scriptSig redeem script witness

P2PK OP_CHECKSIG

P2PKH OP_DUPOP_HASH160OP_EQUALVERIFYOP_CHECKSIG

P2SH OP_HASH160OP_EQUAL (arbitrary)

P2WPKH 0

P2WSH 0

P2SH-P2WPKH OP_HASH160OP_EQUAL 0

P2SH-P2WSH OP_HASH160OP_EQUAL 0

P2TR (key path) 1

P2TR (script path) 1

如何把MAC里的Bitcoin Core数据搬迁到外接移动硬盘上?

Full node的Bitcoin Core一直在同步账本,因此占用的硬盘不停在增加,现在的block数据大约540G。为了缓解焦虑,决定动手将Bitcoin Core的数据外迁。先看看成果,妈妈我的硬盘空间又充足啦!

数据搬迁的思路其实很简单,就是把最占空间的blocks目录和indexes目录放到移动硬盘上,然后更改bitcoin core的目录指定到移动硬盘的相关位置。但尝试运行指定目录命令如--bitcoin-data-dir

发现在mac上没有用,直接用bitcoin qt命令后出现无法加载block database的错误。【图2】感谢 @practice_y11 提供的思路,巧妙的利用MAC中的“替身”解决了路径的问题。整理出来留给有需要的人。

1,找到bitcoin core现在存储的目录地址 默认在~/Library/Application Support/Bitcoin ;

2,在新外接硬盘上建立 /Volumes/My Elements/Applications/Bitcoin 目录;

3,在Core关闭的情况下,将1目录里的所有文件copy到2目录下,目前的数据大约650G;

4,等Copy完毕以后将1目录的Bitcoin文件夹更改为BitcoinOLD;

5,在1目录下建立一个替身,名字为Bitcoin,替身路径指向2;这里可以使用手动创建替身并复制到1目录下,也可以使用在终端里输入:

👉cd ~/Library/Application\ Support

👉ln -s /Volumes/My\ Elements/Applications/Bitcoin/ ./Bitcoin. 这里我的硬盘名字叫做 My Elements,\代表中间的空格。这两个命令在application support下创建了一个链接到新的硬盘位置。

6,重新打开Bitcoin Core,软件会显示“Reindexing blocks on disk.” 这样可以避免重新下载blocks;【图4】

7,等待所有reindexing完成以后,bitcoin core会同步最新的block,此时的block数据会写入SSD外接硬盘;等待软件可以正常使用后,删除1中BitcoinOLD目录下的数据,节约650G的存储空间。

至此数据迁移完成,利用替身来解决MAC上跑BitcoinCore指定目录的问题还是比较巧妙的。我买了一个2TB的西部数据,花了850大洋,2TB的硬盘只有Iphone的一半大小,不得不说是挺小的。

如何搭建 Bitcoin Core 比特币全节点

准备工作

为了搭建全节点,你需要提前准备好这几样东西:

一个至少 2TB 容量的 SSD 移动固态硬盘

一个稳定的梯子

一台电脑

截止到2023年3月,比特币全节点的占用空间为464GB,并且每个月都会增加5-10GB,因此你需要一块容量足够的硬盘,这不只是为了满足当前的需求,我们还要为未来几年预留空间。

2TB 的 SSD 硬盘价格现在已经很便宜了,请不要考虑 HDD 机械硬盘,亲测读写速度感人。在同步区块这种需要高频读写的操作中,同步所需时间能轻松飙到几个星期甚至更长,慢到你怀疑人生。

下载比特币核心客户端(Bitcoin Core)

首先,你需要下载比特币核心客户端并安装在你的计算机上。这个软件可以从比特币官网上下载 https://bitcoin.org/en/download

在左侧,选择对应的操作系统,用什么系统就下载什么版本。

在页面的右侧,点击 “Verify release signatures”,浏览器会下载一个名为 ”SHA256SUM.asc” 的文件,这个后面会用到。

验证签名和客户端安装包

接下来,我们要验证「签名」和「客户端」的真伪,许多人会掉以轻心。但严谨起见,我们应当确保自己下载的安装包没有被篡改,货真价实。如果你不是技术控,可以跳过这一章节。

1)验证签名

访问 Bitcoin Core 网页,你可以清楚地看到,Bitcoin Core 0.11 及以后的版本的安装包都是由 Wladimir J. van der Laan 的发布密钥签名的。下面的教程我会以 macOS 为例,其他系统的设置基本通用。

复制这串 PGP 指纹:

01EA 5486 DE18 A882 D4C2 6845 90C8 019E 36C2 E964

打开你的电脑终端。

macOS 用户,敲击 CTRL + 空格键,唤出 Spotlight,输入 terminal,打开终端。

Windows 用户,敲击 Windows + R 键,打开运行窗口,输入 wt,打开终端。

在终端中,键入如下代码,导入 PGP 公钥。

gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 01EA5486DE18A882D4C2684590C8019E36C2E964

接下来,在终端中通过 gpg –verify 命令来验证 PGP 签名。

gpg --verify 你的SHA256SUMS.asc路径

实用技巧:直接将您的文件拖拽入终端,它会自动补全路径。

然后敲击回车,如果一切顺利,你会看到 Good signature from “Wladimir J. van der Laan“ 字样,证明这的确是 Bitcoin Core 核心开发者 Wladimir 的签名,验证成功。

2)验证安装包

前往https://bitcoin.org/en/download ,找到你刚才下载的安装包的版本,这里以 Bitcoin Core 22.0 举例。根据下方图示,找到 SHA256SUMS 文件并并载。这个文件里就包含了当前版本所有平台的 SHA256 签名信息。

下载好后,在终端中使用如下指令验证安装包。

macOS:shasum -a256 你的安装包路径

Linux:sha256sum 你的安装包路径

Windows: certUtil -hashfile 你的安装包路径 SHA256

你可以直接把安装包丢入终端,它会自动补全路径。敲击回车,这时候你可以看到出现一串字符,将这串字符与 SHA256SUMS 文件内容比对,你会发现版本、签名信息一致。

至此,安装包验证完毕。

安装客户端

是不是对刚才「签名」和「安装包」的验证感到心烦意乱?

这很正常,安全总是要付出一些代价的。

接下来,我们开始安装客户端。

打开下载好的 DMG 安装包,将 Bitcoin Core 程序拖拽到你的应用程序文件夹中。

WIndows 用户双击 .exe 安装程序,按提示一路操作即可。

初次启动客户端,你需要指定区块的存储位置。

这里我们选择 “Use a custom data directory”,并指定你的移动硬盘作为路径。

至于为什么不使用默认路径作为区块的存储位置,是因为电脑容量有限且昂贵;移动硬盘则更灵活,即插即用,即便有一天你换了电脑,也可以无缝将比特币区块同步过去。

安装好后,打开 Bitcoin Core。你会看到如图所示的界面,此时应用程序会自动开始同步区块。

在正式同步之前,我们还需要做如下设置:

去掉 Prune block 选项(我们需要同步所有比特币网络的区块,修建区块则达不到这个目的)

勾选 Enable RPC server

打开配置文件,在文件中输入 txindex=1 (这会要求客户端从第一个TX开始索引,进而确保所有区块索引有效)

同步比特币区块

这个过程是漫长的,做到以下几点,可以极大提升速度:

如果你在中国大陆,确保你的梯子打开全局模式

确保你的梯子流量足够,整个同步过程会消耗大约500GB流量。

选择响应更快的梯子节点,比如临近的香港、台湾节点。

同步过程中,强制让电脑不要休眠,不然同步可能被中断。

推荐 macOS 用户使用 Amphetamin 这款免费的应用来保持电脑清醒,直到同步完成。

根据一些朋友的测试数据,正常情况下,同步所有区块会花费6-12小时,如果你的区块同步时间长达一星期甚至更久,要么是网络有问题,要么是硬度的读写速度太慢。

大功告成

当你看到如图所示界面时,证明所有区块已经同步完毕。

现在你可以尽享全节点的好处了,比如以最低的成本铸造自己的 Ordinals NFT、更好的交易隐私等等…

我会在以后的教程中展开,辛苦了,Enjoy。

来自王一石

lnbc880n1pjz05cqpp5f23llphhetmxhx29k0xvyer950c4uz99q3va9l39cs86tmpr354sdqqcqzzgxqyz5vqrzjqwnvuc0u4txn35cafc7w94gxvq5p3cu9dd95f7hlrh0fvs46wpvhdq8upgj3w0v0jvqqqqryqqqqthqqpyrzjqw8c7yfutqqy3kz8662fxutjvef7q2ujsxtt45csu0k688lkzu3ldq8upgj3w0v0jvqqqqryqqqqthqqpysp5gx88q3u3nrmdm2athy3m772p7wn03r0c4ggsnlyrww70uqwfuvts9qypqsqvafj4x82k77xs33kvg99f9ksj7sad5tz9agax2ql7upnmwpq2duqugc2ttx8tn20w6l6vrqlxmxy3jl8mdsqmfp4gafgqyxrpsw7nlgpkdzn8q