风险提示:央行等十部委发布《关于进一步防范和处置虚拟货币交易炒作风险的通知》, 请读者提高风险意识。

长推:新型自主保管BTC钱包 Liana 测试

从用户界面可以看出,它允许添加不止一条路径。

AurtrianAjian
AurtrianAjian
热度 ...

原文作者:AurtrianAjian

原文来源:Twitter

注:原文来自@AurtrianAjian发布长推。

昨天下午,@zengmi 老师转发了 Liana 钱包终于正式上线的消息。Liana 这样的钱包算是我们翘首期盼的事物,因为它向更完善的自主保管体验迈出了一步。

具体来说,在原本的比特币钱包领域,有单签名和多签名的区别:前者是最常见的、凭单个私钥就能花费的钱包;后者则是需要多个私钥(签名)才能花费的钱包,例如,2-of-3,需提供三个公钥中的两个的签名。 但是,感谢比特币脚本自身的特性,没有理由我们不能将它们合二为一:

我们可以让 A 私钥随时可以花费;但 B\C\D 三个公钥中的任何两个,可以在资金长期没有动用之时花费。 这就是 Liana 这类钱包背后的理念:允许用户添加多种花费路径,并使用时间锁逐步启用不同的分支,从而允许例如社交恢复(私钥丢失一段时间之后,三个朋友中的两个可以一起帮你恢复资金)这样的功能。

从用户界面可以看出,它允许添加不止一条路径。 如此好东西,当然要先测为快。于是,我约上 @zengmi2140 和 @hu_zhiwei,尝试模拟一种场景:在我弄丢私钥之后,我的两个朋友帮我复原资金。

Bitcoin

Liana 本身是一个非常轻量的软件(它在 windows 系统中只有一个 .exe 文件),它使用 Bitcoin Core 来完成跟比特币网络通信(发送交易)的功能。而且,开发团队还提供了一个在比特币 Signet 测试网上测试 Liana 的教程:https://github.com/wizardsardine/liana/blob/master/doc/TRY.md

出于测试和节约时间的目的,我们也选择了使用 Signet:这是一种比较新的测试网;跟比特币 testnet 不同,它是通过一些公钥的签名来出块的。现在整条链的数据量只有 700 多 MB,1 个小时左右就可以同步完。但它也有一个缺点:大部分钱包软件并不支持 Signet。

上午,我们三人各自使用 bitcoin core 同步了 Signet 并安装好了 Liana。下午,刺激的测试正式开始。显然,不出意外的话,就要发生意外了。

Liana 钱包在 UI 上区分了 “主路径” 和 “复原路径”:前者不带时间锁,后者带有时间锁;但不管哪一种路径,都可以设置单签和多签。最初,我的设想是,测都测了,当然得玩点花的,对吧?我准备在主路径放一个 Liana 生成的密钥;而在复原路径放一个 2-of-3 或者 3-of-3 的多签名,使用我(用别的软件生成的密钥)以及 @zengmi2140 和 @hu_zhiwei 的公钥。兴高采烈进入测试,啪的一下遇到两个问题: 1. 我在一开始使用了 Sparrow 钱包的主网模式,生成的是 xpub 或者 zpub 开头的公钥,这个公钥没法放进 Liana 的设置里面去

(因为这是一个 Signet 钱包,它要求填入的公钥必须是 tpub 开头的测试网公钥)。于是,只好还是用上自己在 Liana 钱包生成的公钥,并将复原路径设为 2-of-3 多签名,带上 2 个区块的时间锁(测试嘛)。 2. 上午我玩了一下 Liana 钱包,但下午发现它并不允许我创建多个钱包,那咋办呢?

简单,我知道它存钱包数据的目录,我把它数据全删了。 就在我按照用户界面设置好新钱包、生成钱包描述符(descriptor,描述一个钱包花费条件的可读数据格式)并把它发给 @zengmi 和 @jeffreyhu 之后,我点击界面的 “完成设置按钮”,Liana 啪一下闪退了。为啥呢?

重启之后无法再进入钱包,报错:无法在某目录找到图形界面运行所需的文件(被我删旧钱包数据的时候一并删掉了!)可是我没备份新钱包的私钥啊! 可以的,原本还想,我要用什么办法把我的私钥真的删掉呢?现在好了,我压根没备份,又进不去钱包,这不等于把私钥删了吗。那接下来就看两位老师的了。

率先出问题的是 @zengmi2140 老师。通过描述符得出收款地址后,我们拿一个收款地址去 Signet 水龙头领了钱。但是 @zengmi2140 老师的 Liana 钱包死活不显示到账。 见这笔交易:https://t.co/1WqbNLQOyu

我想,这也没问题,反正 @hu_zhiwei 老师那里显示到账了,只要他创建一个 PSBT(部分签名的比特币交易,一种数据格式,携带了让签名者签名一笔交易所需的信息),把这个 PSBT 交给 曾老师 签名,就大功告成了。@hu_zhiwei 老师发出的 PSBT,@zengmi2140 老师导入 Liana 钱包,啪,不行。

关于【长推:新型自主保管BTC钱包 Liana 测试】的延伸阅读

  • 拥有最大比特币投资组合的 10 家上市公司

    多家重要机构投资者纷纷购买比特币,包括知名商业分析平台MicroStrategy、比特币挖矿公司Marathon Digital和Hut 8 Mining Corp。特斯拉也投资了15亿美元的比特币,但在2021年第一季度出售了10%的持有量。数字货币公司Galaxy Digital、Square和CleanSpark也持有大量比特币。这些公司都在加密货币领域有着积极的投资和发展。

  • Mt.Gox 重演?从近期日本巨额加密货币盗窃案看黑客的最新诈骗手段

    日本DMM旗下加密资产交易所发生3亿美元的盗窃案,可能是因为交易人员中了假地址陷阱。黑客利用计算机生成大量公钥地址,其中一个与交易所常用地址相似,导致资产转移到错误的地址。DMM已向警方报案,第三方公司也查明了涉案地址。与Mt.Gox相比,DMM采取了更稳妥的措施,保护了市场信心,得益于政府监管和平台合规建设的提升。

钱包温馨提示:交易所用输出点(outpioint,即 UTXO)是未知的。也就是说,因为 @zengmi 老师的 Liana 钱包不知道到账了,所以花不了这笔钱。事已至此,测试只好中止。 中止之后,我们各自想解决方案,我在想怎么把交易导入 Liana 钱包(貌似这个功能还真的只有 Liana 命令行版本才有,图形界面没有)

但 @zengmi2140 老师不一会就发现了问题:他的 bitcoin core 没有跟上 Signet。莫名其妙重新同步完成后,Liana 显示到账。我们仨又兴冲冲回到视频聊天,要见证签名完成、交易发出、钱包复原的阿基米德时刻。啪,又撞墙了。

PSBT 导入 @zengmi2140 的 Liana 钱包之后,看起来似乎是能签名,但是使用签名按钮之后,输出的 PSBT 并没有变化。将这个 PSBT 返回给胡老师,也没用,状态栏依然显示 “Not ready(没有准备好)”。眼尖的 @zengmi2140 老师问,这个 not ready 下面的详细信息是啥?

“需要来自指纹为 ’5ef5838d‘ 的公钥的签名。” 那这个 5ef5838d 指纹的公钥是谁的呢?你没猜错,正是在下的。 Unbelivible!怎么回事!明明是一个 2-of-3 的多签名,为什么他们俩一起签名还不行!为什么还需要我签名!我们一度怀疑那个描述符是不是写得有问题(我看了觉得也没问题)。山重水复疑无路,我想起来,钱包的设定界面里有一个 “Recovery(复原)” 选项。“曾老师你试一下用 recovery”。输入收款地址、手续费、生成 PSBT、曾老师签名,转发给胡老师签名(在界面上的 not ready 信息里已经看出,只需再加上胡老师的公钥签名就可以了),签名完成,ready,广播成功!

一惊一乍的的测试旅途就这么结束了,结果是好的。最后,我想放一张图片,就是我们所用的钱包的描述符。连带提出一个问题,在这场社交恢复中我们用到了哪些技术?

Bitcoin

第一当然是比特币脚本,它让我们可以叠加多个花费路径;第二,输出描述符(以及 Miniscript),用来描述公钥的信息以及比特币脚本的的信息,凭此就备份了你的钱包,它可以产生地址,并让你的朋友们的(钱包软件)可以理解这个钱包(它不包含私钥);第三,PSBT,用于在签名者之间传递,协助签名者签名。

这些技术,全部都需要经年累月的开发和完善。大概一年前,我发过这样一条推特:https://twitter.com/AurtrianAjian/status/1524726056028045312

Liana 正是迈向这个未来的一步。虽然它现在还有很多缺点,比如,不允许在本地创建多个钱包;给用户的指引不够清楚;但是,比特币生态在这个方向上不会就此止步。灵活的控制,本就是比特币脚本和 UTXO 的设计初衷,未来,我们会看到更多钱包利用它们,为比特币用户提供更丰富的自主保管体验。

协助保管、社交恢复、遗产规划,全部都可以用脚本实现,并且链上形式仅是一条哈希值。享受它们吧,享受中本聪继承自密码朋克的灵感,享受比特币社区经年累月的耕耘。

PS. 如果你也想测试 Liana 钱包,这里有几点提醒:

1.如果你要在 Windows 系统上运行 bitcoin core(准确来说是 bitcoind),请记住,配置文件必须放在默认路径下 `C:/用户/<你的用户名>/AppData/Roaming/Bitcoin`;

2. 使用 Liana 钱包的恢复路径需要在用户界面左下角的 “设置” 界面中使用 “Recovery”。


免责声明:本文仅代表作者个人观点,不代表链观CHAINLOOK立场,不承担法律责任。文章及观点也不构成投资意见。请用户理性看待市场风险,以及遵守所在国家和地区的相关法律法规。
图文来源:AurtrianAjian,如有侵权请联系删除。转载或引用请注明文章出处!

标签:

分享至
https://www.chainlook.cn/toutiao/1691123683.html

下一篇:

长推:介绍硬件钱包 Ledger 密钥恢复服务

密钥恢复服务旨在帮助用户恢复对钱包的访问。

免责声明:
链观CHAINLOOK作为区块链技术应用与Web3行业研究的智库媒体,旨在为中国区块链专家、学者们提供最新的行业资讯信息与数据样本,用于区块链技术研究与创新。本站所发布的文章仅代表作者的个人观点,不代表链观CHAINLOOK官方立场,本站所发布的区块链行业研究报告与数据分析成果是通过人工智能算法对数据内容进行分析与归纳生成,不代表任何投资暗示与建议,链观CHAINLOOK不承担法律责任。

风险提示:
虚拟货币不具有法定货币等同的法律地位,参与虚拟货币投资交易存在法律风险,链观CHAINLOOK坚决反对各类代币炒作,请读者提高风险意识,理性看待区块链技术应用及市场风险。

© 链观CHAINLOOK All Rights Reserved. 京ICP备18054193号-5