首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

区块链技术基础之二

随着区块链和比特币的知名度日益上升和升值潜力的强大后劲,其发展空间也被越来越多投资者所看好与追捧。众多的参与者进入区块链+数字货币的这个市场,随着情势的急速发展,为参与者提供技术学习变得尤为重要,今天为大家接着分享区块链技术基础二。

一、区块链框架简介

目前大多数区块链技术的应用与比特币类似,大部分是在比特币架构基础上的扩展。区块链技术在金融行业得到广泛关注,被认为可以用来从最底层重构传统金融业现有的IT基础框架,我们将区块链的基础架构分为三层来讲解。

1、网络层:区块链是建立在TCP/IP通信技术和对等网络的基础上的一个分布式系统,它不依靠于传统中心化服务节点来转发消息,因此更具安全性。

2、数据层:区块链是只可追加、不可更改的分布式数据库系统,即一个分布式账本。而公链是可以被任何人在任何地方进行查询的,完全公开透明。

3、应用层:可以用区块链代替传统的登记、清算系统,区块链平台能够提供编程环境让用户编写智能合约,可以把业务规则转化成在区块链平台自动执行的合约,可不依赖第三方,也不受人为干预。

二、区块链架构特点

1、去中心化

2、可靠数据库

3、开源可编程

4、集体维护

5、安全可信

6、准匿名性

三、区块链运作的核心技术

1、区块链的链接

区块链由一个一个区块组成的链(前一篇区块链基础有讲到过),一个区块链接一个区块。

2、共识机制

可以把区块链理解为一个基于互联网的去中心化记账系统,在没有中心节点的情况下保证各个诚实节点记账的一致性,就需要区块链来完成,在有信任基础的个体之间就交易的合法性达成共识的共识机制。

共识机制目前主要有4类:PoW、PoS、DPos、分布式一致性算法。

PoW:工作量证明机制,也被称为挖矿机制。

优点:完全去中心化,节点自由进出,50%以内算力时,网络交易状态就能达成一致;

缺点:造成大量资源浪费、算力集中,达成周期较长,只能最多做7笔/S的交易,不适合商业应用。

PoS:权益证明机制,要求节点提供拥有一定数量的代币证明来获取记账权的一种分布式共识机制,为了避免中心化,又采用不同方式来增加记账权的随机性。

优点:缩短了共识时间,降低了PoW机制的资源浪费。

缺点:破坏者对网络攻击的成本低,安全性有待验证,同时容易趋向中心化,失去公正性。

DPoS:股份授权证明机制,类似于董事会投票,每个见证人按序有两秒的权限时间生成区块,过时将交给下一个时间片对应的见证人,持股人可以随时通过投票更换这些见证人。DPoS的这种设计使得区块的生成更为快速,更加节能。

优点:大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证。

缺点:不适合完全去中心化的场景,在网络节点数少的场景,选举的见证人的代表性也不强。

分布式一致性算法:基于传统的分布式一致性技术,其中有分为解决拜占庭将军问题的拜占庭容错算法,如PBFT,另外解决非拜占庭问题的分布式一致性算法。(后章详述)

优点:实现秒级的快速共识机制,保证一致性,适合多方参与的多中心商业模式。

缺点:去中心化程度不如公有链上的共识机制。(后续详解共识算法)

3、解锁脚本

脚本是区块链上实现自动验证、自动执行合约的重要技术。每一笔交易的每一项输出严格意义上并不是指向一个地址,而是指向一个脚本。交易的合法性验证也依赖于锁定脚本与解锁脚本,两相对应。

脚本的机制对于区块链来说非常重要,它类似于区块链技术提供的一个扩展接口,任何人都可以基于这个接口开发基于区块链技术的应用,比如智能合约的功能。

脚本机制也让区块链技术作为一项底层协议成为可能,未来很多基于区块链的颠覆性应用,都有可能通过区块链的脚本语言来完成。

4、交易规则

区块链的交易就是构成区块的基本单位,也是区块链负责记录的实际有效内容。一个区块链交易可以是一次转账,也可以是智能合约的部署等其它事务。就比特币而言,交易即指一次支付到账。对于以太坊来说,交易还可能是智能合约的部署。交易规则就确定了符合一定语法规则的合约才能被部署在区块链上。

5、交易优先级

区块链交易的优先级由区块链协议规则决定。对于比特币而言,交易由时间和交易额大小决定,时间与链龄越长,优先级别就越高;对于以太坊而言,交易的优先与愿意交易费有关,交易费越高,优先级别越高。

6、Merkle证明

Merkle证明的原始应用是比特币系统,为的是将交易存储在每一个区块中,使其不能被篡改,同时也容易验证。Merkle树的一个重要使用场景就是快速支付验证。(前一篇有介绍)

以太坊在有局限性的比特币系统上进行了更进一步的创新,每个区块头中包含了3棵Merkle树,允许客户端轻松地进行并核实多种类型的查询答案。

7、RLP

RLP(递归长度前缀编码)是以太坊网络中对象序列化的一个主要编码方式,其目的是对任意嵌套的二进制数据的序列进行编码。

8、区块链交易流程

区块链的交易并不是通常意义上的一手交钱一手交货的交易,而是转账,每一笔转账都需要构造一笔交易数据会比较笨拙,为了使得价值易于组合与分割,比特币的交易被设计为可以纳入多个输入和输出,即一笔交易可以转账给多个人。从生成到在网络中传播,再到通过工作量证明、整个网络节点验证,最终记录到区块链,就是区块链交易的整个生命周期。整个区块链交易流程如下图所示。

下一章为大家解析“以太坊”,转载请注明出处,多谢关注。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180815G0DDQ000?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券