宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > 波场 > 正文

区块链钱包多平台签名方案

作者:

时间:1900/1/1 0:00:00

本篇技术文章源自于Nervos每周三举办的DevMeetup,作者为秘猿科技NervosAppChain技术总监段扬扬。---可能很多人都玩过区块链DApp,如加密猫,当你看到一只特别可爱的猫,想要购买时,通常你会看到需要下载安装MetaMask的提示。MetaMask是一款基于PC浏览器的插件钱包,要想下载安装成功,你还需要懂一点科学上网的知识,安装成功后,就可以通过唤起MetaMask插件钱包完成支付交易。

但是,如果你想在手机上玩加密猫,就会发现因为没有MetaMask钱包而无法继续游戏。或许你的手机里还有imToken等手机钱包,令人遗憾的是如果你通过手机浏览器打开加密猫游戏,依然是无法自动唤醒imToken等钱包进行签名支付。多平台签名问题和痛点

所以你会发现,DApp有很多承载方式,有基于PC浏览器的应用,也有手机原生APP应用。同样的,钱包也有很多承载方式,有诸如imToken手机客户端钱包,也有诸如以太坊官方钱包那样基于PC客户端钱包,也有诸如MyEtherWallet的开源web版钱包,还有各种各样的冷钱包。冷钱包很好理解,假设我的手机是一个没有联网的硬件,我需要签名支付的话,只需要拿一根USB线和电脑连接一下,就可以签名了,整个过程私钥都不会暴露在联网的环境中。也就是说如果你想在PC浏览器和手机上达到相同的DApp体验效果,并且不用频繁切换钱包账号,更不用来回相互转账,目前来看是做不到的。在PC端你可以用MetaMask钱包,在手机端则需要你在手机钱包中打开才能体验完整的DApp。想想支付宝和微信支付一站式的跨平台体验,你是否会有这样的念头,难道就没有一款钱包可以解决一站式多平台的签名痛点吗?更不幸的是MetaMask在自己的官方博客上提到,不建议用户把大量的资金放到这类插件钱包中,插件钱包是不安全的。也许此刻你会苦笑,我只是一个普通的小白用户,只想要一款可以多平台签名交易并且安全的钱包,难道这小小的要求都得不到满足吗?别急,我们不妨分析一下目前的现状和可能的解决方案。如果能有一种钱包可以解决所有平台DApp签名问题的话,那么就可以保证体验是一致的,而且移动端钱包的好处是私钥永远保存在手机本地,安全性比浏览器的钱包或插件钱包的安全性都要好;其次用户不需要安装各种各样的钱包来处理来自不同平台交易。所以如何平衡安全和易用性,以及全平台一致的体验,是多平台签名方案需要解决的问题。这是我们目前看到的行业诉求,于是我们开始调研并且尝试给出我们的解决方案。手机端扫码方案

Yusuf:区块链赋予游戏玩家以数字资产所有权:4月1日 21:00,Animoca Brands 集团首席技术官Yusuf Goolamabbas集团首席技术官做客抹茶社区分享观点。

Yusuf 表示:“拥有绝大多数虚拟商品仅仅是一种幻觉,无论投入多少钱,它都可能在瞬间消失。这是因为虚拟商品通常是作为许可服务提供的,并且必须遵守发行商为使用这些资产而指定的服务条款(例如,这些资产仍然是发行商的财产,不允许你在提供这些资产的游戏之外使用它们)。实际上,游戏产业是在向玩家出租虚拟商品。显然玩家没有所有权。区块链技术实现了游戏内资产的真正数字所有权,赋予游戏玩家真正的产权——包括资产使用权(不仅仅是在他们的原生游戏中)和资产售卖权(例如,将资产出售给第三方)。”[2021/4/2 19:39:43]

现有的互联网应用或许可以给我们提供一些借鉴思路,下图左边是手机端支付宝的支付页面。对于支付宝我们都很熟悉,如果是在手机端用支付宝支付的话,应用会自动唤起支付宝,然后直接在支付宝完成支付流程就可以了。如果是电脑端淘宝网页上支付的话,淘宝付款页面会出现一个二维码,只要打开手机支付宝,扫二维码,在手机里完成支付,然后支付结果就会传到淘宝网,整个支付过程就完成了,体验非常好,而且也非常安全。

图片右边是网易邮箱的服务,以前在PC端浏览器上登陆网易邮箱时,需要输入账号和密码,后来网易觉得这样不是很安全,输入账号和密码也比较繁琐,并且万一密码丢失该怎么办?考虑到每个人都有智能手机,而且手机相对个人来说是私密的,安全性很高,所以他们就在浏览器端登陆的时候给出一个二维码,用手机端的邮箱APP扫一下二维码,手机端完成验证鉴权,然后PC浏览器上的网页邮箱就自动登录成功了。现有互联网产品的解决思路是,既然在浏览器端无法解决保证更好的安全性,那就通过更安全的移动端扫码的方式来弥补这个缺憾。顺着这个思路往下想,假如你在PC浏览器上玩加密猫,现在想下单买一只可爱的猫,过去的方式是必须通过科学上网,安装MetaMask,创建一个钱包账号,然后从你的imToken或其他钱包转一些ETH到MetaMask钱包,最后签名支付才能购买。那有没有一种方式,直接把加密猫的交易数据通过二维码的方式呈现出来,手机钱包扫一下,在手机上完成整个签名交易流程,然后再把交易数据发到链上,最后把交易结果回传到浏览器网页端,这样整个体验就会非常好。这个方案我们有想过,但是后来一想,有问题!什么问题呢?如果普通转账交易是没问题,交易数据比较少,但如果是部署一个合约呢?这是一个普通的合约,功能就说简单的存储和读取数据,data字段就这么多,换成二维码,你会发现如此密集的二维码,绝大部分的APP根本就扫不出来,显然直接扫码这条路是走不通的。

物联网区块链项目IoTeX上线跨链协议升级:官方消息,物联网区块链龙头IoTeX上线迄今最大的一次跨链协议升级,隆重推出ioTube v3。据悉,ioTube v3将使IoTeX网络交易速度更快,交易费更便宜。 ioTube v3在保证去中心化的前提下支持ERC20和XRC20通证的双向交换,为用户带来便宜50%的交易费和2倍交易速度的闪速体验。

ioTube是IoTeX物联网开放金融基础设施#DeFIoT的系列组件之一,同时支持桌面和移动版本。[2021/2/13 19:39:57]

后来我们在公司内部的Hackathon尝试了另一个方法,既然数据比较复杂且比较大,不能直接用二维码扫描传到手机,那么能不能用一个服务器作为中继来转发数据呢。还是原来的DApp,先把复杂的交易数据传到中继服务器上,然后返回给DApp一个请求接口,通过这个HTTP请求接口客户端就可以访问到完整的交易数据,DApp拿到请求接口地址后,将请求地址生成一个二维码。钱包APP扫描二维码,获取到请求地址,并从这个请求地址上获取交易数据,钱包用本地私钥完成签名并转发到链上,最后再把区块链返回的交易hash发送给中继服务器,由于DApp和中继服务端是长连接,DApp就可以获取到交易hash,并根据交易hash处理后续的业务流程。这是一个不错的想法,至少解决了一些问题,但是却引申出了另外的问题。DApp的全称是去中心化应用,如果加入中继服务器,那么不管是DApp本身还是钱包都会非常依赖中继服务器,一旦服务出现异常或者不可用,整个签名过程就会受阻。一个去中心化应用反而要强依赖中心化服务器,这和区块链的去中心化理念就出现了矛盾。手机钱包充当服务器方案

行情 | A股收盘:区块链板块下跌0.18%:A股收盘,上证指数收跌0.24%,区块链板块下跌0.18%。82只概念股中,26只为涨,10只平盘,46只为跌。涨幅前三为:嘉泽新能(+10.09%)、中南建设(+5.08%)、深科技(+4.38%);跌幅前三为:新湖中宝(-4.73%),中元股份(-3.83%),聚龙股份(-3.63%)。[2019/5/31]

为了解决DApp和钱包强依赖中心服务器的问题,那么我们就想到了手机能不能成为服务器。如果手机和电脑在同一个局域网内,那么就可以通过IP相互直接访问,既然电脑能成为server,手机也可以是server。手机作为一个server,DApp发交易就是给这个server直接发请求,手机拿到交易数据后签名并转发数据至区块链,然后再把链返回的交易hash发送给DApp。这样解决了中心化和去中心化的矛盾,但是有一个问题就是电脑和手机必须在同一个局域网里,要不然没办法无法请求数据。

手机作为一个server是一个不常见的方式,通常只有近距离快速传送大文件的时候或者小范围的点对点通信时会使用这种方式,这种方式不适合做扩展,手机换个局域网或者换成4G的时候,它的IP就会改变,那么DApp就需要频繁更改连接的IP地址。当你没有办法做到好的兼容的时候,这也许是一个的不错思路。WalletConnect

行业内有很多团队也在尝试解决这个问题,WalletConnect是其中一个比较有名的解决方案。它也是使用一个中继服务,而且这个中继服务做的事情比上文提到的要更多。简单来说,首先,DApp和中继服务器最初会有一次握手,并建立长时间的session连接通道,然后DApp会生成用于未来加密交易数据的对称密钥,DApp会把加密后的交易数据发送到中继服务器上,并得到服务器返回的交易数据请求地址。

联合国项目事务厅与荷兰政府就区块链试点计划进行合作:据ethnews消息,联合国项目事务厅(UNOPS)正在与荷兰政府就其正运行的区块链试点计划进行合作,他们将探讨如何将分布式账本技术用于整个联合国系统范围内及外部实体的各种合法应用。十三位作者将共同合作,在今年夏天晚些时候发表他们的研究成果,并可能于九月中旬在纽约联合国总部举行发布。联合国项目和区块链技术特别顾问山本善之表示,此出版物的目的是充当催化剂,讨论区块链所具有的法律含义,更广泛地涉及现有的监管框架,数据和身份。[2018/4/11]

然后DApp将请求地址、对称密钥和sessionID打包并生成二维码,手机钱包扫描二维码并提取其中的数据请求地址和对称密钥,然后钱包从该接口地址上获取交易数据密文,并用对称密钥解密得到交易数据明文。进而在手机钱包内完成交易确认、签名和转发,最后将从链上得到交易hash发给中继服务器。由于DApp和中继服务器是长连接,所以中继服务器在拿到交易hash后,会推送给DApp,然后DApp就可以根据交易hash到区块链上查询交易的执行情况。WalletConnect和上文讨论的做法思路是一致的,只不过它更近一步,通过对称密钥对交易数据加密,安全性更好,中继服务器就是一个交易数据转发的地方,二维码则是DApp与手机钱包的信息沟通媒介,承载更轻量级的数据。这个方案中可能还有一个服务器,叫做Push服务。如果有Push服务,那么DApp后续再发送交易数据给中继服务器,就不需要再通过二维码扫描,而是直接将数据推给至Push服务,然后由Push服务推送消息给手机钱包,手机钱包再去签名并发送至链上,并把交易hash告知中继服务。当然如果没有Push服务器,整个流程同样是可以走通的,只不过需要手机钱包扫码触发获取交易数据请求,然后再完成后续流程。需要说明的是WalletConnect并不提供公共的Push服务,只提供公共的中继服务,对于DApp或者钱包运营方来说,需要维护一个中心化的Push服务器,虽然体验和安全非常好,但是解决思路有点麻烦。WalletConnect向以太坊基金会提出了希望将这一套数据规范做成EIP协议,目前协议还在讨论中,还没有定下来。AppLink

神州数字CEO孙茳涛:区块链是正在发生且无法逆转的全球化金融实验:神州数字CEO、Goopal Group发起人、中国知名天使投资人孙茳涛认为,通证(Token)带有很多债券、股票以及其他金融产品、衍生工具等属性,可以穿透金融的监管,切入到金融核心的位置。可以说,通证不仅挑战了传统的金融体系,也在很大程度上改变了整个投资圈的传统生态。所以,对于通证,世界各国都在研究政策,予以监管,那么这种穿透金融体系的本身特性究竟是好还是坏,有待于机构的研究和时间的检验以及各国监管的不同判断。不过,尽管对传统的金融、投资圈造成了很大的影响,但孙茳涛依然认为,这场金融实验是不可逆的。[2018/4/3]

还有一个方法,要比上一个方案稍微简单一些。做过移动端开发的朋友可能都知道DeepLink,或者简单说是AppLink。我们都知道在浏览器上打开一个网站链接地址就可以跳转到想要的网页,但是对于智能手机而言,每个App都是一个信息孤岛,相互之间是没有一个简单的通讯机制。举个简单的例子,淘宝和微信相互屏蔽,在百度上搜不到微信里的东西。App之间的信息是割裂状态。因此,Google和苹果作为操作系统提供方,就希望从操作系统层面上解决这个问题,于是就有了AppLink。任何一个App只要在AppLink服务上按一定的协议规范注册,那么其他App就可以通过AppLink服务与之连接并通信。比如,我在PC浏览器上想要买一只猫,购买页面会呈现出一个交易二维码,我用iPhone的系统相机扫描这个二维码,只要这个二维码内容是在我的操作系统AppLink中注册过的,那么就可以唤起手机钱包页面,完成后续的签名支付流程。但是这个服务并没有被广泛使用,原因有很多,最重要的原因是App之间不愿共享数据,它们更希望用户一直留在App内部,增加用户的使用黏性。而且安卓的碎片化比较严重,国内很多手机厂商更改了操作系统底层代码,这样就没有办法提供很好的一致体验。所以该方案在一些比较小的场景内是可以实现的,不适合所有的场景。这个数据协议也被提交到了以太坊基金会,希望可以建立一个ERC标准,目前处于草案过程,并没有达成共识。MyEtherWallet

最后一个案例很有意思,有个网页版钱包叫MyEtherWallet,提出了一种通过建立P2P安全通道完成签名交易的方案。过去在MyEtherWallet上创建一个钱包,私钥、助记词等信息都是由钱包生成,并存在浏览器存储空间中。但是私钥存在网页端其实是不安全的,网页虽然本身有一定的存储功能,但是安全性和手机比还是弱很多,那如何解决这个安全问题呢?MyEtherWallet最近出了一个手机APP叫NEWconnect,前段时间开始公测了。他们开发了一个手机端钱包NEWconnect,它虽然有钱包的很多功能,但是不作为一个独立的钱包角色,而是和网页版钱包配合使用。例如用户在网页端要转一笔1.5eth的帐,用户在网页端生成交易,手机端通过P2P的方式直接与网页点对点连接,并自动弹出确认交易页面,手机端完成签名交易后,将结果通过P2P通信通道回传给网页端,网页端更新并显示交易处理后的数据。这个方案的体验很好,也很安全。由于是私密的P2P通信通道,交易数据不会轻易被盗取,能够完美地解决上面提到的问题。但是该方案同样存在扩展困难的问题,只能在封闭系统中流转数据。P2P本身就是点对点通信,如果扩展开来,则需要一整套通道建立流程和加密机制,但是这种思路确实值得借鉴。

依然在路上

整个行业到现在也还没有最终的解决方案,我们也在做各种调研和尝试,即使在Hackathon上做了一个初级的解决方案,但还不能尽善尽美。行业的诉求和痛点很多人都发现了,并且在尝试积极解决,但是目前整个行业还未达成共识方案。现在很多区块链服务和互联网服务在体验上还有很多差距,互联网服务是中心化的,有很多中心化的方式去解决体验和安全的问题。而区块链应用是去中心化的,钱包和DApp也是去中心化的,如果我们用中继服务去做,就相当于把去中心化的问题用一种中心化的方式来解决,我们先不讨论好与不好,至少不会是最优的解决方案。安全性也是需要重点考虑的,二维码呈现的交易数据很容易被篡改,中继服务提供的交易请求也很容易被拦截,如果是互联网应用的话,可以通过中心化的方式校验数据,但是对于去中心化的应用,如何做到安全和去中心化的平衡,还需要进一步讨论。我们可以在GooglePlay和AppStore上发现大量的钱包软件,彼此之间的体验千差万别,但是始终没有能做到像支付宝那样解决多平台的签名支付问题。为此我们也还在调研和做MVP验证,希望未来可以有一套兼顾安全、体验和去中心化的解决方案。

标签:APPDAPDAPP区块链lbank交易所app下载安卓DAPSDAPPT币怎么做区块链

波场热门资讯
医疗数据与区块链分析报告

编者按:本文来自链捕手,作者:熊鸣,指导:李曌,Odaily星球日报经授权转载。国家卫生健康委:应用区块链等技术实现医疗数据安全流动和授权访问:国家卫生健康委办公厅发布《国家卫生健康委办公厅关于做好信息化支撑常态化疫情防控工作的通知》.

1900/1/1 0:00:00
区块链如何破解供应链金融痛点

文章来自:区块链大本营,编者按:本文来自:区块链大本营,作者:卿苏德,Odaily星球日报经授权发布.

1900/1/1 0:00:00
区块链50国之泰国:发行国家数字货币CTH,欲与新加坡争夺东南亚ICO中心

作者:链塔分析师团队来源:链塔智库前言从禁止比特币到接纳再到率先推出国家数字货币,泰国的180度转变几乎是在一年之内完成的。从2018年春天开始,泰国就不断酝酿各种政策,并通过媒体吹风.

1900/1/1 0:00:00
区块链扩展之路:Plasma和Cosmos(一)

编者按:本文来自medium.com,作者:DaveKajpust,由蓝狐笔记社群“Leo”翻译,星球日报经授权发布。前言:区块链的扩展性是限制它走向主流人群的主要障碍。本文主要聚焦解释侧链模式和跨链模式的扩展性解决方案.

1900/1/1 0:00:00
交易所不再有利可图?日本交易所 Coincheck 半年报现 760 万美元赤字

据日经新闻消息,日本金融服务集团Monex今日发布的2018年二、三季度合并财报显示,其全资子公司、日本主流交易所Coincheck两季度的业务出现8.47亿日元的赤字;目前平台已暂停新用户注册和部分服务.

1900/1/1 0:00:00
ST(Security Token)——证券Token化的金融实践

ST——SecurityToken,近来在圈内的火爆程度与当下遭遇寒冬的资本市场,以及哀嚎遍野的数字货币市场形成了强烈而鲜明的对比。很多业内人士把ST的发行,即STO当作合法的ICO,还有些人认为STO是Fintech第三次浪潮.

1900/1/1 0:00:00