E02·一个硬件签名器和他的故事
曾汨: 听众朋友们大家好,欢迎收听《亿聪哲史》第二期。我是主播曾汨。
阿剑: 我是主播阿剑。今天我们非常有幸邀请到了一位我们的好朋友,也是一位我们非常尊重的行业前辈,力心。那由他来做我们《亿聪哲史》第二期的嘉宾,跟我们分享一下他的故事以及他在做的事情。那力心给大家做一个自我介绍吧。
刘力心: 大家好,我是刘力心。然后我是之前算是 Keystone 硬件钱包的 CEO,然后最近 Keystone 跟另外一家公司做了合并,叫 UniPass,然后我们合并成了 Account Labs,现在是 Account Labs 的 CEO,然后我们 Keystone 硬件钱包之前,之前做了很多比特币生态的事情,但最近其实很惭愧,最近一两年很多时间都放在了其他的一些公链和生态里面。今天很开心能够受到邀请,非常开心,非常非常开心。然后也非常开心能看到国内有专门讨论比特币的播客,以及专门针对比特币做布道的人,这个是我们当时做硬件钱包都无法想象的事情。所以我们当时,就是因为没有《亿聪哲史》这样的播客,btcstudy.org,我们当时就被迫不得不去做北美社区。今天很开心可以跟大家分享这些往事吧。
阿剑: OK,那我们还是俗套一下,问力心几个简单的问题。首先,力心你是在哪一年接触到比特币的?
刘力心: 嗯,OK,我接触其实比较早,我是 2009 年年底,然后 2009 年年底正好是我大四的时候,那个时候,在找工作,因为我是 2010 年 6 月份,2011 年 5 月 6 月那会儿毕业,本科嘛。然后我们学校那个时候基本上大四就没什么课了,大四的上半学期就是找工作,然后大四上学期的圣诞节基本工作就定了,然后大四的下半学期就是玩儿,就是毕业旅行这些,喝喝酒这些事。所以当时我是工作已经差不多定了那个时候,在 2009 年的圣诞节那会儿,然后那会儿其实那会儿我因为找工作嘛,所以经常就上网冲浪,就是跟大学头三年不太一样。然后上网的时候,我是有个产品叫 Google Reader,我是 Google Reader 的重度用户。然后订阅了很多很多 RSS 的源。然后呢,大学生嘛,大家知道,肯定多少有点,多少理想主义的成分多一点,然后多多少少有点愤青,那个时候。所以订阅了很多这种,非常,就讨论很多关于自由啊,就是民主啊,这样的一些 RSS 源。然后那个时候。
阿剑: 离经叛道的东西。
刘力心: 对,离经叛道的东西比较多,真的是离经叛道。然后后来 2009 年的圣诞节那会儿,我订阅的那些源就疯狂的开始讨论比特币。这些都是中文的,我英文也不太好,也不会去看英文的资料,那时候基本都是订阅一些中文的东西。但中文的那个时候这些语言,我现在还记得有一个很有名的语言叫搞屁,就是搞事情的搞屁股的屁,然后他们就大量的讨论了比特币相关的内容,然后我那个时候也是第一次接触到了比特币,然后了解到了白皮书,了解到了它背后的逻辑,非常非常有意思,当时就觉得这个东西。但是当时我只是觉得它很酷,它这个闭环或者说这个逻辑是通的,但我当时也不知道这个东西共识能不能达成,能不能成气候这个事情。所以 09 年,我基本 09 年年底是第一次算是触电吧,就是跟比特币触电,09 年年底。然后时间后来是转到了 13 年的年初,所以我的这个比特币经历正好是四年一个轮回。2009 年年底,然后再转到了这个 2013 年的年初,那个时候我在上海创业,然后两个合伙人都是我的本科同学,但他们在这个美国读计算机,后来在美国学计算机硕士,在 Stanford 读计算机硕士,他们后来回国跟我一起创业。那个时候我其实对这些东西关注的就比较少了,因为已经踏上社会几年了嘛,然后,但他们还一直很关注美国的一些新的东西,然后 2013 年那会儿,我没记错啊,正好是比特币从 10 美元跳到 100 美元,那就是 2013 年年初,然后当时美国的科技媒体又在讨论比特币。然后那个时候我们在一起工作的时候,就在一个公寓里面,客厅里面搞东西,搞创业,瞎搞。然后他们就提醒我关注了比特币,我又关注了比特币,然后我当时看到的时候就非常惊讶,我说这个东西我四年前看过,然后四年以后又跟他相遇了。
然后发现他就变得更加有意思了。就之前我的那些 concern 都有点被打消了。因为四年前我觉得这个共识不一定能达成。所以四年以后你就会发现他真的好像一个小孩一样成长起来了。然后当时就买了比特币,就 2013 年最早真正拥有了比特币,2013 年的时候。然后后来时间又转了四年,转到 2017 年,就是 09、13、17 这四年。然后 17 年的时候,我从前一家公司离职,前一家公司我们是做无人机,做智能硬件,而且也是做北美市场,做出海的,做得还不错,肯定没有大疆那么好,但算是在那家公司四年帮助我走完了整个智能硬件从零到一的过程,产品设计,从产品的 ideation,就是最早的概念,到产品设计,再到研发,再到生产,再到出海,整个流程,因为我是那家公司的二号员工,也是产品的老大,所以把整个流程全部走完了。然后到了 2017 年,那家公司拿到了海外的一家上市公司的投资,然后我就离开了,因为当时家庭一些原因离开了,因为当时我 base 在北京,但我家人都在上海,因为家庭一些原因就离开了。在那边干了四年以后,回到上海,我就开始找接下来的方向,然后当时很幸运,就通过投资人认识了神鱼,大家可能知道神鱼是中国最早的比特币矿工。然后当时是被神鱼孵化,然后在神鱼的公司叫 Cobo,在 Cobo 旗下做 Cobo 的硬件钱包。当时就踏入了,就真正让我的职业生涯跟比特币产生了交集。然后再后来又是一个四年,就 2021 年,我们从 Cobo 独立出来,然后成立了新的品牌 Keystone,然后一直到今天。所以这差不多就是四年四年四年,然后三个四年下来,然后一步步到现在的状态。
阿剑: 非常非常有意思。给大家提醒一下几个时间点。虽然我觉得《亿聪哲史》的朋友们应该不太需要听,但我还是多一句嘴。08 年的时候,比特币白皮书发布。09 年的时候,大概就整整一年之后,力心说的在圣诞节前后,9 月份那段时间,就刚好是一整年之后,力心就关注到比特币。力心说的另外两个时间点,2013,2017,其实应该差不多也是我跟曾汨老师第一次了解到比特币的这个时间。往事如风。其实今天在一起聊这些事情是非常开心的,因为我们看到比特币从过去到现在它一直在慢慢成长。OK,我们回来。就是力心你是提到自己有一段关于智能硬件的工作的这个经历,是这一段经历使得你后来自己创业的时候决定去做硬件签名器这个东西,就是现在俗称的硬件钱包这个东西是吗?
刘力心: 对,是的。我一直相信的一点就是因为其实纯软件的人你要做硬件这个门槛是非常高的,就是他认知都是完全不一样,比方说硬件的迭代周期就要比软件长,然后硬件大量的要 leverage,要依赖外部的资源,供应商的资源。这个完全跟软件的思路就是不一样的。但是呢,我之前受过的训练呢,又受过很多关于软件的训练,而且我们当时做的是智能硬件,所以它又有硬件的部分,又有软件的部分,它不是一个纯硬件,比方说造一个台灯,或者说做一把椅子,不是这样的东西。所以我的背景算是比较混合的吧。然后呢,其实我开始做硬件钱包是 2017 年年底,正好是 ICO 那一波的末尾。然后还是受到,你很难不受到 ICO 的影响,就是 ICO 那波牛市还是会对你产生影响,就当时就有一个错觉,就是硬件钱包会是一个,就当时我甚至,当时硬件钱包卖得非常好,但其实事后去看,很多人并不是真正意识到硬件钱包的价值,并且大家也并不是真正的在使用硬件钱包,很多人只是 ICO 赚到钱,然后买硬件钱包送礼,这个当时是最大的场景其实,因为 ICO 暴富了一群人嘛,然后当时,国内的,这后来其实是我们后来意识到的一些事,就当时很多矿工不知道拿什么送礼,就都买硬件钱包送礼,所以导致硬件钱包的销量当时 pump 的非常高,然后国内也有一些头部的厂商卖的非常好,但其实我们事后才发现这些矿工他们也用不来硬件钱包,也不用硬件钱包。所以我觉得有一点阴差阳错吧,但是我自己呢更多的是思考的是怎么发挥自己过去的积累。
我当时基本确定硬件钱包这个东西是非常有价值的,长期来讲,因为 self-custody 其实还是受了我早年受比特币社区的那些影响吧,就是 self custody 这件事情的重要性,所以我当时就决定,当时另外一个促成的因素也是神鱼的孵化嘛,然后就开始做硬件钱包了,就是这样一个背景。就是你不能说,你没有办法说,它不是一个完全自主的一个过程,它是很多外部因素、内部因素最后合并在一起,交织在一起的一个结果。
阿剑: OK,那有一些听众他可能现在暂时还没有用过硬件钱包,没有用过硬件签名器。那力心你能不能从你自己的角度说说你觉得硬件签名器这个东西它到底提供什么价值?
刘力心: OK,好的。首先,大家可能有听过硬件钱包这个东西。我先针对那些没有听过硬件钱包的人。就是如果你是一个刚刚入圈,或者说还没有入圈,那你大概率你首先接触的是一个软件钱包,或者说是一个交易所,也有可能。那交易所大家知道它是中心化的嘛,等于你的私钥在交易所的服务器里面,交易所控制了你的钱。这个并不是真正的 self custody,不是真正的托管。那如果你想真正的拥有比特币,真正的拥有这些资产的话,那你肯定要自己来管理私钥,那这就引入了钱包,软件钱包。那软件钱包就是大家要么在电脑上,要么在手机上安装一个软件,这个软件里面保存了你的私钥,然后呢,你要跟区块链发生交互,你要转账,你就是用这个私钥去做签名,然后矿工校验了这个签名以后,那你就对你的资产完成了操作,不管是转账还是别的任何的操作。所以软件钱包它的核心的角色其实是两个。第一个是它从区块链上面拿到了你的数据,或者说你能在钱包里面看到你的区块链上面的资产,这其实是第一个核心的功能。当然资产也围绕着你的这些交易记录啊等等,都是围绕着资产这一块的。然后软件钱包的第二个核心功能就是它保管你的私钥。你能够用你的私钥去做一个密码学的签名,签完名以后,矿工认可了这个签名以后,你就能对你的资产进行操作。所以,软件钱包的核心功能就是展示资产和私钥签名这两件事。然后呢,接下来就引入了硬件钱包的概念。因为软件钱包它的这个私钥是保存在你的软件里面嘛。然后呢,你的软件呢,可能会出各种各样的问题。比方说,它有可能会暴露一些风险,因为你的这个私钥是一个在线环境。比方说之前其他一些区块链上面的软件钱包就暴露过这种问题,就是首先它不开源。
然后呢莫名其妙也不知道是有意的还是无意的。工程师就把你的私钥上传到了他的服务器,然后服务器被攻破了,很多人的钱被偷了。然后之前还出现过更加我不确定是不是真实,我是在媒体上看到,但我没有求证最终的真实性。就是有一些 KTV 的这种充电宝啊什么这些东西,它里面有可能会带着病毒,然后你插到手机上以后,它有可能对你的手机里面的数字资产产生攻击。然后还有在电脑里面也有,就大家其实难免的,就有些人可能能做到,但我觉得那是少部分人,大部分人可能难免的电脑上会有各种盗版软件。或者说不知名、不知道来源的这些软件,它其实都会有可能对你的这个私钥的安全产生威胁,就是你的软件钱包里面的私钥。那一旦黑客能拿到你的私钥,因为区块链的去中心化的这个属性,它没有一个中心化的我们叫 gatekeeper,或者一个中心化的守门人帮你去做风控,或者说做各种限制,那黑客拿到你的私钥,他就能把你的资产转走。所以这个私钥的安全性就显得尤为的重要了,基于所有这些事。那硬件钱包它扮演的角色就是它把私钥放到一个专门的硬件里面,然后当你要签名的时候,你就用专门的一个硬件去签名,相当于它的最本质的一个作用就是对私钥做了隔离,就把你的私钥从软件钱包里面隔离了出来,并提升了它的安全性。这是它最本质的一点。然后刚才有提到一个关键词叫硬件签名器,就是 hardware signer。这个概念其实我们一直想推,就我们觉得硬件它应该,就为什么叫硬件签名器,就硬件钱包到硬件签名器这个概念的转化是发生在什么点上呢?是因为我们觉得一个理想的硬件钱包,打引号的硬件钱包,它应该就是忠实地做好一个保存私钥以及签名的角色。
然后它应该跟各种各样的软件进行适配,然后适配了以后来满足用户不同的功能。我们单拿比特币来说好了,单拿比特币来说就不同的软件钱包承载不同的功能,首先有桌面端的,然后也有移动端的,有桌面端做得很好的,也有移动端做得很好的,也有这种比方说隐私相关做得非常好的,然后也有连接全节点啊或者连接 TOR 网络啊这些做得非常好的。根据不同的比特币用户的定位,它肯定有不同的软件钱包。但是大家对安全的提升其实是普世的需求。所以我们对硬件签名器的定义就是我们希望做一个硬件钱包它能够适配各种各样的软件。这个就是我们的定位或者说我们对硬件签名器的理解。
阿剑: OK,还是一个简单的问题,假如我是一个小白,就是我之前不太了解力心刚刚讲到的硬件钱包,软件钱包,这些东西其实我是太了解,我可能一开始就只用过浏览器上的小狐狸,或者说我就用过手机上的某些东西。一个钱包软件,那如果现在我要拥有一个硬件签名器了,我要买一个硬件钱包,那我用它我是怎么发起交易的呢?因为你刚刚讲到,如果我用软件钱包的话,它就又发起交易,它又做签名嘛,因为它保管了我的私钥,那现在我的私钥被我放到了硬件签名器里面,那我怎么去发起交易呢?这个过程是什么样的?
刘力心: OK,在发起交易以前,其实有一个更加前置的步骤,就是你怎么创建你的钱包。创建钱包的过程,就是你先要有这个硬件签名器,然后在这个硬件钱包或者我们叫硬件签名器上面,你可以导入你的助记词,但这个不建议,不建议导入助记词,因为如果导入助记词的话,大概率你这套助记词之前是在别的软件钱包创建的。那就意味着你这套助记词它已经接触过网络环境了,所以这个其实我们是不太建议的。所以创建的第一步就是你用你的硬件钱包去创建一套新的助记词,然后这套助记词你一定要保存好,记好,因为硬件钱包它也不是万能的,它有可能会坏,或者有可能会失灵,那一旦坏了,那你就需要这套助记词去恢复出来你的私钥,这个是最基本的。所以当你在硬件钱包上保存了助记词并且创建,创建完成的意思就是说助记词你保存下来了,然后这把主私钥以及派生出来的各种私钥都保存在硬件钱包里面了,然后下一步要做的操作就是你要把你的硬件钱包跟你的软件钱包连接在一起,因为相当于用最直白的大白话来说就是你要把你的地址这些信息从硬件钱包传到一个软件钱包,然后软件钱包才能根据这些比特币的地址去链上查找你的资产。所以这会有一个连接的操作。连接操作完成以后,好,那你的设置环节或者说创建环节就完成了。这个时候你在硬件钱包上面有了私钥,你在软件钱包上面有了所有的地址,并且看到了你有多少比特币,所有这些信息。然后要发起交易了。发起交易是在软件钱包上面先发起的,因为硬件钱包端它得不到任何链上的信息,它也不知道你现在有多少比特币。
软件钱包端你可以发起一个交易,然后发起以后软件钱包也会做很多操作,比方说它会帮你选取合适的 UTXO,这我就不展开了,它帮你选取合适的 UTXO 去拼装成一个交易。拼装成以后,因为软件钱包上没有私钥,所以这个交易它是没有办法签名的。然后下一步就是软件钱包通过某种方式把带签名的消息传到你的硬件钱包或者硬件签名器。在硬件钱包用对应的私钥完成签名。完成签名以后呢,因为硬件钱包它没有联网,它不可能把这些信息直接发给矿工,所以它又需要把这个信息传回到你的软件钱包,然后再由软件钱包把它发给矿工,最后上链。然后这里的关键就在于硬件钱包和软件钱包之间的连接。像 Ledger 这样的硬件钱包它用的是 USB。然后也有的硬件钱包是用蓝牙,像我们就是主要用二维码这个形式,因为我们坚信的就是 transparency,就是透明度非常重要,你必须让用户知道。你的软件跟硬件之间在传递什么信息,所以我们用的是完全开源的二维码,就你可以用任何第三方的软件去扫一下这二维码你就知道哦。我在传的是一笔正常的交易,我没有任何敏感信息,甚至没有任何私钥泄露出我的硬件钱包,等等。因为安全很多时候它是一种感觉,尤其对普通用户来说。对专业用户来说,它可以去审代码什么这些,但对很多普通用户来说,安全是一种感受。在产品设计的时候,你非常重要的是要传递给用户这种很安全的感受,这件事情非常重要。所以这个就是稍微提到一点我们产品上的一些点。
阿剑: OK,刚刚力心已经跟我们讲到了就是说你如何用你的硬件签名器搭配你的软件钱包怎么去发起交易。有一些朋友他其实光听到这两个名字的时候,比如说他听到硬件钱包跟软件钱包,他可能以为它是同一类的东西,或者说是相互竞争的东西,相互替代的东西,但其实这是一种误解,对吗?
刘力心: 对,是的。理论上来说,我们认为一款理想的硬件钱包它应该是所有软件钱包的安全的好伙伴。因为你从一个用户生命流程的角度来说,大概率你不会一接触比特币就光买一个硬件钱包,对吧?你肯定先有可能也会接触交易所,有可能也会接触软件钱包,先玩起来。当你对这个东西认可度越来越高,你对比特币越来越认可,那你有可能会 stacking sats,你就会开始慢慢开始囤比特币,那这个时候你对安全的需求也提升了。那对安全需求提升以后,其实对用户最友好的是,我能买到一个硬件钱包,这个硬件钱包跟我熟悉的软件钱包是完美适配的。而不是说我需要再去适应另外一个硬件钱包以及这个硬件钱包搭配的新的软件钱包,那它可能会有各种问题,有各种 bug,我可能用不顺手。这个甚至有可能会用户因为用不好新的东西造成的丢币,这都会有可能发生。所以我们觉得从。用户的整个生命周期的角度来看,一个理想的硬件钱包应该是跟他熟悉的任何一款软件钱包都能完美适配。所以这个是我们对 Keystone 的定位。但这样的定位其实非常尴尬。就是我们在跟这个投资人聊的时候,几乎投资人就完全分成两派。一派投资人就觉得硬件钱包很好,你们就算这样做也非常有前景。另外一派就觉得,啊,你们不做软件,哎,这个天花板太低了,没有想象力。但我们也没有特别的去迎合投资人。我们觉得最重要的还是要给用户创造有价值的东西,而不是就是商业价值有时候跟用户价值是相矛盾的。然后呢,我自己是在商业价值和用户价值这两个当中选的话,我会尽可能的偏向用户价值,在保证用户价值的情况下再去平衡我们的商业价值。
曾汨: 感谢力心给大家做的一个关于硬件签名器的基础科普。我想听众朋友们应该对硬件签名器这个产品有一个基本的认知。那么接下来我想把话题聚焦到力心自己做的这款产品,也就是 Keystone 这个硬件签名器上面来。我体验过很多不同类型不同品牌的硬件签名器。但 Keystone 的设计和我体验过的大部分这类产品都不太一样,有很多独特的地方。所以我想问一下力心能否给大家讲一讲你们当初设计这款产品时的一些设计原则是什么样的?基于这个原则下,你们做出来的具体的产品长什么样子,因为有一些听众他可能只是听说过或者没有用过你们的产品,他没有一个完整的印象,所以我想请你做一个基本的介绍。
刘力心: 好的,我刚才其实讲了第一个重要的点就是 transparency,就是透明,因为硬件钱包这东西它毕竟是一个安全定位的产品,然后你要获得用户的信任,你要让用户感知到你的安全,其实透明是很重要的,所以 transparency 是我们第一个非常重要的设计原则。那这个设计原则它就会影响到我们一些产品上的一些决策。比方说我们用的是二维码来做硬件钱包和手机之间的通讯,那我们设备上就会有一个摄像头去扫描二维码。然后呢,transparency 另外一个很重要的点就是开源。我们做了非常大的努力,然后也花了很多钱,因为开源不是一个简单的你写一些代码,把代码挂上 GitHub 的过程。因为开源你还涉及到一些供应商,你可能会开源一些供应商的一些他们的一些代码,或者说你的开源有可能会侵犯到他们的一些知识产权。所以这个开源是我们当时花了非常大的努力在做的一件事情。然后我们另外开源还有一件重要的事情就是你要开源你不是简单的挂代码,你还需要去做严格的代码审计。那这些其实对一个公司来说都是成本,但我们觉得这些。呃,这些成本是非常必要的。第一,它增加你产品的透明度。然后第二呢,在开源以后,其实社区也能更好的来看你的代码,甚至给你贡献代码。帮助你把这个产品做得更加好。所以透明是我们第一个非常重要的产品设计的原则。然后第二个非常重要的产品设计原则就是我们认为用户交互应该是安全的一部分。因为我们其实接触过太多的硬件钱包的用户。其实在 Keystone 开始做以前,因为我们真正算是打北美的比特币社区是 2019 年的事情。在 2019 年以前呢,硬件钱包这个品类大概发展了三年四年左右的时间。
但过去这三四年,几乎所有的硬件钱包大家都在打的一个点就是我称之为叫 Technical Security,就是技术上的安全。比方说最早我举例子,技术上的安全有几个大的演变的过程。第一个演变的过程就是 Trezor 它最早出来的时候它是没有安全芯片的。那后来从没有安全芯片到有安全芯片,这就是一个大的技术上的 Technical Security。还有一个 technical security 的变化就是最初代的 Ledger 其实是没有屏幕的。用户没有办法在硬件端去确认你做了什么样的操作,你的交易是什么。然后后来 Ledger 有了 Nano 以后,它才开始有了屏幕。这其实也是一个很大的 technical security 的变化。但是呢,过去这些发展,这些硬件钱包它其实都没有深入讨论一个话题,就是用户交互。因为如果一个用户他的交互不好,他就有可能会犯错。他在使用的时候就有可能会犯错。甚至说一个硬件钱包交互不好,我就聊过很多用户,他们因为之前的一些传统的硬件钱包太难用了,所以就抛弃了硬件钱包,又回到了软件钱包的状态。所以在我们的角度,第二个特别重要的设计原则就是你的这个用户的交互是特别重要的。交互体验是特别重要的。所以我们产品也是经历了非常多的困难,包括供应链上面这些。我们一直在坚持用 4 寸的屏幕让用户来跟这个设备产生交互。这样带来的结果就是你跟我们硬件钱包之间的交互是跟手机的交互是非常接近的。所以用户更容易适应这样的交互,可能更少地犯错,并且减少它有退回到软件钱包的那个状态。所以第二个特别重要的设计原则就是用户交互应该是安全的一部分。这是我们第二个点。然后第三第四个点我就稍微提一下就不展开讲了。
另外想给大家聊的一个观点就是这个世界上是没有绝对的安全的。安全永远只是相对的安全。所以从我们硬件钱包的角度来讲,我们做硬件钱包的核心其实是最大化一个黑客攻击的成本,我们在做的事情。他要攻击你,我们让他把成本拉得巨高,拉到他攻击你他赚不到钱,就他花了好多好多成本,比方说他去偷你的个人信息也好,他去把你的硬件钱包调包也好,然后调包回去以后他可能还要对他进行各种实施各种攻击,就我们要做的就是把他的攻击成本拉到尽可能的无限高,因为黑客都是理性动物,他们永远是要算 ROI 的,就是我实施这个攻击成本是多少,收益是多少。所以硬件钱包,这又讲回到前面软件钱包和硬件钱包很重要的一点,就是当你没有用硬件钱包,只是用软件钱包来保存你的比特币,保存你的资产的时候,它的攻击成本其实是相对低的。因为黑客他很有可能他能够做批量化的攻击,如果你是纯软件的这种场景底下的话,但当你一旦把私钥从软件钱包隔离到硬件钱包,其实已经把黑客的攻击程度拉到很高很高了。这样带来一个结果就是黑客大概率不会来攻击你,他就会去攻击那些用纯软件钱包的人。所以这也是为什么要使用硬件钱包的另外一个点。那回到我刚才说的就是,安全这个事情它其实不是一个绝对的,它是一个相对的安全。所以我们做了大量的事情,我们去把这个黑客的攻击成本拉高,比方说我们做了防拆的机制,就是黑客如果拿到这个机器一拆机,拆机的时候它触碰到一些机关,那里面的私钥就全部都擦除了。所以我们做了类似的东西,并且我们马上发布的三代的硬件钱包在这一块还都会有加强。所以这个就是我们做的非常重要的事情就是尽可能推高黑客攻击的成本。
然后另外一个点也很重要就是安全其实是一个非常非常我们叫 detail driven 就是非常非常注重细节的一件事情。我举一些小例子,比方说如果你用 Keystone 的时候,你在升级固件的时候,你会发现,诶,屏幕上会出现这个固件包的那个哈希值。会出现这个固件包的 SHA-256,然后呢,你到我们官网你也能看到这个固件包的 SHA-256,那你就能对它进行比对,你就会发现,哦,我确定,我下载这个包没有任何问题。至少跟官网上是对齐的。并且这个信息也会出现在我们 GitHub 上面。就是你可以到各种地方去校验这个东西是不是对的。这个其实也是推高了黑客的攻击成本。他如果要攻击你,他要替换你的包。计划你的包他还要攻击我的官网把那个 SHA-256 给改掉,他还要去攻击我的 GitHub 把我的 SHA-256 给改掉。所以对黑客来说,他可能就直接就望而却步了,就不会来尝试这样的攻击了。所以就是这种好多好多这些安全上面的细节,最后他把这个黑客的攻击成本拉到几乎就是无限高,然后来避免用户。被攻击,然后再加上更好的用户体验,避免用户因为自己犯错而丢币。所以我们的核心的设计理念就是这些。
曾汨: 我刚刚听力心在聊天的过程中一直提到了打海外的比特币社区这件事。因为我自己也注意到 Keystone 在海外的比特币社区里面口碑非常不错。我去年写了一篇比特币的多签名指南,然后发现海外最著名的两篇比特币多签教程都采用了 Keystone 来作为一个硬件签名器的一个示范。然后不少的钱包评测里面,比特币的钱包评测也都提到了这款产品。所以我非常好奇 Keystone 是如何获得海外比特币社区的广泛认可的。
刘力心: OK,好的。首先非常惭愧,因为我们最近已经好久没有非常紧跟比特币迭代的速度了。但是这些都会追回来。包括像 Taproot 的支持,BIP-85,SSKR,所有这些东西我们都会做。但是回到你的问题,就我们当时怎么获得比特币社区的认可,我觉得因为我自己是产品经理出身,然后呢,之前又作为产品经理重度的参与了我们,我上一份工作也是做出海的嘛,重度参与了出海。所以我觉得这些东西,就像我前面说的 connecting the dots,它最后连接到一起带来一个结果就是,我非常喜欢跟海外的那些比特币社区的人打成一片。当时的背景其实是这样的,我可以稍微再多展开一点,就是我们当时还是在 Cobo,Cobo 的一代的硬件钱包其实是一个算是一个失败吧,我们现在回头去看,失败的原因主要有两个,最大的原因是因为我们定位定错了,我们定位在国内的矿工。然后当时的矿工也都不用硬件钱包,币都丢在交易所里面,转来转去轻松迁移,然后各种免手续费,然后大家对 self-custody 这件事情也没有很强的认知。所以我们一代产品定为矿工其实是非常大的失误,然后二代产品当时面临的状态就是,因为当时是被神鱼孵化的,我们在 Cobo 的品牌下做这个事情,如果二代我们再做不好,那这个业务线就没了。所以我当时其实压力非常大,但我当时想来想去就觉得国内的矿工我们做不了,那海外是我们唯一的出路,那海外怎么打呢?因为当时也很熊市嘛,18 年底 19 年初的时候,当时也非常熊市。我现在还记得我当时 19 年 5 月份去那个三藩参加了一次那个比特币 2019 的大会,那会上都没什么人,跟现在就完全不可以比,完全没法比,在那个会上都没有人的。
当时就跟很多比特币社区的人聊,然后当面聊,就跟他们当面聊,他们对硬件钱包的认知,然后他们对硬件钱包有什么痛点。其实那件事情是我们一个大的契机,就是后来转变的一个大的契机。然后从美国从三藩回来以后,然后我就就是破釜沉舟了。当时其实破釜沉舟就是我们要打北美的比特币社区。当时同事都半信半疑,但是我当时自己心底里也打鼓,但表面跟同事表现出来的肯定是我们这肯定能搞定。在在海外都聊了一圈,但其实我心里也没底,真的没底,完全没底,当时就是。但作为这个 CEO 嘛,你还是要表现出一定的信心。你要把这些信心传达给同事,所以大家就开始闷头做。然后闷头做后来,做到后来呢,然后我们做得非常,我觉得非常成功的一件事就是,我们在整个产品的研发过程当中,我作为对外的端口,我是频繁地跟北美的比特币社区一直在沟通的。就是沟通的点也很简单,就是你们对现在硬件钱包有什么不满意。你们希望一个什么样的硬件钱包?然后当时还刷了我刷了比特币世界所有跟钱包相关的博客,不管你是钱包的创始人也好,还是你是一个喜欢讨论钱包,讨论安全的人也好,就所有的人我全部都刷完了,就每个人,包括他的 Twitter 我也全部都刷了几乎,就每个人他的,他是哪里人,然后他喜欢讨论什么样的话题,甚至因为很多这些意见领袖他在社区里都有个人设嘛,每个人的人设是什么,他们之间谁讨厌谁,谁喜欢谁,我全部都摸清楚了,因为你在这个当中你要闪转腾挪你跟他们,两个互相看不爽的人,你 A 也不能得罪,B 也不能得罪。所以这里面就非常在夹缝中生存。但是我当时就是跟这些社区的人就成功地打成了一片。
就比方说那个 Coldcard 的创始人,Coldcard 创始人 NVK,你们知道他是一个非常,他经常 bully people,就是经常 diss 别人,diss 这个词都用轻了,就是他经常在推特上就直接就开骂。但是我跟他的关系就挺好的。那个时候有人还经常 Meme 我们两个,就是用一张图,就是两个男人在海边跳舞,然后 Meme 我们两个人还搞这种事情,所以就那个时候跟社区慢慢的就融到一起,然后这帮人你会发现他们其实都是非常纯粹的人,就比特币社区的这帮人,他可能互相之间会有一些 Dis,会有一些不爽,但他们互相之间的这些 Dis 基本都是我不同意你的观点,但我觉得你是很牛逼的人。其实骨子里他们都是这样。我不同意你的观点。我非常不同意你的观点。但我认可你对社区好这件事情。就所有人都是非常的纯粹,就是我为社区好。我希望这个社区变得更加的强壮。我希望这个社区有更好的产品。所以当你的这个 standpoint,当你的这个出发点跟他们是一样的时候,其实你是能够跟他们打成一片的。就不是说你是一个中国人,你是黄种人,他们是白种人,你们就不可能聊到一起,不是的。在海外也有很多黄种人的开发者也很牛逼,或者很多都是华裔华人也很牛逼,所以大家其实并没有那么多的种族的偏见,文化的偏见,只要大家觉得 OK,你现在在做这件事情确实是为了比特币社区好,那你就能跟他们走到一起。然后当你跟他们成为朋友以后,他们会给你很多关于硬件钱包的反馈,甚至他们会来找你问关于各种硬件钱包的一些意见。然后其实我觉得这里中国人这种相对不那么直接的性格,然后比较能够在不同的关系当中闪转腾挪的这种能力我觉得还是挺有用的。
就当时就广结善缘,跟好多这个比特币社区的人都交了朋友,然后他们就会给我提产品反馈。然后呢,后来我们产品发布他们也很支持。然后另外很重要的一点就是,我的性格就是我前两天我们还在我们内部的 Notion 上面还在写个人介绍,就里面有一部分叫你的个人使用说明书,然后我就在里面写说,我的性格当中,我非常排斥的一个东西就是 over promise,under deliver。就是过度承诺,但是你交付的东西又达不到你的承诺。所以我那个时候做的一件事情就是。OK,社区说我们要做什么,然后我就说好,我们做,然后什么时候我们能 deliver。我们几乎从来没有 miss 过一个 deadline,基本就是每一个承诺全部都达成。这个在老外看来其实是非常加分,尤其是你还是一个硬件团队,就是你是一个硬件公司,然后几乎你没有断货,然后你承诺的事情全部都做到,并且按时 deliver 这些东西,所以在比特币社区我们获得的好感就越来越多越来越多,就慢慢的就开始进入正循环。然后到后来关于比特币多签,比特币多签也是我们几个比特币社区的几个人,有几个是意见领袖,然后还有几个是钱包的开发者,包括 NVK,还有一些软件的开发者,包括 Specter,Specter 是最早把多签这一块做得非常好的,然后后来的 Sparrow,还有 BlueWallet 后来也做了。就是我们几个大概有个小圈子吧,二十个人可能这么一个小圈子,都是意见领袖,还有软件钱包和硬件钱包。大家就一起想把这个事情搞好,就是因为 Ledger 和 Trezor 感觉就几乎就推不动嘛,所以最后就是我们跟 Coldcard。
还有包括后来的 Nunchuk,就是那个越南小哥做的那个软件钱包,还有这个 BlueWallet,Sparrow,Specter,所有这些,包括后来 Casa 也加入到我们,就大家一起把这个比特币多签做好。所以这件事情做好其实不是一个你把产品交付就完了的一个过程,它其实是一个你跟一帮人然后一起从 0 到 1 把比特币这件事情共建给它做好,带来这个结果。后来 Nunchuk 的 CEO,越南小哥,他牵头又写了一个关于比特币多签的 BIP,就 BIP-129,他也邀请我们一起去写这个 BIP。所以最后我们不仅仅是 deliver 了产品,并且我们还 deliver 跟其他团队一起 deliver 一个 BIP,然后我们也很骄傲,我们应该是,华人我不敢说,但我们应该是国内唯一一个参与 BIP 的国内的开发团队。所以这个我们 CTO 也非常骄傲,因为他的名字就永远刻在了比特币的发展史上面。对,但就写了他一个人的名字。我的名字没挂上去。
曾汨: 其实刚刚力心提到的很多钱包的品牌或名字,比如说 Coldcard,Sparrow 这些,都是 BTC-Only 的钱包。但 Keystone 其实它本质上是一个多币种钱包,但它做了一个 BTC-Only 的固件。这是我知道的国内团队里面唯一一家做了 BTC-Only 版本的硬件签名器。这个就让我很好奇,你们当时为什么会去想做 BTC-Only 版本的钱包?这个过程中有没有遇到哪些挑战?对于普通用户来说,BTC-Only 版本的硬件签名器,比起你们多币种的硬件签名器,它的优点在哪里?
刘力心: OK,BTC-Only 那个版本其实,首先你从安全的角度来说,BTC-Only 它确实更安全。确实更安全。因为之前有发生过这样的安全事故,因为大家知道比特币有很多分叉币,包括莱特币,我没记错的话,狗狗币,dogecoin 其实也是比特币的分叉,其实都是比特币的分叉,BCH 这些就不说了,都是比特币的分叉。当时发生过一个事是什么?我把它描述的尽可能好理解一点,就是你表面上看上去你在签一笔莱特币的交易,但其实黑客通过一些操作,它让你用比特币的私钥,其实签了一笔比特币的交易。因为它的交易结构实在是太相似了。所以这种分叉币的存在其实是威胁到比特币的安全的。但是攻击的可能性发生的非常小,但它理论上是降低了比特币的安全性。单纯从技术的角度来讲,BTC-Only 它能够提升比特币的安全性。所以 BTC-Only 它不是一个纯情怀的事情,它确实是一个对比特币的安全性有提升的事情。因为我们最早做国内矿工的时候其实并没有 focus 在比特币上,当时就做了多币种吧。然后后来二代又继承了一代的一些东西。所以二代他在诞生的时候他也是多币种的。然后当我们去打比特币社区的时候,比特币社区第一个反馈就是你必须得有 BTC-Only 的固件。其实我们当时内部有些工程师他们不理解这事情。为什么要比特币固件?这安全性有提升吗?我当时其实花了很大的精力去说服我们的工程团队,就我们一定要有这么一个固件,并且未来我们主攻这个固件。所以后来我们针对 BTC 社区做的事基本都更新在 BTC-Only 的固件上。多币种固件都没有更新了,所以后来很多功能,像跟各种软件钱包的连接,还有各种跟比特币相关的。
比特币多签,尤其是比特币多签这些功能,我们都做在了 BTC-Only 的固件上。然后这就导致了 BTC-Only 的固件跟我们多币种的固件差别其实越来越大,就完全就是两个不同的 codebase 了,就完全不一样了。所以后来我们其实在回过头去做 Web3 那些事情的时候,我们暂时也没有把这些比特币相关的功能加到多币种的固件,但我们现在三代,我们正在研发我们三代钱包,三代会是一个大的一个更迭,就三代钱包上我们的多币种固件都能支持 BTC-Only 的所有这些功能,这是我们的规划。
曾汨: OK,那么我们的话题就进入到你们的第三代钱包了,第三代硬件签名器。那么你可以首先给我们讲一讲就是你们第三代硬件签名器在设计上会有什么亮点吗?对比现在的第二代。
刘力心: 其实第三代我觉得最重要的一个点就是第一个其实大的变化是价格变得便宜了。因为硬件钱包它慢慢的它正在变成越来越普遍或者说越来越被大众所接受的这么一个产品。因为最近你们也知道各种软件钱包出了各种各样的问题,而且可见的未来这些问题不会改善。为什么呢?因为比特币社区其实还好,但是其他的一些公链的社区你会发现软件钱包几乎都是闭源的。就没有人是开源的软件钱包。开源精神这个事情好像就变得很弱了。其实我跟一些软件钱包的创始人 CEO,CTO 也都聊过。其实他们不开源,怎么说呢?从他们的角度来看,他们有他们的理由。他们当中很重要的一个理由就是开源会让他们整个产品的迭代变慢。让他们软件钱包的整个迭代变慢。因为你不开源的话,你可以经常你这打一个补丁,你比方要上一个新功能,这打个补丁,那打个补丁,就快速的就上了,抢占市场嘛。但是你要开源的话,你这样的方式去写代码,社区肯定会不认可你。所以很多软件钱包它其实不开源,它不是不想开源,它也想开源。但它开源的话就会伤害到它的快速迭代,伤害到它的商业利益。所以除了比特币社区,其他社区的软件钱包其实现在几乎都不开源。开源唯一做得比较好的就是 MetaMask。还有一些比较 old school 的这些钱包,就是带有这种原教旨主义精神的钱包,比方说 Rabby,就是其中一个也是我们国人做的,但是越来越多新的钱包,你像 Solana 社区就没有一个开源软件钱包,已经这么大的一个社区了,但是没有一个开源软件钱包,所以其实可见的未来软件钱包出事这就是必然的。因为你越是不开源,你的这个,因为开源我之前也做过分享,开源它不仅仅是一个简单的动作,开源也是对你工程质量的一次大的提升。
就当你不开源的时候,你写代码的时候可以各种贴补丁,各种通过各种 workaround 的各种打补丁的方式来实现快速迭代,但当你开源了以后,你的整个的架构设计到你的代码质量,其实是倒逼的。就是你倒逼着你要非常好的架构,倒逼着你要写非常好的代码的质量,要做更多的注释等等的这些东西,就是你整个工程质量都被提升了。所以其实可见的未来,我觉得软件钱包出事,这就是必然的事情。它就是会一波一波一波一波的出事。而且我们接触了很多软件钱包的开发者,其实怎么说呢?就是开发的水平真的是参差不齐。所以我们作为一个业内人的角度来看,硬件钱包未来的普及度肯定会继续上升。再举个例子,我们今年的销量大概是去年的三倍,两到三倍左右,可能接近三倍。但今年大家知道是一个大熊市,但其实还是硬件钱包这个品类在逆势增长。聊回到三代,三代的第一个重要的变化就是价格会降低。这个我们也付出了很多供应链上面的努力去把它价格拉下来。然后第二个大的变化就是我们的三代会更开源。二代我们之前被人诟病的一点就是这个更开源怎么理解呢?其实我们的二代也是开源的,但二代最大的问题就是它是基于安卓的。我们把安卓的底层也都开源了,但其实那么大的代码量,开源,它确实是开源,但是社区要来检查你的代码,帮你找漏洞,其实难度是非常高的。所以我们这次更开源的点就是,我们抛弃了安卓,然后我们用嵌入式来做所有的东西,而且我们还有大量的 Rust 的代码,到时候开源出来,大家就知道,大家知道 Rust 这个编程语言是出 bug 的概率,或者说写出漏洞的概率最低的一种编程语言吧,大家可以理解成。
所以这些在技术架构上,价格主要是受供应链的影响,然后技术架构上我们会做得更加的优雅,我希望用优雅这个词,然后开源能够做得更好。这个是第一个大的变化。然后在产品功能上也有一些大的变化。比方说,我们支持三套助记词。这个在我以前看来是完全没必要的一个事情。因为你有 passphrase 嘛。你有那个密语功能。你可以 n 多个密语,用同一套助记词,然后 n 多个密语,你可以多搞出来。但其实普通用户不是这样的。为什么?因为绝大多数的软件钱包都不支持密语。所以密语这个事情,我们可能在比特币的这个核心圈子里面就觉得密语是一个默认,大家都会用,大家都学习过的一个东西。但其实你放到一个更大的一个圈层来看的话,passphrase 这个东西很多人都不知道。很多人他如果要有多个钱包,那就是多套助记词,他不会上 passphrase,而且软件钱包也都不支持,也没有对这件事情进行任何的教育。比特币社区算是最好的,但我觉得教育还是不充分。所以我们会支持三套助记词。假如你买一个硬件钱包,相当于买了三个,然后你输入不同的密码就进到不同的软件钱包,而且你还可以某一个软件钱包少放点钱,真的哪一天你出问题被绑架了,你把那个钱给吐出去就行了。所以它有很多玩法。你的安全能够做得更加的好。因为这个是一个很大的一个变化。然后其他的一些 legacy 的功能我们都会继承。然后二代经常被诟病的一些东西我们也都会做改善。然后还有在架构上有一个很大的变化是我们会使用三颗安全芯片。因为我们觉得还是那个原则,就是你要最大化黑客的攻击成本。三颗安全芯片它的点在哪里呢?它的点在于说,我用的是三颗不同型号的安全芯片。
就这三颗安全芯片,它的安全逻辑,它的架构设计都是不一样的。是来自于两个不同的顶级厂商的三款的不同安全芯片。对黑客来说,他要攻击你的产品,他就需要把三颗安全芯片全部攻破,才能得到你的私钥。这个就是几乎把他的攻击成本就抬高到无限高了。所以这个是我们一些大的变化,然后包括防拆的机制,我们都会做得更加的完善。这次我们的防拆机制,我们是直接使用了海外其实针对这种银行产品的防拆。银行产品其实都有防拆的。大家平时接触的这种智能 POS 机也好,或者说刷信用卡的机器 Terminal 也好,其实它都有防拆的机制,并且在国际上也有防拆的标准,叫 PCI 标准。我们这次就是完全按照 PCI 标准做的防拆,就是顶级的银行级的防拆。之前我们的防拆并没有做得这么强。但现在我们做到了顶级的银行级的 PCI 的控制,所以这些都是我们安全性上面提升。然后产品功能上面刚才我说了,就 BTC,我们会重新再把 BTC 这件事情捡起来,包括 Taproot,BIP-85,SSKR 这些就是我们首先要实现的。SSKR 我不知道你们听说过没有,是个很有趣的东西。大家知道那个助记词,你可以对助记词做分片嘛。就是 SLIP-39 标准,是那个 Satoshi Labs,就是那个 Trezor 他们团队提出的,叫 SLIP-39。标准的助记词是 BIP-39,就 BIP-39。他们提了一个 SLIP-39,那个 SLIP,就是 Satoshi Labs Improvement Proposal,就进不去 BIP,但他们团队提了叫 SLIP-39,对应的就是 BIP-39。
它做的一个改进就是它能够把传统的助记词变成助记词分片,就是你可以分成一个类似于多签,你可以分成一个 3-5 的分片,然后它就有 5 套助记词等于,但你凑齐其中的 3 套就能恢复出你的助记词。这样带来一个结果就是你可以把五套当中放在五个不同的地方,甚至放在五个不同的朋友那里,但你要保证这朋友之间他们互相不认识。他们不会串谋把你的这个钱给偷走。就这个其实是在助记词上面很好的一个强化。比特币社区有很多人很喜欢就很喜欢用。但是呢,SLIP-39 有一个最大的问题就是它跟 BIP-39 是完全割裂的。他用了不同的助记词的词表。首先,他的词表也是不一样的。其次呢,他最大的问题是你不能把一套 BIP-39 的助记词转换成一套 SLIP-39 的助记词。等于你要重新创建,你也不能把一套 SLIP-39 的助记词转换成 BIP-39 的助记词,因为你要想象有一些使用场景是,比方说你在硬件钱包上创建了一套助记词分片 SLIP-39,然后呢,你要在另外一个钱包上恢复你的这个资产,但那个钱包可能不支持 SLIP-39,那你就要把 SLIP-39 转成 BIP-39 你才能去做。所以那个 Blockchain Commons 就是那个 Christopher Allen 那个密码学老大哥。他做的那个 Blockchain Commons 算是非公益组织吧。他就一直在推进区块链世界的标准化。嗯。然后其实二维码标准也是我们跟他们一起定的,就比特币社区的二维码标准。也是我们跟他一起定的,就是 UR2.0 那套标准,2.1,现在是 2.1 版本,我们跟他们一起定的。他们做了另外一件事情,就是把这个 SLIP-39 往前又迭代了一步,叫 SSKR。
这个 SSKR 跟 SLIP-39 最大的变化就是它跟 BIP-39 是互通的,就是它用了同样的助记词表,并且它也能够把一套分片的助记词转化成普通的 BIP-39 的助记词,也能把 BIP-39 的助记词转化成一套分片的助记词,它能实现这个。阿剑老师满脸困惑,你还没听过是吧?
阿剑: 对,这个对我来说稍微有点黑科技了,因为我不是这方面的专业,但是如果你要生成,比如说像 SLIP-39 的话,它原本它是用了上面的密钥分割,对吧?你要同时就是说把一个,比如说把一个秘密你分成五份,然后当然你要在此技术上你要叠加一些密码学的这个元件来让它实现这个像门限一样的这个功能,这个具体我不太了解,但是他说它能互转这个,我觉得我要去研究一下。
刘力心: 其实很简单,因为你助记词其实对应的是好多一和零最后换成的。它其实就是把你普通的 BIP-39 转换成一和零。再对那个 1 和 0 进行 Shamir,然后 Shamir 以后再捣回来,因为从助记词到那个 1 和 0 之间是可以互捣的,他没有做哈希嘛,他只是一个映射关系嘛。他把那些 10101010 先做一次 Shamir,然后做成 Shamir 以后再捣腾成原始的助记词,然后两个方向都是可以互捣的,因为他没有做哈希,两个方向都可以互捣,对,其实逻辑很简单。
阿剑: 对对对。其实力心刚刚讲到 Keystone 三代的设计的时候,其实我想起了两个小问题。第一个问题是,其实我昨天在看那个 Specter,就是刚刚力心提到的 Specter,它原来是做多签的一个钱包的 CTO,他之前在 Taproot 刚刚激活的时候,他说他终于得到了一个梦寐以求的东西。他说我可以设计一种硬件钱包,这个硬件钱包上就像力心说的一样,我使用三颗来自不同厂商的安全芯片或者微控制器,然后这三颗芯片上分别放置完整的不同的 Schnorr 的私钥,然后这三个,因为你知道 Schnorr 的签名它本身支持签名聚合嘛,所以的话我就可以天生的在每一个芯片里面都放置一个完整的 Schnorr 的这个私钥,但是由他们三个来聚合成一个公钥,然后也就是说对外的时候它依然是一个公钥,但是这个签名器保证了你破坏任何一个安全芯片。他就整个就全毁了,就不可能从这里面再得到那个完整的那个 Schnorr 的那个签名了。其他的这个设计的思路其实跟力心刚刚讲到的有一点像,但是他是直接用了 Schnorr 签名这个支持聚合签名的这个方法。我不知道这个对你们来说有没有一点就是他可能有一点互通的那个。
刘力心: 其实是类似的,就是你要把黑客的干掉你的成本推到几乎无限高。我们为什么用三颗呢?因为 Coldcard 用了两颗,所以我们必须得再多一颗。One step further,往前再迈一步。
阿剑: 胜负欲上来了,这个就属于胜负欲上来了。还有一个问题是一个我个人的一个小问题,就是第三代的硬件还会有那个分离式的电池仓吗?
刘力心: 不会了,我们不会有分离式电池仓。因为当时这个分离式的电池的设计逻辑是这样的,就是电池容易坏嘛,然后你把它分离开,然后你又可以支持 7 号电池供电,这是当时的设计的原则。到后来其实我们觉得一个更加朴实的设计是像 Coldcard 那样的设计。就是你可以用充电宝给它供电。所以我们三代是有 USB 接口的。我们是有 USB 接口的。为什么?因为首先加 USB 这件事情有点违反我们之前的设计初衷。但是呢,我想这里稍微展开一下我们为什么加 USB。因为首先第一,加了 USB 以后,你们知道 Coldcard 有个功能叫 CKBunker。CKBunker 是什么呢?就是它可以把硬件钱包变成一个签名器。就比方说,因为有的人他可能会做一些操作在电脑上,然后他可以在电脑上实现一些自动的签名。它可以连接电脑以后,然后电脑上跑一些脚本,然后调那个,因为这个场景尤其是在闪电网络有时候开通道什么这些事情,就它其实不是人肉签名,而是通过脚本去调签名。所以你们可以看一下 Coldcard 有个功能叫 CKBunker。它有点像它能变成一个你个人的 HSM。但这个东西它因为它是自动化的操作所以它就没法用扫码这样的形式来实现。所以这是我们加 USB 的第一个原因。加 USB 的第二个原因是很多用户他在电脑端他没有摄像头。他没法扫码,但是他还是觉得我们这个大屏的体验非常好,他很想用。因为很多比特币社区用户他们非常注重隐私,他们的这个手机摄像头都是封起来的,笔记本电脑都是封起来的,电脑端就没有装摄像头,他们觉得这个是一个破坏隐私的东西。但是他们又不介意 USB,他们觉得 USB 的妥协,因为安全很多时候就是妥协嘛,就是你牺牲另外一个东西,得到另外一个东西。
那他们想保护他的隐私,不安装摄像头,不打开摄像头,但同时他们又想用这个好的硬件钱包,所以他们要求有一个 USB 线,这是一些用户的反馈。第三个原因就是当你加了 USB 口,带来一个好处就是你能够用充电宝给它供电,即使你的这个产品里面的电池坏了,我插上充电宝,它还能开机,它还能继续用。所以这个是带 USB 口的好处。所以顺便解答你的问题,就是我们之前的分离式设计其实是为了防止电池坏掉带来的结果,就是你可以换成 7 号电池,但现在我们用 USB 来解决这个问题。然后另外补充一点就是我们这个 USB 你是可以把它的 data transfer 给关掉了。你可以把这个 USB 口,你通过在设备里面的设置,你可以把这个 USB 口变成一个仅仅是供电的 USB 口,它没有任何数据传输,你可以强行把数据传输关掉。我们其实做了类似的这些的事情。所以这也是三代的一个变化。
曾汨: 蓝牙和 NFC 的话你还是会把它去掉的对吧?
刘力心: NFC 我没有。蓝牙我们是这样的。蓝牙我们是存在的。为什么?因为蓝牙是为未来的 MPC 签名留下可能性。因为 MPC 签名是需要你多方签名之间要频繁通讯的。
曾汨: 但是这个也是可以禁用的对吧?
刘力心: 完全禁用,蓝牙可以完全禁用。我们在出厂状态它就是完全禁用的,甚至你都感知不到它的存在,就未来我们上 MPC 签名的时候我们才会把这个蓝牙功能打开开启给你用。
曾汨: 那么你们第三代硬件预计什么时候能够上市呢?
刘力心: 可能要看,现在还有一些不确定因素,我觉得快的话可能今年年底,慢的话可能明年年初。
曾汨: 我们的听众有可能他并不能够任意地买到自己想要的签名器,比如说他所属的位置,并不是那么方便的能够买到 Keystone。那么如果买不到 Keystone 的话,你认为在挑选签名器这件事情上,大家应该遵循什么样的原则?有哪些东西是可以牺牲的,哪些东西是一定不能够牺牲的?
刘力心: 我觉得首先那个 Blockstream 他们做了一个硬件钱包叫 Jade。Jade 那个 Jade 硬件钱包其实是基于一个开源硬件做的。然后我没记错的话,它是允许你不买那个 Jade,然后去买那个开源硬件,然后买过来以后把这个固件烧进去,来变成一个硬件钱包。这个其实是一个变通的一个方法,我觉得这个是大家可以尝试的一个变通的方法,但它需要一些动手能力,需要一些 DIY 的能力。这是一个方式,然后还有一个方式是,其实也有一些产品,但这些产品现在都不成熟,就是用离线的手机,把手机变成飞行模式,然后通过扫码的方式来成为你的硬件钱包,其实这也是一个选项。然后如果你实在不想用这样的方案或者接触不到这样的产品会这样的解决方案我觉得最重要的还是你在日常使用过程当中的一些注意的点吧。就比方说,你至少装软件钱包,假设你用不了硬件钱包,你就用软件钱包。那日常也有一些点,比方说,你日常常用的那个手机不要在上面装软件钱包。就是你可以用一台老手机,它专门就是放软件钱包的。然后,因为你也不会频繁操作嘛。因为你日常操作你往里面装各种软件。有各种情况会出现各种各样的问题,它其实是风险会更大。所以用一台老手机装一个软件钱包做操作,我觉得这是一个好的事儿。还有一个要注意的事儿就是,这个其实是那个 Casa,Casa 是那个 Jameson Lopp 做的一个多签的服务。他那个服务因为我们跟他合作过,所以我们知道他里面的一些机制。我觉得当中有一个很重要的机制,我觉得要分享给大家,叫 Health Check,就是健康检查,翻译过来就是健康检查。
比方说你用一台老手机,那你可能你要设一个闹钟,每两周或者每个月你要去检查一下你的手机是不是正常的,它是不是能正常开机的。它软件是不是正常在跑,包括你的硬件钱包也是一样,不是说你买一个硬件钱包你就丢在那,你要对它做 health check,比方说你用多签也一样,多签的那个几个硬件钱包或者说你跟几个朋友一起管一笔钱,那你们几个朋友经常可能每隔一个月你们要设一个闹钟去一起签一笔消息,确保每个人的签名都是能 work 的,就这个 health check 其实是非常重要的,这个其实我觉得很多人还有些问题就是各种老生常谈的问题啊,就是助记词你一定要把它抄下来。你不能把它放在任何线上的环境,你不能拍照片,你不能上传到网盘。你不能用微信去传,等等的,我觉得这些都是老生常谈的问题,也都很重要。
曾汨: 都是些非常实用的安全相关的建议。之前那个 Ledger 推出了自己的密钥恢复服务嘛。然后行业里面很多人在讨论这个问题。当时 Ledger 他自己的人也在推特上发表了一些观点,让很多人对硬件签名器这个产品本身的安全有一些疑虑。比如说即使开源了我也有办法来盗取你的资产。硬件签名器的厂商可以自己通过更新固件的方式给你推送一个新的固件来盗取你的资产。如果我已经有了硬件签名器,我也知道硬件签名器保管资产很重要,但是硬件签名器它本身也有自己的局限,比如说它的助记词生成算法可能有漏洞,比如说我没办法确定我接下来收到的固件更新是不是真的没有植入后门的。在这种情况下,我有什么能做的能够尽可能地降低我自己的安全风险,实现更安全的资产的自我托管。
刘力心: 好问题。我觉得首先 Ledger 团队他就是这样。他们就是喜欢拉人下水。就他自己被自己做了一些不好的决定,然后拉人下水。其实你真的这些事情我觉得要防有很多可以防的方面。或者说我们就讨论厂商作恶这件事情。厂商作恶其实是被我们纳入我们范围考虑的。因为我们也会面对比方说我们的一个工程师作恶,对不对?我们也会面对比方说我们的供应商作恶,都是有可能的。供应商有可能在产权上把你产品调包,这是有可能的。那我们这里做的核心的一些措施我也可以给大家分享一下。首先刚才那个曾汨提到的助记词生成的时候有没有后门?那我们是允许用户自己生成一套助记词的。什么叫自己生成?不是说你简单地把 24 个词丢进去,那个叫自己导入助记词。我们叫自己生成助记词。自己生成助记词是什么意思?比方说我们支持你可以掷骰子,生成你的助记词,你不用依赖我。并且我们掷骰子的那个结果跟那个 iancoleman 的这个 recovery phrase 工具是同样的算法。所以你可以再用 iancoleman 去做校验,用 iancoleman 那个网页工具再去做校验。掷骰子我们是支持的。我们还支持你输入 23 个词,我们帮你把第 24 个词给计算出来。第 24 个词是个 checksum,就按照那个 BIP 的标准。我们能帮你把第 24 个词计算出来。这样的话你可以做一件什么事?你可以把 1024 个词全部打印出来。打印出来以后撕成小纸条,放在一个塑料袋里,然后咣咣咣把它给充分摇匀了以后,你从中抽 23 个词出来,抽出来以后我们帮你把 24 个词算出来,第 24 个词算出来,那这个就是充分随机的,充分的物理随机。
所以你要去防这些东西,就是这里的最关键的就是说,一个硬件钱包厂商,他的安全模型里面有没有假设他自己作恶?如果这个厂商他假设自己人会作恶,他做的第一步操作就应该是开源。你的安全假设里面如果有这一条的话,因为你想象一下如果我开源的话,是不是我的工程师要去作恶,对他来说门槛和成本就会高很多很多很多。所以开源又回到那个话题,开源是非常重要的。所以他硬要说开源也会发生这些事,我觉得这就有点拖人下水的意思了。先把开源做了再聊其他的事情,我觉得这个是最重要的事情。然后讲到供应链作恶,我们也有相应的一些措施,因为供应链包括物流都有可能发生作恶。那我们做的一件事情是什么?我们做的一件事情是,我们做了真机的校验,你可以到我们的官网,那个官网连接的是我们亚马逊 HSM 的服务器。你能够跟 HSM 的服务器做一次真机的测验。那这个对黑客来说就是他首先他要把这个机器调包,他要攻击这个产品,其次呢他要攻击我们的官网,攻击 AWS 的 HSM,可以理解成亚马逊云上面的安全模块,他都要攻击下来,最后他才能让你认为你拿到的是一台真机,然后最后中了他的圈套。所以这里面其实有很多很多你可以做的事情。回到我们前面说的设计原则,它其实就是不断推高黑客来攻击你的成本。最后的结果就是黑客就会去攻击 Ledger 的用户了。因为 Ledger 这些东西做得太糟糕了。所以这个就是我们的设计原则了。又回到我们前面讲的设计原则。
曾汨: 那我聊到这里,今天我们的播客就要进入尾声了。然后我最后还有一个问题想问问力心就是,力心做硬件签名器也做了这么久了嘛。你认为硬件签名器这个品类还存在什么样的进步空间?或者说幻想一下未来的硬件签名器它可以进化成什么样子?
刘力心: 首先我第一反应能想到的就是未来硬件钱包或者硬件签名器这个东西。比方说我们今年做的一个很大的迭代就是我们把那个 FIDO 的标准加到我们硬件钱包里面了。这也是用户提的需求。就他希望我们硬件钱包能够成为比方说他在其他一些网站登录啊或者其他一些。链上身份啊,甚至是链下的一些东西。他能够用硬件钱包去做签名,能够做 FIDO 的认证。我觉得这个是硬件钱包未来很重要的一个场景。我之前一直在想,硬件钱包其实最后,最后就很多,你知道 Web3 很多人都在讨论 DID 什么这些东西。但其实在我看来,DID 它只是一个上层的一个呈现。它是上层的一个呈现。底层的最重要的东西,你以后未来在赛博空间,你底层的最重要的东西还是那把私钥。你真正要证明你自己是你自己,那最终你还是要那把私钥。所以我前两天其实跟曾汨老师见了一面,他讲的那个观点我觉得非常有意思,就是保管私钥,并且用私钥,用硬件钱包,然后怎么去签名这件事情,它就是应该是未来世界每一个人都要去习得的概念,习得的技能,就像开车一样。现在大家都会去学开车,几乎你不会开车你就寸步难行了,尤其在美国这样的发达国家。所以我觉得未来硬件钱包,我觉得它的迭代更多的不是技术上的迭代,而是说它能够深入到更多的应用场景,然后伴随着我们整个虚拟世界的发展,赛博空间的发展,最终硬件钱包能成为你在赛博空间的最终的那个身份确认的东西,或者说你的真正的赛博空间的身份证。这个钥匙其实是这个硬件钱包或者说这把私钥是最重要的,然后每个人都要去习得这个技能。
曾汨: OK,感谢力心的精彩分享。我们这期播客到此结束,下期再见。
刘力心: 好,谢谢大家,再见。
