首页 > 科技 > 链客Talk|【区块链钱包+应用开发基础课程】干货分享

链客Talk|【区块链钱包+应用开发基础课程】干货分享

4月16日,“链客Talk”有幸邀请到优盾首席架构师Alex Yang,和大家分享其独家的优盾钱包开发经验,学习其从业多年的钱包开发核心技能。


主讲嘉宾Alex Yang

以下是问答内容:

主持人:什么是区块链钱包?


AlexYang :区块链钱包是指由区块链技术开发的虚拟数字货币产品的管理工具,具备货币可进行交易的特性——收款和付款。收款即可生成符合该链规则的有效地址,其他地址可向该地址进行转账;付款即可将地址中的资金转到其他地址,这就必须要求有付款地址的私钥,有地址的私钥就可完全操控该地址的资金。

主持人:区块链钱包的发展状况怎么样?


AlexYang :区块链钱包的发展大致分为几个阶段:

萌芽阶段:在当时比特币作为区块链技术开发的第一款产品,仅作为一种新型技术被进行研究和学习,流通也仅限于技术人员通过命令性执行指令来进行;

初期阶段:为了降低使用门槛,比特币钱包诞生。安装软件后只需要同步数据,即可通过图形化操作界面进行生成地址和发送交易;

发展阶段:初期阶段,虽然比特币钱包解决了使用门槛问题,但受限于数据同步,而同步数据往往会面临磁盘空间太大以及网络连接异常的压力,因此依然难以被广泛使用。此时有团队开始研究并开发出了轻钱包,这不仅解决了数据同步问题、支持创建多个比特币钱包,每个钱包还支持生成多个地址进行使用;

百花齐放阶段:在轻钱包问世后,比特币进入了大众视野。由于比特币钱包的开源,基于区块链技术开发的公链也越来越多,如以太坊、柚子、波场、瑞波等。为增强各自的流通性,每种公链都有其对应的钱包,但对使用者来说必须安装和管理各种各样的钱包,反而造成了不少的困扰。在这种情形下支持多链的钱包也就诞生了,这个阶段称之为百花齐放阶段;

应用阶段:在各公链被广泛认可后,大家就关心如何应用、体现它的价值。目前公链的价值在于数字货币,而数字货币最大应用场景就是交易所了,交易所运营中最重要的就是数字货币资产,如何保障它的正常运转成为了运营首先要解决的问题,在产品和技术们不断琢磨下针对交易所的区块链钱包逐渐形成了标准和规范。

主持人:如何去开发区块链钱包?


AlexYang :目前个人钱包技术已趋于成熟,在网上也都能找到很多开源代码,此处就不多说,我们来着重讲下交易所钱包的开发。

交易所钱包要解决的就是交易所用户充提币问题。对于运营一个交易所来说,核心是安全问题,一是交易安全;二是钱包安全。如果交易出现差错,技术人员还可以通过例如数据回滚、脏数据处理等方法处理;由于区块链技术的去中心化的特性,钱包资产一旦出现问题,资产将不可找回。

第一代交易所钱包,我们是直接通过rpc调用方式来进行处理钱包的充提,首先需要准备服务器部署btc、eth等节点,等同步完成就通过调用rpc接口来生成地址提供给交易所用户;接着开发一个服务用来处理交易所地址的充值数据,再通知给交易所;用户提币的话,通过调用开发的程序,在服务器上获取地址的私钥,进行构建签名然后广播交易,这就是热钱包概念。

这种热钱包的实现方式,需要我们将私钥信息存放到服务器上,或者经过网络的传输才能实现。事实证明,这种方式无法逃脱黑客的攻击或内鬼暗箱操作。

基于之前的实现方式和存在的问题,我们开始了第二代交易所钱包的研究和开发。在这个版本中我们着重将考虑资金安全和用户操作体验,再经过多个版本迭代后逐渐形成了我们现在的优盾企业钱包。

主持人:在开发优盾钱包中遇到了哪些困难?


AlexYang

人才问题

在确认产品定位和技术选型后,随之而来实现阶段,我们遇到了最大困难——缺少专业人才。当时,想找到合适的人员真是太难了,最后我们只能买教材、上网查资料,自己进行研究。

技术问题

一是区块链底层实现。为保证安全,所有涉及私钥的地方都必须在客户端本地完成,不能触网。因此在各种链的底层研究、融合以及跨平台支持这块耗时很久。

二是数据处理这块,我们知道区块链上的数据是庞大的,而且还需要支持各种主流公链。在如何处理数据的完整性和及时性方面也困扰了我们很长一段时间。

财力问题

在解决技术上的问题后,又不得不面临一个非常现实问题——资金问题。在支撑开发和运行这样一整套系统上,我们需要用到各方面的技术人员和大量的服务器。这对我们当时毫无收益来源的研究团队来说是一个非常大的压力,我们是恨不得一个人当两个用。

维护问题

在我们0.1版本上线初期,就已经有不少客户在进行试用了。当时由于在很多方面处理的不太成熟,导致问题不断,我们运维和核心开发人员晚上都支持到好晚才敢睡。

主持人:优盾钱包实现原理是什么?


AlexYang :从结果来看,我们支持在客户端创建钱包并支持多币种,同时每个币种都可以有多个地址,支持客户端生成地址或通过调用API进行生成。而我们只需要保管好助记词即可,通过助记词导入钱包后就能使用钱包进行发送交易。

要实现这些:

首先:我们要在线上不同地区服务器上部署多套各种公链的全节点,防止出现服务器异常、网络异常、节点升级等突发状况;

其次:通过我们开发的UBDA系统,用来对各链的区块数据、交易数据进行搜集并且存储;

同时我们开发一套UKMA系统用来存储通过我们钱包生成的地址;

然后通过我们的BBCS系统,对区块链上的数据进行分析并转换,通过UKMA系统进行过滤出我们需要数据;

在得到我们需要的数据后,我们在将对应数据发往对应的网关服务器(BGS系统),各网关服务器对数据进行保存后再将消息推送到客户端,同时将消息通知到交易所。

对于发送交易,我们是在客户端进行操作,在客户端完成交易的构建和签名,将签名后的交易串发送到对应网关服务器,再通过网关发送到BBCS系统,最后在BBCS系统将交易广播到对应公链节点上,由此完成整个充提币的交易流程。

主持人:优盾钱包为什么能保证用户的资金安全?


AlexYang :主要体现在以下几个方面

底层技术实现

钱包助记词用户自持、保证私钥永不触网、通过授权码进行授权使用、交易离线签名然后在线进行广播交易等技术手段保证私钥的安全。

管理

在管理上我们实现多维度进行管理,包含多钱包、多员工、多资产、多权限等。

多钱包:我们支持创建多个钱包,每个钱包可以管理不同资产,这样可以对资产进行分散管理,同时也便于账单查询和对账;

多员工:我们支持创建多个员工账号,同时配合多权限,安排指定人员做对应的事,同时支持审核、复核、多签等流程。

风控

(1)新设备需手机验证码进行登录;

(2)可限制固定电脑使用;

(3)可限制固定IP使用;

(4)非授权钱包无法导入使用;

接口

(1)采用https安全协议;

(2)请求接口白名单安全限制;

(3)支持多通道调用,一个线路出问题,可立即进行切换其他线路,保证系统正常运行;

(4)数据保存完整性,保证经过钱包的交易数据能够追源朔根。

主持人:优盾钱包如何支持新链?


AlexYang :理论上说只要符合接入安全标准的链我们都支持进行接入,主要体现在以下几点:

(1)代码全部或部分开源,要能支持地址及公私钥对生成、支持离线签名;

(2)提供安全的广播交易接口;

(3)提供查询区块及交易信息查询接口。

主持人:优盾钱包受众群体有哪些?


AlexYang :

1)已运营团队:对当前使用的钱包管理方案不放心的运营团队;

2)即将运营团队:需要接入使用或管理数字资产的运营团队;

3)开发者:对区块链应用感兴趣,但碍于底层技术和研究成本的限制;

4)开发团队:用于解决项目技术上或资产安全管理上的难题。

主持人:使用优盾钱包能给企业带来什么好处?


AlexYang:目前我们优盾钱包的客户注册量已超过400+,正常运营客户达到100+,上链交易日均有几百万USDT量。我们帮助企业节约运营成本,不需要准备多台服务器进行部署节点、不需要大量技术人员和运维人员;同时大大缩短上线周期,从接入到上线使用短则1天,多则一周。钱包安全和便捷的操作真正解决管理者的后顾之忧,不再担忧资金安全问题,专注于市场和运营。

主持人:来发展方向是什么?


AlexYang:

(1)用户体验:在保证安全使用前提下增强产品的用户体验;

(2)安全:在当前基础上增加硬件支持,这块我们已经开始研究,相信很快就能面世;

(3)风控:我们会针对一些异常交易或者大额交易进行监控、提醒及确认等操作,保证交易安全;

(4)应用:扩展更加丰富的区块链应用。

最终我们目标是要做一个全球性的虚拟数字货币“银行管家”。



本文来自投稿,不代表本人立场,如若转载,请注明出处:http://www.souzhinan.com/kj/366285.html