深入浅出区块链
陈浩
元界CTO
立即订阅
16618 人已学习
课程目录
已完结 39 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 帮你从0到1深入学习区块链技术
免费
第一章 浅说区块链基础 (8讲)
第1讲 | 到底什么才是区块链?
第2讲 | 区块链到底是怎么运行的?
第3讲 | 浅说区块链共识机制
第4讲 | 区块链的应用类型
第5讲 | 如何理解数字货币?它与区块链又是什么样的关系?
第6讲 | 理解区块链之前,先上手体验一把数字货币
第7讲 | 区块链的常见误区
第8讲 | 最主流区块链项目有哪些?
第二章 深入区块链技术 (15讲)
第9讲 | 深入区块链技术(一):技术基础
第10讲 | 深入区块链技术(二):P2P网络
第11讲 | 深入区块链技术(三):共识算法与分布式一致性算法
第12讲 | 深入区块链技术(四):PoW共识
第13讲 | 深入区块链技术(五):PoS共识机制
第14讲 | 深入区块链技术(六):DPoS共识机制
第15讲 | 深入区块链技术(七):哈希与加密算法
第16讲 | 深入区块链技术(八): UTXO与普通账户模型
第17讲 | 去中心化与区块链交易性能
第18讲 | 智能合约与以太坊
第19讲 | 上手搭建一条自己的智能合约
第20讲 | 区块链项目详解:比特股BTS
第21讲 | 引人瞩目的区块链项目:EOS、IOTA、Cardano
第22讲 | 国内区块链项目技术一览
第23讲 | 联盟链和它的困境
第三章 数字货币与数字资产 (5讲)
第24讲 | 比特币专题(一)历史与货币
第25讲 | 比特币专题(二):扩容之争、IFO与链上治理
第26讲 | 数字货币和数字资产
第27讲 | 弄懂数字货币交易平台(一)
第28讲 | 弄懂数字货币交易平台(二)
第四章 区块链与当下互联网 (5讲)
第29讲 | 互联网身份与区块链数字身份
第30讲 | 区块链即服务BaaS
第31讲 | 数字货币钱包服务
第32讲 | 区块链与供应链(一)
第33讲 | 区块链与供应链(二)
第五章 如何从业区块链 (3讲)
第34讲 | 从业区块链需要了解什么?
第35讲 | 搭建你的迷你区块链(设计篇 )
第36讲 | 搭建你的迷你区块链(实践篇)
尾声 (2讲)
尾声篇 | 授人以鱼,不如授人以渔
新书首发 |《区块链第一课:深入浅出技术与应用》
深入浅出区块链
登录|注册

第31讲 | 数字货币钱包服务

陈浩 2018-06-04
上一篇,我们谈到了“区块链即服务”的概念。实际上,区块链第一个需要解决的服务就是数字货币支付服务。如何将数字货币钱包集成到系统中,我认为这是区块链行业最为迫切的问题。
今天我们就来了解一下数字货币钱包,它面临了什么样的问题,这样的问题又需要什么技术才能解决,而数字货币平台想要定制自己的数字货币钱包服务,又应当如何集成。

数字货币钱包的分类

目前市面上的数字货币钱包有很多种,看起来似乎有些眼花缭乱,不过,我们可以将它们进行分类后,再快速了解。
下图展示了按照不同属性区分的区块链钱包。
左一是按照用户端平台划分的钱包,这种钱包实际是在服务端运行的,用户端的钱包实际上只是一个代理,所以用户不需要关心钱包的细节,使用起来十分方便,典型的例子是各种在线钱包。
左二是按照货币类型分类的钱包,主要是指这款钱包到底是否支持多币种,这里的多币种可以是基于以太坊 ERC20 Token 的同一个区块链上的多币种,也可以是集成了比特币和以太坊等不同区块链的多币种。
右二是按照私钥存储的方式来区分的钱包,实际上这里主要涉及了用户私钥是否被平台托管,如果不托管直接存储在用户端,也就是硬件、终端设备、纸质记录,这些都可以被称为 On-chain 的钱包;如果用户无法接触到私钥,私钥被托管在平台,那么这种钱包也被称为 Off-chain 的钱包。
右一是按照访问方式进行分类的钱包,例如可以多个人共同管理,同时它也是需要多重签名支持的钱包,否则就变成了个人私有的钱包。
以上的分类并不是绝对的,一个钱包可以兼具以上不同的属性,例如某个 Mobile 钱包是提供 On-chain 的,也提供多重签名、提供多币种的钱包,这种钱包通常就是业界比较流行的钱包类型。
但是,对于平台方来说,上述钱包类型可能不足以支持自己平台的需求,并发挥出最佳的功效。毕竟作为平台来说,对高可用、分叉检测、区块确认的要求是远远高于普通钱包的,这样的问题又是如何解决的呢?这就引入了一项新的技术。

扫描区块技术 Block scan

我们之前在深入区块链技术部分介绍过,构成区块链的四个核心技术是:P2P 网络协议、分布式一致性算法、加密签名算法、账户与交易模型。这四个技术对应到数字货币钱包中就是,P2P 网络、持久化存储、账户以及私钥管理、共识与交易验证四大模块。
其中,持久化存储模块是由全节点钱包自带的嵌入式数据库提供的,这里有 LevelDB、BerkerlyDB、SQLite3 等多种选择。
但是无论选择哪种嵌入式数据库,都面临了一个严峻问题,精细化的交易查询验证与性能不可兼具。换句话来说,任何全节点的嵌入式数据库都无法和服务器级别的数据库相媲美。
对于平台开发来说,显然选择服务器级别的数据库是更为合适的选择。那么这里就涉及了一个问题,如何把全节点钱包中的数据转换成为数据库服务器中的数据,这就需要用到一种扫描区块技术,简称扫块。
扫块,顾名思义,就是指扫描全节点钱包中的所有区块,然后将其解析后存储到数据库服务器的过程,这些数据库可以是 MongoDB,也可以是 MySQL,取决于你的业务需要。
我们可以举元界区块链扫块的例子,元界上的区块结构与比特币接近,你可以将其类比成比特币区块链。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《深入浅出区块链》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(7)

  • 阿痕
    对区块链有写操作的应用,很难用微服务,因为是有状态的。而区块链的读服务或基于中心库查询的web服务,完全可以用微服务。
    2018-06-05
    4
  • 镜子
    能不能直接撸代码,边撸边讲
    2018-06-05
    2
  • 沃野阡陌
    请问老师,从交易所提币出来到钱包自己保存,是不是就是您说的可以用区块链browser来看或验证是否已被打包成区块的过程?

    作者回复: 是的,完全正确。

    2018-06-05
    1
  • Ender0224
    这里最难以处理的问题是保持 MySQL 中的区块数据与全节点数据的一致性
    ---
    这个是定期扫描么 还是时时刻刻有变更就扫

    作者回复: 取决于业务敏感性吧。一般是做分叉检测和控制入库高度,不过应该不是最优解决方案

    2018-06-04
    1
  • 绝露
    区块浏览器的查询功能好理解,但是验证是指什么,能解释下吗?
    2018-06-26
  • Geek_f26a61
    初次读关于区块链的文章,对于区块链要解决的问题一直困惑。数字货币在公链上发行如何匹配各国的货币发行,发行规模应于经济体总量相关。就象美元与黄金挂钩,支付宝钱包里的钱与实际货币挂钩。问题若不对或对区块链误解请见谅

    作者回复: 你好,同意的。但也未必是货币,也可以是其他有价凭证。

    2018-06-18
  • 乔良qiaoliang
    有机会介绍一下infura.io就太好了
    2018-06-09
收起评论
7
返回
顶部