区块链开发入门之一

基本概念

区块链的核心理念:一个分布式数据库,其基本单元为区块,取款用来存储数据,区块之间前后关联,通过时间排序,基于PKI、摘要算法实现集体验证、维护。区块链提供了一个分布式总账,让用户对总账的数据实现共同治理,因而建立互信。

区块链开发入门之一_第1张图片

区块链基本逻辑

区块链有两个核心场景:

1、创建新的区块Create:创建的区块与前序区块关联,并按时间排序;

2、填充数据到区块VoteAndSignAndFillData:填充数据到区块需要住民集体共识,并有基于PKI的签名;

区块链分类

区块会因为使用场景的不同,而分组,用来记录不同场景的数据。这些分组也因为面向的用户群不一样而又所区别,有一些区块链面向所有人,所有人的权利一样,这就成了公有链;有一些区块链只面向特定的人群,这就成了私有链;公有链、私有链之间会有协作,相互之间按照特定规则实现数据互信,则成了联盟链。

区块链开发入门之一_第2张图片

几种分类

公有链主要以建立基础设施为主,例如比特币基于工作量证明来实现稀缺性,以太坊通过智能合约提供共识机制的基础实现。私有链是真实有价值的领域,可以在一个领域形成共识,例如供应链SRM;当多个私有链所在一个领域且有互通有无的需求时,联盟链就诞生了。

公有链的开发接口

常见的公有链有BTC,ETH,SWT,MOAC,以及EOS,他们都提供了API接口用来集成开发。这里用表格对比下:

序号

接口

BTC

SWT

MOAC

EOS

ETH

1

创建钱包账户

Y

Y

Y

Y

2

查询账户余额

Y

Y

Y

Y

3

交易

Y

Y

Y

Y

Y

4

查询交易信息

Y

Y

Y

Y

5

查询当前区块的交易记录

Y

6

查询区块信息

Y

7

解锁账户

Y

Y

8

查询最新区块高度

Y

Y

9

查询当前区块交易总数

Y

10

查询协议版本

Y

11

查询预测gas值

Y

12

查询交易历史

Y

13

查询区块交易总数

Y

14

查询交易收据

Y

15

查询账户信息

Y

常见公有链的API

基于区块链的交易系统架构

区块链是用来形成有共识保障的分布式账本的,因此基于区块链的交易系统本质就是借助这个能力,如果按照三层结构(客户、服务、数据),除了数据层,其余部分则与目前常见的电商、支付系统并无差异。而考虑到交易系统实现的中心化还是去中心化,因为数据层的实现变更为了区块链的模式,会造成体验会有不同。所增加的部分,在数据层,考虑到交易的情形,需要与区块链沟通信息。

区块链开发入门之一_第3张图片

主要差异点是结算系统需要与区块链沟通

区块链本来是为了实现共识,并借助了密码算法提高安全效率,奈何用户还是会接受中心化交易系统的便利,将自己的私钥都委托给交易系统,因此也除了很多问题。交易系统的安全是全方位的,除了操作风险外,还是非主观的因素,做必要的安全测试非常必要(AWVS是个选项,用来扫描安全漏洞,或者去购买第三方服务),系统维护上最好基于工具来收敛打开的窗口(Jenkins、Saltstack都是不错的选择)。

区块链开发入门之一_第4张图片

区块链开发:入门不难

你可能感兴趣的:(区块链,区块链)