Teemo去信任插件钱包——连接dapp与用户

用过NEO上应用的用户应该有过这样的体验:每次摩拳擦掌打算薅一把羊毛的时候,总会面临一个不得不跨的门槛——需要你创建或导入一个钱包。创建一个吧,钱包已经多到自己都记不住放哪了;导入一个吧,他们好像没什么名气,真的不会偷我私钥吗?

用户很难受,换了一个dapp就跟换了条链一样,都得从头开始。

dapp的开发者也很难受,如果做了钱包,就是做了一道门槛;如果不做钱包,就得接入某个客户端钱包内,变成人家的子应用。做钱包的和做应用的就不能和谐平等相处吗。

就在这样的环境下,Teemo诞生了。

它虽然是个钱包,但token管理只是次要功能,主要功能在于连接dapp与用户。现在,只要一步确认就能使用dapp。

去掉注册门槛只是Teemo所做的一小步,Teemo更重要的作用是解决了DAPP和用户的信任问题。

去信任的钱包

当你使用dapp的钱包时,dapp会显示有一笔转账需要你确认。但实际上,你并不知道你确认的东西是否与你看到的一致,你甚至不知道,这个请求是不是dapp页面被劫持后发给你的。因为整个交易过程只有两方:dapp与用户,而用户是没有审查交易的能力的。拥有硬件钱包的用户可能会在硬件钱包上重新审查这笔交易,这也是硬件钱包的安全优势所在。

那么Teemo是怎么做的?我们为Teemo设计了一套与dapp交流的“语言”——DAPI,一个高度格式化、又灵活的交流方式。通过DAPI, dapp只能通过我们规定的方式请求数据,同时只能传给Teemo正确的交易信息(dapp的身份信息Teemo会自己去取)。这些信息会被Teemo处理后传达给用户,用户审核通过后Teemo会拼接交易并发送到区块链上。

在这个过程中dapp是被隔离的,它告诉Teemo要做什么事后,只需要等待结果,不会参与其中。

因为从交易内容生成交易数据的过程中会丢失大量原始信息,因此相较于直接解析交易数据的硬件钱包,Teemo能让用户看到更多操作信息。特别是在操作智能合约时,你可以直接看到调用的函数,这些信息将直接告诉用户你在做什么。


插件钱包

我们将Teemo做成浏览器插件的形式,避免了使用dapp前需要专门打开钱包的操作流程。当您打开浏览器的同时,钱包已经处于待命状态,在使用dapp的时候,钱包会在需要的时候自动弹出。关闭浏览器时,钱包也将一起关闭。

为了保证Teemo的隐私性,同时保留更多交易信息,详细的交易记录都保存在本地。当用户更换设备或删除插件时,本地的交易记录将会被清除。但用户仍然可以在区块链浏览器上查到简易的交易记录。

安全保障

Teemo的整个交易确认过程都是在钱包内部完成并且交易内容都是可见的,因此以正常流程是无法突破Teemo的安全机制的。钱包的数据全部保存在本地,它们的安全保障来源于浏览器对于插件的隔离保护。除非黑客可以突破chrome的安全机制,控制插件页面或直接突破权限限制可以在内存里修改交易数据,否则Teemo都是安全的。迄今为止浏览器插件的安全防御还未被如此严重地突破过,所以我们有理由认为浏览器的插件的安全机制是值得信赖的,Teemo也足够安全。

或许有人会担心Teemo自身是否会窃取私钥或用户的个人信息。放轻松,Teemo是完全开源的,它与网络通讯的接口也都是NEL提供的公开接口,它的安全性可以很轻易地进行验证。如果你还有这方面的担心,你甚至可以修改代码自己做一个“Temo”。

更多的支持

Teemo的DAPI是NEL与O3钱包共同协定使用的同一套DAPI协议,因此对开发者而言,接入Teemo相当于同时接入了PC端与手机端的钱包,只要在网页产品上做少许兼容性改动就能适配手机用户,极大地降低了开发的成本和难度。NEL的dapp也将逐步支持Teemo,我们的目标是让用户通过Teemo就可以使用全部NEO的dapp。

Teemo以后也将逐渐支持硬件钱包、种子密码备份等功能,并且提供更多的浏览器支持。

Teemo 钱包v1.0版本已经上线chrome商店,如果您对Teemo感兴趣,或者希望获取更多相关资料,请前往我们的官网

https://teemo.nel.group/ 查看。

发表评论

Top