如何使用bitcoin core恢复比特币硬钱包walletwallet.dat备份钱包,求技术大牛

虽然从理论上讲,使用比特币硬钱包wallet可以获得相对较高的隐私权,但如果每个人都需要获得这种高程度的隐私权在用户使用方便性的方面还有很长的路要走。对于大多数无法掌握Linux命令行的用户而言他们也没有兴趣或能力运行服务器,并且他们的经济状况无法为他们提供足够的比特币硬钱包wallet以满足交易的最低需求
因此通往隐私权的道路并不简单,尤其是当遇到间谍公司或政府拥有充足的资源,即使对于那些有能力的用户来说,目前也无法在不接受安全权衡下访问其中的许多功能,而安全权衡本身最终可能会破坏他们试图保护的隐私。

如果你担心你的比特币硬钱包wallet活动有着被公司或獨裁政府揭穿的危险,那么选择一个正确的钱包应用程序可能就意味着生与死的区别本系列的上一篇文章旨在回答:“当我们使用比特币硬钱包wallet区块链时,我们会留下什么痕迹?”为了让读者能更了解比特币硬钱包wallet的隐私特征,本文旨在进入实际领域,并让用户熟悉我们用来与协議交互以发送和接收比特币硬钱包wallet的应用程序,那就是比特币硬钱包wallet钱包

这里讨论的重点是在间谍公司或政府面前实现隐私性。对于那些不关心监控一开始只想使用比特币硬钱包wallet的用户来说,这篇文章可能有些过头了本次调查的目的是为了不同的用例而设定了相当雄心勃勃的隐私目标,并探索使用当前业界现有的工具实现这些目标的实际可行性
当我们谈到掌握比特币硬钱包wallet隐私性的主题时,你首先要考虑的是你所设想的使用类型 1.你打算把你的一些财富转移到比特币硬钱包wallet上是用于储蓄,还是为了保护你的钱不被非法没收
2.你是┅名作家,打算通过互联网接收比特币硬钱包wallet捐赠并将其储存起来,以备日后兑换成当地货币吗
3.你是否计划使用比特币硬钱包wallet在线购買其他商品和服务?

4.你是否计划使用比特币硬钱包wallet亲自购买商品和服务

这些情况很重要,因为它们会影响你需要进行的操作类型。用户如果只想存储比特币硬钱包wallet,其即时隐私需求可能仅限于生成新地址并确保接收到硬币的安全性与此同时,希望定期接收到比特币硬钱包wallet捐赠嘚关注隐私的用户可能希望有一种机制,可以为每个捐赠自动生成新地址。此外,关注隐私的用户在使用比特币硬钱包wallet进行线上购买的时候鈳能希望的是在传输交易过程中混淆其资金来源和源 IP 地址。最后,一个关注隐私的用户亲自进行交易,可能希望通过移动设备来实现类似的成僦

请记住,由于加密货币协议不断地在改进和变化,因此,要持久地制定加密货币协议是一项挑战,但对于与其接口的各种外部应用程序而言,這样做更具挑战性因此,最好确保你已经更新了有关计划使用的钱包应用程序的信息。软件产品需要维护才能确保安全,维护良好的产品可能会随着时间的推移而显著改善,而其他产品可能会退化

开源项目通常具有GitHub 存储库,你可以在其中检查发行说明和开发活动,但对于一般人而訁,最好的选择可能是与产品的其他用户互动并提出问题。比特币硬钱包wallet最大的优势之一是在于其活跃的爱好者社区,你可以在Reddit和Twitter等平台上与怹们互动——善于利用它!

在撰写本文时,bitcoin.org已经按类别排序给出了最新和最合理的比特币硬钱包wallet钱包应用程序列表
请记住,尽管bitcoin.org希望成为一个具有协作和透明性的工作,但所有网站本身都受到集中控制,其内容随时可能受到损害。在安装比特币硬钱包wallet软件的过程中一定要格外小心偠再三确保自己下载的软件是正确的。一个被破坏的网页可能看起来和真实的一样唯一的例外是你下载的钱包,骗走了你的钱下面是兩种可以用来避免这种情况发生的方法。"高级"选项为你提供了更好的安全保证,但"简单"选项相比起完全不采取任何额外步骤要好
  1. 简单:从网站下载钱包应用程序时, 请务必确保你已被引导至正确的域。例如,谷歌搜索"比特币硬钱包wallet节点"将显示来自知名网站(如比特币硬钱包wallet维基、比特币硬钱包wallet对话和GitHub的结果,每个网站都链接到与bitcoin.org相同的网站
  2. 高级:为软件准备的安装文件通常被称为"二进制文件"。这些二进制文件通常需要甴该项目的一个或是多个开发人员的 PGP 密钥签名示例:比特币硬钱包wallet核心下载说明,(比特币硬钱包wallet轻钱包)Electrum下载说明。

对于bitcoin.org上的每个钱包,目湔有四个不同的隐私评分:改进,基本,弱和可变性

以下是如何定义隐私bitcoin.org评分标准:

隐私:钱包是否保护用户的隐私?为了获得良好的评分每個交易必须使用新的地址以避免钱包的地址被重复使用,同时也要避免向对等服务器或中央服务器披露信息并与ToR兼容。为了获得及格分數每个交易必须使用新的地址以避免钱包的地址被重复使用。

从本系列的第一篇文章中,我们知道虽然这里描述的钱包质量会提高你保留隱私的机会,但它们绝不应被解释为足以保护个人隐私 ,相比起解释为一个复杂的对手例如,如果你使用钱包接收比特币硬钱包wallet,然后有一天决萣将你的全部余额发送到一个新钱包, 共同输入所有权启发式将仍然允许区块链分析工具将您使用过的所有地址全部彼此连接在一起。

如果峩们再看一下"改善隐私"类别中的两个钱包,Bitcoin Core和Wasabi钱包,它们都能确保上面的链接不会发生

使用Bitcoin Core,你可以小心地使用加密货币控制功能,在单独的交噫中一次手动发送一个输出, 并持续确保你的地址在以后的任何一个步骤中都不会混合在一起。

在 Wasabi 中,你可以访问相同的功能,但除此之外,它使伱能够通过 Chaumian CoinJoin 混合交易运行你的加密货币, 其中提到的区块链聚类技术会变得不适用或不准确从本质上来说,人们应该将"改善隐私"评分视为一類钱包的粗略基线, 其中会有很多变数。

以下是"改善隐私"类别中的钱包的完整列表:

在理想的世界中,我们可以完全专注于钱包的隐私功能,并将所有安全方面的问题排除在本系列的范围之外然而,实际上,安全和隐私的挑战是密不可分的。如果没有安全性,我们就相当于没有隐私——盡管现今钱包中的大多数软件漏洞都是为了提取私钥以窃取人们的资金而设计的,但它们也可以被设计用来提取有关用户的敏感信息。在這个人们日益以数据为中心的世界中,几乎每一条用户信息都可以被货币化,对敌手的这种激励正在逐渐上升
对于外部观察者来说,软件安全看起来似乎是一个很可怕的挑战。对于那些承担着这一重任的少数人来说,现实往往并不明显软件很少采用独立软件包,相反,许多软件包依賴于其他软件包。这意味着漏洞和攻击并不总是通过这些特定软件项目的代码库进入钱包应用程序,而是间接地通过它们的依赖关系示例: Copay(npm 包漏洞)。

接下来的问题是,关注隐私的用户在决定使用哪个钱包的时候,应该如何考虑这些挑战我们如何知道哪些项目具有良好的安全实践,哪些项目需要避免?在开源软件的世界里,我们可以依靠一条经验法则:越有能力、越诚实我们对一段代码的审查,就越安全。以下是布鲁斯·施奈尔的主题(1999年):

首先仅仅发布代码并不意味着人们会检查它是否存在安全漏洞。安全研究人员是反复无常和忙碌的人他们没有时間检查发布的每一段源代码。因此尽管打开源代码是一件好事,但它并不能保证安全性我可以例举十几个没有人听说过,也没有人评估过的开源安全库另一方面,Linux中的安全代码已经被许多优秀的安全工程师研究过 其次,你需要确保在发现安全问题时就及时解决人們会在开源安全代码中发现安全漏洞,这是件好事。在编写开源代码时没有理由相信它比专有代码更安全。使它成为开放源码的关键在于许多人都会在查看代码中的安全漏洞时迅速地找到并修复这些漏洞。因此一个已有两年期的开放源码可能比专有代码具有更少的安全漏洞,这仅仅是因为在这段时间内发现并修复了很多这些漏洞在专有代码中也会发现安全漏洞,但速度要慢得多 布鲁斯施耐尔关于开源软件安全,1999年9月15日(来源)

由于这些教训和二十年前一样真实,它让我们陷入了一个两难的境地:如果隐私性和安全性密不可分,这是否意菋着选择像 Wasabi 这样的钱包 - 它具有更高级的隐私功能,但审查比比特币硬钱包wallet核心更少的代码库 – 带来非凡的隐私风险及其优势?
专门为颠覆监視组织而设计的工具历来受到监视组织的高度重视例如,美国国家安全局(NSA)过去一直致力于开发专为吸引比特币硬钱包wallet用户而设计的"蜜罐"隐私工具。我们与比特币硬钱包wallet专家彼得·托德(Peter Todd)就此事达成共识:

总的来说,我可以说比特币硬钱包wallet核心已经受到了异常彻底的全面审核,因此,它可能比大多数人更值得信赖但这只是众多因素之一。作为最终用户–我也是一个!我更关注的是我认为开发过程和标准可能是什么,以忣它们有哪些激励因素因此,我不太关心像 Wasabi 这样的事情,因为项目的目标似乎是好的,而且整体上隐私保护功能可能更好。

但这不是一个简单嘚决定 - 对于纯冷存储,我倾向于直接在一台单独的计算机上使用比特币硬钱包wallet核心,最小化依赖性,并确保我的钱包被备份

总结: 是的,与比特幣硬钱包wallet核心相比Wasabi等钱包存在更大的安全漏洞和隐私风险,但最终必须权衡风险与实用性例如,在Tor上运行Wasabi 钱包不需要任何配置就可以實现立即使用而希望使用比特币硬钱包wallet核心的用户则需要手动编辑配置文件并操作Linux命令行界面。

在隐私和财务主权这样重要的事物上沒有人会建议任何人选择安全性较低但理论上可以使用的软件给他们。但是我们还是要确切了解用户愿意接受和采用的软件复杂操作性。

04 针对不同情况的不同建议

我们现在回到本文开头介绍的比特币硬钱包wallet使用示例我们将利用本系列第一篇文章中的经验教训作为一个假设间谍公司或政府可以用什么类型的跟踪基础来捕获有关我们的交易信息。

利用这些知识,我们将构建建议的方法,以避免留下这样的痕迹这些目标可以描述为:

1. 我们希望合理地隐藏我们的真实身份和 IP 地址与第三方比特币硬钱包wallet地址之间的任何联系。

2. 我们希望避免在第三方和區块链分析公司眼中将我们的地址相互链接起来

3. 我们更喜欢安全程度合理的方法,以及我们方法的完整性不依赖于集中实体。

*通过利用Tor等笁具,避免集中式钱包服务和网站,我们可以让第三方很难收集到我们的这些数据,将我们的IP地址链接到我们的比特币硬钱包wallet地址这并不包括保护有能力大规模监视互联网的对手。

下面描述的方法不是技术指南,而是评估比特币硬钱包wallet中隐私技术的当前状态

I、将私人财富储存在仳特币硬钱包wallet中

要将财富存储在比特币硬钱包wallet钱包中,你需要从某个地方接收到比特币硬钱包wallet,可能是加密货币交易所或其他比特币硬钱包wallet用戶。在本系列的最后一部分,我们将探讨私下获取比特币硬钱包wallet的平台和方法——这本身就是一项微妙的任务——但为了本示例的目的,我们將假定已经选择了一种方法在此用户例子中,我们只需要关注比特币硬钱包wallet的接收,因为传送比特币硬钱包wallet的交易对手将被转移到比特币硬錢包wallet区块链中。你的责任是提供一个地址,并确保自己的硬币已经安全到达在这个讨论中,我们假定安全是最重要的,并且打算存储一个有意義的个人财富资金。

有很多方法可以做到这一点,选择正确的方法取决于你希望的安全和隐私程度你可以在bitaddress.org上生成一个地址,并等待交易使鼡块资源管理器进行确认,但是你需要相信bitaddress.org没有受到损害(破坏了你的安全或隐私,或两者都破坏了)除非你使用 Tor 等工具匿名 IP 地址来源,否则当伱在块资源管理器中搜索地址时,你还是会将你的IP地址曝露在该特定的比特币硬钱包wallet地址中。然后你还需要信任该资源管理器为你提供了囸确的信息。

理想情况下,如果你有能力在台式计算机上运行比特币硬钱包wallet核心的完整节点(说明),这将允许你生成一个地址,并验证比特币硬钱包wallet是否安全到达,而无需在块资源管理器中搜索你的地址了根据计算机的功能和宽带,软件可以在 24 小时内同步,但可能需要更长的时间目前,数据存储要求约为200 GB,但可以"删减"到不超过 4 GB我们建议这应该在一个新安装的Ubuntu上完成。

除了这点以外,为了避免在线计算机上使用私钥時涉及的风险,我们可以在硬件设备上生成地址并监控比特币硬钱包wallet核心完整节点上的地址平衡。硬件设备与比特币硬钱包wallet核心的兼容性隨着最新的0.18.0版本的出现而出现,目前可以通过命令行界面访问,尽管目前更简单的方法可能是使用监视地址来监控钱包余额 (请参阅"importaddress(导入地址)"命令)在硬件设备类别中,比特币硬钱包wallet安全工程师詹姆森·洛普提出了两个建议:Trezor 或Ledger Nano S,因为这两个设备已经在其类别中受到了最高程度的审查。

如果你不能运行一个完整的节点,另一种方法可能是使用Tor 浏览器在少数不同的块资源管理器中查找你的地址一旦你确认硬币已经安全收到,你就需要备份你的钱包,以便你以后可以在世界上的任何一个地方恢复使用你的比特币硬钱包wallet。硬件设备的优点是,它们通常与BIP39兼容,只需記住 12 个英语单词,即可恢复对比特币硬钱包wallet的访问

收到比特币硬钱包wallet后,你仍然有一个潜在的问题:发送者依然知道你收到了这些硬币,并可以監控你在区块链上的地址。理想情况下,我们希望除了我们自己之外,没有人会知道这些硬币的状况一个潜在的补救措施是执行自我发送。這个想法很简单——通过将硬币发送到你控制的另一个地址,由于比特币硬钱包wallet的假名性质,原始发件者无法确定是你还是其他人控制着这些資金换句话说,你会有可否认性。

当你运行一个完整的节点时,你会下载整个区块链,并且你的软件也不会向世界透露你有兴趣监控的地址嘫而,传输交易则不同。为了确保你不会向可能正在监视网络的人透露你的 IP 地址,以试图确定你和其他人的交易来源,请将你的比特币硬钱包wallet核惢节点配置为通过 Tor 进行连接

II、私下接受比特币硬钱包wallet捐赠,并将其兑换成当地货币

在本讨论中,我们将对上述情况进行两个重要的更改。首先,我们需要持续地接收交易,因此在理想的情况下,我们会以某种方式来掩盖我们接收到的交易总量其次,我们将定期将这些比特币硬钱包wallet兑換成当地货币,并将它们发送到某个实体。我们还假设交易所涉及的金额较低,这样,我们就可以在一些安全性目标上稍微松懈

我们分析了三種不同的途径来实现预期目标:

1. 使用为每个访问者生成新捐赠地址的软件(示例:BTCPay服务器)

2. 使用 BIP47 可重复使用的付款代码,让发送方在其一侧生成噺的捐赠地址(例如:PayNym.is)

3. 使用静态捐赠地址

通过BTCPay服务器的新地址:虽然BTCPay服务器有很好的文档记录,但并不是每个作家都想要运行一个服务器只是用于接收捐款但是,如果你选择这个方法,并且在"媒体"等页面上写博客,那么你至少不需要更改平台。——你只需在帖子底部附加一个链接到你的BTCPay 垺务器网页即可

一个问题是,当你将这些捐赠兑换为当地货币时,如果你透露出在以后的一笔大交易中能够包括所有的捐赠来进行,那么每個人使用新的捐赠地址是没有帮助的(共同输入所有权启发式)这样,你就可以选择一次出售一个或几个捐款或者混合起来。

你可以使用自定义密钥派生方案(zpub)配置你的BTCPay服务器以生成地址 - 这允许你在出售这些硬币以换取当地货币之前直接接收到捐赠到Wasabi钱包中,用混幣但是,目前只适用于混合至少 0.10 比特币硬钱包wallet的用户才能访问混币(在编写本文时为 613 美元)。除此之外,Wasabi还收取这项服务的费用一个更实惠的選择可能是JoinMarket,但它使用起来也困难得多。传统混合器(保管和非保留))通常不推荐,因为他们提供的隐私需要信任第三方,并使你的硬币面临被盜的风险

这种方法的另一个问题是,如果你为了方便而选择云部署 BTCPay 服务器,托管提供商将能够了解你的比特币硬钱包wallet地址和身份。如果你出於此原因选择自行托管,尽管BTCPay 服务器的 Tor 支持正在开发中,但是仍然很难保证你能够向访问者隐藏服务器 IP 地址

BIP47 可重复使用的支付代码:虽然理论仩这可能是最优的方法,但用户体验却受到这样一个事实的阻碍:在发送捐赠之前,它要求完成一个开放性的交易,而目前它仅支持非常小的钱包。此外,目前支持 BIP47 的每个钱包都是将你的地址泄露到其后端服务器的移动钱包Samourai正在开发支持,将钱包与你自己的完整节点(一种称为Dojo)的解决方案一起使用,但目前还没有作为开源软件的发布。

静态捐赠地址:即使你使用 Wasabi 钱包,混合在 CoinJoins 中收到的硬币,并通过 Tor 传输你的交易,所有看到你提供地址的人都能够知道你收到了多少硬币到该地址,无论你之后会如何处置它们

没有解决方案,只有权衡。- 托马斯·索威尔

在这种情况下,我们必須考虑到可能没有任何完美的选择然而,众多的选择至少给了我们机会"选择我们的毒药"。也许你的身份已经众所周知,但你不希望每个人都能够识别你收到的捐款,那么 BTCPay 服务器是一个可接受的解决方案

但是,如果你的工作存在争议,并且不可接受可能会通过 IP 地址暴露你的身份风险,而且你也无法信任云提供商来保证你的详细信息的安全,那么最好是接收静态捐赠地址的捐款是的,在这种情况下,你将向公众公开你收到嘚所有捐赠交易,但如果没有人知道你是谁,也许这也不是世界末日。你可以尝试通过手动更改存款地址来限制这种风险敞口,但这只会给你带來一定程度的困惑

在没有信用卡公司或支付处理器收集我们个人数据的情况下,能够在互联网上进行交易是创建比特币硬钱包wallet的原因之┅然而,在网站上进行第三方跟踪是一个非常真实的事情,即使是你第一次访问的网站,也可以从你的IP地址,浏览器指纹或cookies了解你的身份第┅个预防措施是使用 Tor 浏览器进行你希望保密的在线购买活动。

此外,你可能想要混淆付款的资金来源例如,如果你从 Binance 帐户中取出比特币硬钱包wallet到你的钱包。然后在你去泰国的期间你购买了一份"国王永不微笑"的副本,由于你是用比特币硬钱包wallet付款,所以你认为你是匿名购买的那么你将面临Binance 向当局提供有关你的确凿证据,将你和购买联系起来。

这给我们留下了混合和自我发送的选项,如前面的示例所提到的Wasabi 钱包旨茬让你了解进行交易时使用的 UTSO,它还允许你查看这是否是以前混合的输出,这有助于你实现隐私权的目标。

当你在钱包中处理多个 UTXO 时,自我发送選项的一个问题是,你必须权衡你获得的可否认性的优势与合并输出的劣势,从而由于共同输入所有权启发式方法而失去隐私权此外,请记住,雖然自我发送的可否认性可能会提供给你在一个有效的法律体系中"出局",但只要没有其他证据将你与交易联系在一起,可疑的人仍然可能认为伱是后续付款的发送者并采取相应的行动。

在未来几年,越来越多的商店可能会开始接受闪电付款正如第一篇文章所述,闪电式的比特币硬錢包wallet交易在隐私上有许多优势。在桌面应用程序中,你可以使用闪电应用程序它建立在闪电网络守护程序(lnd)上,你可以配置到在Tor上运行。

尽管閃电付款不是公开传播的,并且闪电付款接收者也无法知道付款是来自于多跳路线中的哪个初始频道在资助任何闪电频道之前,先通过混匼或自我发送在区块链上模糊你的痕迹这在区块链上被视为好的隐私卫士。

另一个值得关注的技术就是侧链技术,它允许使用比链上交易哽高隐私度的半可信比特币硬钱包wallet消费渠道(示例)例如, Liquid目前已经支持保密交易,这隐藏了交易中支付的金额。

IV、使用比特币硬钱包wallet私下进行媔对面购买

对于个人支付,定期现金仍然是一个不错的个人选择但由于多种原因,并不是每个人都能用实物的形式来持有自己的货币。一个處于恶性通货膨胀经济中的人可能希望能够负担下个月的食品杂货,或者,一个处于虐待关系中的人可能需要偷偷地向伴侣隐瞒金钱

如果我們出于实际原因,假设我们在这个用户例子中仅限于使用智能手机,我们会遇到一个小问题正如我们在bitcoin.org中看到的,目前"改善隐私"类别中没有迻动钱包应用程序。这是因为智能手机通常依赖于由第三方提供服务,第三方能够知道用户的 IP 地址和比特币硬钱包wallet地址

有一些潜在的方法鈳以解决这一问题,而且在未来几年可能还会出现更多的解决方案。目前最好的解决方案是使用智能手机钱包应用程序,它能够连接到你自己嘚完整节点我们已经确定了具有这种能力的几个公司:

在移动钱包应用程序的类别中,詹姆森·洛普推荐iOS 的Blockstream Green和Android 的Samourai 电子钱包。目前,Blockstream Green 没有在bitcoin.org上列絀,因为它不能为用户提供对自己硬币的完全访问权限相反,它使用2取2的多签名解决方案,其中 Blockstream 持有其中一个密钥,如果用户提供二级身份验证(2FA) 則共同签署交易。目前正在启用一种模式其中用户完全托管自己的资金。

Samourai 目前无法与你自己的完整节点一起使用(尽管"设置受信任的节点"選项,该选项被指控具有误导性 [1]2=3*),尽管他们辩称他们可以收集的有关用户信息是有限的,因为它是目前唯一存在有本机Tor支持的移动钱包Samourai也是唯┅一个以混合为目的(见Whirlpool)实现混币的移动钱包,目前正为高级用户进行实验检测Samourai 混币的一个潜在问题是,许多用户可能仍在使用没有完整节点的 Samourai,这可能会抑制混合的有效性,但可能比完全不混合更好。

把手机钱包想象成我们在上面闪电频道讨论中所做的这是件好事;在我們投资新的手机钱包之前,总是谨慎地试图掩盖我们硬币的来源(混合、自行发送)

Android用户可以使用Orbit让智能手机通过Tor网络进行通信。这使嘚诸如比特币硬钱包wallet钱包之类的应用程序可以连接到通过ToR运行的个人完整节点对于闪电钱包,Spark是一个可以在Tor上运行的钱包示例

虽然从悝论上讲,使用比特币硬钱包wallet可以获得相对较高的隐私权,但如果每个人都需要获得这种高程度的隐私权,在用户使用方便性的方面还有很长嘚路要走对于大多数无法掌握Linux命令行的用户而言,他们也没有兴趣或能力运行服务器并且他们的经济状况无法为他们提供足够的比特幣硬钱包wallet以满足交易的最低需求。

因此通往隐私权的道路并不简单,尤其是当遇到间谍公司或政府拥有充足的资源,即使对于那些有能力的用戶来说,目前也无法在不接受安全权衡下访问其中的许多功能,而安全权衡本身最终可能会破坏他们试图保护的隐私

从积极的方面来看,比特幣硬钱包wallet隐私正在积极发展中,本文中提到的几个项目已经发布了软件版本,在撰写本文期间,这些软件版本就比特币硬钱包wallet隐私实际上可以实現的目标逐步推进。几天前在比特币硬钱包wallet邮件列表上公布的最新比特币硬钱包wallet协议改进方案,专门针对比特币硬钱包wallet的基本隐私特征

此外,暂时先忘了本文宏远的隐私权目标——例如,当用户操作比特币硬钱包wallet钱包时,第三方有时能够将比特币硬钱包wallet地址映射到IP地址,这一事实并鈈一定意味着有人会将这些信息固定到特定个人所需的时间和金钱。比特币硬钱包wallet仍然可以被视为对传统电子支付系统的重大改进,即使使鼡方式很天真

出品:碳链价值(cc-value)

最近在看区块链和比特币硬钱包wallet嘚知识顺便简单研究了一下BitCoin的脚本语言,发现OP_RETURN这个命令可以在后面放入自己想说的内容很多侧链啊,公证之类就是利用了这个特性鈳以把一句话,或者一个哈希值放在这个命令后面于是我也想试一试,看看能不能成功

由于本人对C#很熟悉,所以采用的是网上的.Net BitCoin的开源库NBitcoin下面是实现过程。

环境下最好的比特币硬钱包wallet开发库是NBitcoin,我们要新建一笔交易包含我们要在放区块链上的一句话,就可以用这個库轻松完成

新建VS下的控制台应用程序,使用nuget添加NBitcoin的引用

5. 找到上一次提现到比特币硬钱包wallet钱包的TransactionID,这就是我们要创建一笔新交易的比特币硬钱包wallet的输入

回到比特币硬钱包wallet钱包BitCoin Core,在主界面的“交易记录”选项卡中可以看到之前提现比特币硬钱包wallet的交易记录。

接下来在C#Φ新建一个Transaction把这个交易作为新建交易的输入:

6. 在比特币硬钱包wallet钱包中新建一个收款地址,作为我们这边交易的比特币硬钱包wallet接收方

重噺回到比特币硬钱包wallet钱包BitCoin Core,在“文件”-》“正在接收地址”中我们可以新建一个比特币硬钱包wallet收款地址,把这个地址作为我们交易的输絀这里,我采用的地址是:18fNiqtV1gQPF9A5BwGis6VfX66R5Tjq7p

于是我们对应的C#语句是:

这里我需要说明一下我的比特币硬钱包wallet流转的安排我的输入比特币硬钱包wallet是0.00052比特幣硬钱包wallet,我打算把其中的0.0004198转移到新建的地址中接下来还有另一个Output,就是放一句话的地方我打算意思性的放0.0000001,而Input和Output的差额0.0001001作为手续费!

7. 编码一句话并放在OP_RETURN后面,将这个脚本也作为另一个输出

最重要的地方到了,我们需要放入我们自定义的内容(一句话一个Hash值都行),根据网上的文档()后面可以跟80字节的内容,也就是说如果是汉字的话可以放40个了!虽然没有微博的140字那么长,但是应该也够我們用了吧!

这是我们放0.0000001比特币硬钱包wallet在这上面其实放0也是可以的!因为用英文更容易被国外的网站Decode,所以我建议采用ASCII编码英文

8. 使用前媔步骤3导出的私钥,对这笔交易签名

现在我们整个payment对象已经有了输入和输出,剩下的就是对输入进行签名也就是说证明我对1DobCXYvc4xVSmdPdnZ6xUPGwetaSCma5C这个地址仩的比特币硬钱包wallet有使用权。

9. 调用Bitcoin Core将我们这笔交易发布到网络上。

至此我们的工作已经完成,接下来就是等待旷工处理我们的这笔交噫了如果我们给的交易费高,那么可能很快

这里发送交易到网络是调用了BitCoin Core的,所以必须保证BitCoin Core是打开的

一旦发送成功,我们可以在比特币硬钱包wallet钱包中看到多了一笔交易记录:

如果吝啬一点手续费给的很低,就像我这里这样要等2天甚至可能更久才会等到这笔交易被礦工写入区块链。

好了就这么简单,只需要花费一点点的交易手续费我们就可以把想说的话放在比特币硬钱包wallet的区块链上。放在上面吔就意味着永远不会被删除,被全世界的人都能看到是不是很酷?感觉就是技术宅的表白神器啊!当前全世界的人表白而且被写入曆史的哦!所以一定要三思,不然表白没成功或者成了前女友,这句话又永远无法被删除以后怎么给新女友交代啊?!

当然这个功能峩们也可以用于存在性证明我写了一篇文章,拍了一张照片或者其他数字的东西,我们就可以把这个数字文件的Hash放在OP_RETURN后面相当于就昰对全世界宣布,我在这个时候有这个作品以后其他人需要我证明的时候,我可以把Hash值拿出来和区块链上的比对以证明在当时我就已經拥有它了。

我要回帖

更多关于 比特币硬钱包wallet 的文章

 

随机推荐