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

数字精灵说
• 阅读 186

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

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

主讲嘉宾Alex Yang

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

以下是问答内容:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

AlexYang 

人才问题

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

 技术问题

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

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

财力问题

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

 维护问题

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

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

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

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

 要实现这些:

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

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

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

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

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

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

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

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

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

 底层技术实现

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

 管理

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

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

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

 风控

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

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

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

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

 接口

(1)采用https安全协议;

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

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

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

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

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

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

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

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

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

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

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

AlexYang :

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

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

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

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

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

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

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

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

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

AlexYang:

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

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

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

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

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

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

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

点赞
收藏
评论区
推荐文章
当前区块链研究领域的前沿技术和研究方向
本文分享自天翼云开发者社区《》作者:施庆区块链在过去几年中引起了巨大的关注,这得益于它们的分散性、透明性、匿名性和不可篡改性,这些特点使得区块链技术可以应用于许多领域。目前,区块链技术已被应用于金融、医疗、供应链等多个领域,而且也有很多研究人员正在致力于新
Stella981 Stella981
4年前
Python从零实现区块链仿真【含源码】
在区块链或数字货币领域,Python并不是主流的开发语言。但是如果你的目的是研究区块链技术的原理,或者需要在自己的笔记本上仿真一个区块链网络并进行一些研究性的实验,比如完成自己的毕业设计项目或科研课题,那么Python就是合适的。在这个教程里,我们将学习如何使用Python从零开发一个多节点的区块链网络,并基于这个仿真区块链网络,开发一个去中心化的数据分享应
可莉 可莉
4年前
10个开源的Python区块链项目
Python不是主流的区块链底层平台开发语言,但是在DApp开发、区块链仿真与数据分析、智能合约安全分析等领域,Python依然是不错的选择。本文介绍了10个最流行的Python区块链项并提供了相应的源代码下载地址。<!more区块链开发教程链接:以太坊(https://www.oschina.net/action/GoToLink
Wesley13 Wesley13
4年前
BFT等5种主流区块链共识的开源实现
共识算法是实现自主产权区块链的必不可少的关键环节,本文列出社区中相对成熟的区块链共识算法开源实现,包括BFT共识、Raft共识、Paxos共识、PoW共识等,可供希望开发自主产权区块链的团队参考学习。相关推荐:区块链开发系列教程(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fww
Stella981 Stella981
4年前
Fabric链码开发的8个原则
我相信智能合约(链码)是HyperledgerFabric区块链网络的核心。正确开发链码可以真正发挥一个安全区块链的优势,反之则会带来灾难性的后果。在这篇文章里我不打算探讨HyperledgerFabric链码设计的特定模式的好与坏,而是希望分享我在开发若干HyperledgerFabric概念验证应用过程中总结的一些基本准则。Hyperled
Stella981 Stella981
4年前
Hyperledger Explorer官方安装文档中文版
HyperledgerExplorer是一个简单易用的开源工具,可以用于监视区块链网络中的活动。HyperledgerExplorer支持Fabric、Iroha等多种区块链,可以运行在MocOS和Ubuntu下。HyperledgerFabric区块链开发教程:Fabric区块链Node.js开发详解(https://
Stella981 Stella981
4年前
Hyperledger Caliper
在这个教程中,我们将学习如何使用HyperledgerCaliper对包含多个排序节点的Fabric网络进行基准测试,我们使用DockerSwarm作为容器编排工具。HyperledgerFabric区块链开发教程:Fabric区块链Node.js开发详解(https://www.oschina.net/action/G
Stella981 Stella981
4年前
Gopher China 2018 讲师专访-丛宏雷
!(https://oscimg.oschina.net/oscnet/9eac2f5a9e8942648d0185e2d4f3cee0.jpg)自我介绍NEO社区开发者,Onchain的区块链架构师,golang的爱好者。目前在Onchain从事区块链架构设计,onchain目前在做一个全新的区块链底层框架,后端部分
Stella981 Stella981
4年前
DeFi研究资源大全,超过100个!
本文为DeFiPulse提供的去中心化金融DeFi协议及应用大全的中文翻译版,内容涵盖借贷产品、DeFi交易、去中心化支付、DeFi钱包、用户接口、DeFi基础设施、数据分析等11个分类,是区块链开发人员及金融从业者研究去中心化金融的必备资源。用自己熟悉的语言学习以太坊DApp开发:Java(https://www.oschina.
Stella981 Stella981
4年前
Bytom DAPP开发流程
从目前已经发布的DAPP来看,DAPP架构大致可以分成3种类型:插件钱包模式、全节点钱包模式和兼容模式。插件钱包模式是借助封装了钱包的浏览器插件通过RPC协议与区块链节点通信,插件在运行时会将Web3框架注入到DAPP前端页面中,然后DApp通过Web3来与区块链节点通信。全节点钱包模式需要项目方同步并持有一
Wesley13 Wesley13
4年前
11个默克尔树开源项目
Merkle树是一种可以有效验证部分数据存在于指定数据集并且未被篡改的高效的哈希树结构,作为一种底层技术广泛应用在各种区块链的实现当中,对于商品溯源、知识产权确认、区块链公证等区块链应用起着重要的作用。本文介绍11个主流的merkle树开源实现,你可以在自己的项目中应用。区块链开发教程链接:以太坊(https://www.oschina.net/