NEO插件钱包方案演示——安全与便捷的艺术统一

作者: 刘虔铭

原文链接:https://mp.weixin.qq.com/s/XUJUo5TH-prpyB0apKEAsQ


  • 是不是总是被GUI钱包的同步惹恼?

  • 是不是担心网页钱包会拿走你的私钥?

  • 是不是想开发Web Dapp又感觉实现钱包签名操作很无力、无奈?

 

没错!一个插件钱包就能解决以上所有问题。


插件钱包是什么?

  • 是一个能够不用同步就能立即使用的钱包。

  • 是一个完全受你掌控的钱包,除了你自己谁都不能偷走你的私钥。

  • 是一个能够和web页面通信的钱包,你可以只专注你自己的业务逻辑。

 

插件钱包的运行机制是什么?(以下以exe签名模式为例)

  1. 1.     Web页面构造指定的元素(如id为listAddrOutselect用于接收当前钱包的地址组)

  2. 2.     插件前端contentscript.js注入web页面,在打开页面时请求插件钱包的background.js

  3. 3.     插件钱包的background.js向exe签名程序发送交易信息(如一个转账,一个合约调用)

  4. 4.     exe签名程序获取交易信息,将信息展示给用户

  5. 5.     用户确认交易信息,在exe输入钱包密码,执行交易

  6. 6.     exe返回txid到插件钱包的background.js

  7. 7.     插件钱包的background.js返回txid到web页面


 

插件钱包有几种签名模式?

  • 插件调用exe签名(如果你还不太相信插件,可以用这种)

  • 插件内js签名(如果你觉得装签名exe很麻烦,可以用这种)

  • Neodun等硬件钱包签名(如果你觉得PC对于黑客来说就是不带门的,可以用这种)

 


使用复杂度

安全性

exe签名

安装插件外还需要安装签名程序并向注册表写入一个键值

js签名

仅安装插件

硬件钱包签名

安装插件外还需要安装钱包驱动程序并向注册表写入一个键值

极高

 

插件钱包如何保证我的安全?

  • NEP6钱包文件保存在插件内部。插件的页面是运行在本地浏览器内的,不与其他任何第三方的服务器相关联。

  • 每次交易都在用户确认交易信息后,用户输入钱包密码后才实际执行。

  • 所有交易的构造在钱包内部完成,防止签名请求方提供与实际交易不符的显示信息。

  • 所有处理代码都是用户端代码(本地浏览器内js、exe),能够篡改或窃取数据的只有用户本机

 

这仅仅是一个方案吗?

NO!

Github:https://github.com/NewEconoLab/NEL-BrowserPluginWallet

 


NEL插件钱包(技术预览<ChouLou>版)

PS:这里的余额通过链上UTXO数据计算得到,不需要解密钱包

 


NNS域名转账与签名确认

 

返回TXID


查看这笔TX


转账成功


猜你喜欢

转载自blog.csdn.net/hellojc866/article/details/79932246