三星领投、无需密钥与密码的钱包 ZenGo 如何实现去中心化?

转载 作者:潘致雄  2019-08-22 10:18  阅读 1,718 次

虽然 Facebook 发起的数字货币 Libra 仍前途未卜,但不久前这个名为 ZenGo 的加密货币钱包就宣布 支持 Libra 的测试网,可以进行转账收款操作。更有趣的是,ZenGo 无需密钥,支持面部识别交易,在种子轮获得了三星领投的 400 万美元投资,那么 ZenGo 究竟是如何实现人脸识别且去中心化的?

 

ZenGo 号称是全球第一个无密钥的加密货币钱包。其实是不是第一家不重要,但现在的确有越来越多的团队意识到加密货币的「私钥」这个概念的体验是有多糟糕了,就连简化后的「助记词」方案,也很可能将不少入门用户拒之门外。

而 ZenGo 就试图在去中心化的基础上解决这个问题。如果既能做到安全,又能极大的降低用户入门学习成本的话,加密货币将会进入更多人的手机里。

说到手机,最大的制造商之一三星其实已经在布局加密货币相关的基础设施了,不仅自己研发了手机版的私钥管理工具 Keystore 和 DApp 开发工具包 Keystore SDK,还领投了 ZenGo 项目,与 Benson Oak Ventures、FJ Labs、Elron Electronic Industries 一起参与了种子轮融资,投资总额为 400 万美元。

核心机制:阈值签名

ZenGo 并不是来自于美国的团队,而是以色列。Ouriel Ohayon、Gary Benattar、Tal Be'ery、Omer Shlomovits 这四位联合创始人分别负责管理、工程、安全和密码学。

ZenGo 使用了阈值签名机制(TSS),这是一种通过密码学完成分布式密钥的生成和签名的流程。他们还称之为阈值密码学,从单一密钥升级为分布式密钥,而且这与传统理解的多签并不一样,ZenGo 也有详细 介绍 过。

使用 TSS,可以将传统的私钥替换为两个独立的通过数学计算出的「密钥份额」(mathematical secret shares),其中一份储存在你的手机上,另一份储存在 ZenGo 的服务器中。就算其中的一份出现了问题,也不会产生单点故障,资产依旧是安全的。

这套机制和中心化的交易所完全不一样,只有用户本人才可以发起转账,ZenGo 是无法使用用户资金的。如果需要发起转账,用户需要主动发起,然后服务端和客户端将会使用这两个密钥份额进行通讯并签署转账请求,但不会将这两个密钥本身暴露给对方。

三星领投、无需密钥与密码的钱包 ZenGo 如何实现去中心化?

备份钱包也是相当简单的。一份加密过的客户端持有的密钥会储存在 ZenGo 的服务器中,而解密的方法是单独储存在用户个人的 iCloud 账户中,这可能也是为什么目前 ZenGo 尚未支持安卓系统。

只有用户本人的面部 3D 扫描图才可以用来进行解密,值得注意的是,这里可不是用苹果自带的面容 ID 或触控 ID 来实现的,虽然这两者是使用「安全隔区」进行过安全加密保护的,但 ZenGo 目前采用的是定制化的脸部扫描方案,需依赖前置摄像头。

三星领投、无需密钥与密码的钱包 ZenGo 如何实现去中心化?

所以如果用户不小心删除了 ZenGo 软件,或者不小心遗失了手机,都可以在几秒钟之内恢复钱包,因为只需要扫描面部就可以取回备份数据。

另外,ZenGo 不仅使用了无密钥机制,还使用了「无密码授权」机制。在使用 ZenGo 期间不需要记住任何的密码,因为他们采用了一些方法才到达了这种既方便又安全的方案:

  1. 通过魔法链接授权,也就是依赖邮箱的安全性。当用户通过邮件注册的时候,将会发送一个魔法链接给用户,点击后即可完成授权。
  2. 基于设备的授权,也就是依赖设备本身的安全性。当用户使用 App 签署签名时,需要使用面容 ID 或触控 ID 进行授权。
  3. 基于面部 3D 扫描图的授权,也就是依赖 ZenGo 提供的解决方案。当用户需要跨设备恢复 ZenGo 账户时,就需要使用面部 3D 扫描图进行授权。

ZenGo 的面部 3D 扫描技术是采用了美国 Facetech 公司旗下的 ZoOm 解决方案,根据 ZoOm 介绍,他们可以在小于 1% 拒识率(FRR)的前提下达到 420 万分之一的误识率(FAR)。(FRR 指把相同的人的图像当做不同人的,FAR 指把不同的人的图像当做同一个人。)

意外防范:密钥托管

如果 ZenGo 的产品或者服务器关闭了,是不是就意味着资金就永远丢失了?

ZenGo 的确考虑到了这个情况,所以也提供了一种全新的方式处理,由托管人(escrow)和受托人(trustee)来共同支持这项工作。当 trustee 发现 ZenGo 停止运转后,将从托管人获得主密钥,然后将发布到指定的 Github 账户中。每次用户启动客户端都会检查那个指定的 Github 账户是否进入恢复模式,然后就会下载主密钥,再加上用户自己那部分密钥就可以恢复出私钥了。

ZenGo 选择的托管由 EscrowTech 负责(微软、IBM、Oracle、沃尔玛、Verizon 和英特尔都是它的客户),受托人由 JRG 专业型律师事务所负责。

三星领投、无需密钥与密码的钱包 ZenGo 如何实现去中心化?

当然,ZenGo 是开源的,这是一个去中心化钱包得到安全保障的重要因素。还有一重保障来自于代码安全审计,所以 ZenGo 的代码也已经经过 AppSec 和 Kudelski 的审计。

另外,ZenGo 还发布了许多的技术细节文章和视频,详细介绍了阈值密码学等等的概念和案例,部分内容还被 Binance Academy 收录,值得深入学习。

ZenGo 已在 App Store 正式上线(非中国区),安卓版可能也即将上线。对于这种可以减少入门用户学习成本的尝试,值得所有加密货币钱包产品学习。

本文地址:http://www.lianchaguan.com/archives/8694
温馨提示:文章内容系作者个人观点,不代表链茶馆对观点赞同或支持。
版权声明:本文为转载文章,来源于 作者:潘致雄 ,版权归原作者所有,欢迎分享本文,转载请保留出处!

发表评论


表情