区块链核心技术入门

 

1 基本概念

1.1 常用语概念

区块:在区块链网络上承载交易数据的数据包,被标记了时间和之前一个区块的哈希值的数据结构;记录确认某些交易是在何时,以及以何种顺序成为区块链数据库的一部分。区块则是由我们称之为矿工(miners)的单位负责创建。

交易:交易是被存储在区块链上的实际数据;交易是由参与者在正常过程中使用系统所创建的(在加密数字货币的例子中,一笔交易是由bob将代币发送给alice所创建的)

签名:

钱包:加密货币钱包形式多样,使用者可以通过钱包检查、储存、花费其持有的加密货币资产。

共识:在一个时间窗口内的事务的先后顺序达成共识。

以太坊:(英文Ethereum)是一个开源的有智能合约功能的公共区块链平台,通过其专用加密货币以太币(Ether)提供去中心化的以太虚拟机(Ethereum Virtual Machine)来处理点对点合约。

比特币:

智能合约:是基于这些可信的不可篡改的数据,可以自动化的执行一些预先定义好的规则和条款。以保险为例,如果说每个人的信息(包括医疗信息和风险发生的信息)都是真实可信的,那就很容易的在一些标准化的保险产品中,去进行自动化的理赔。

1.2 核心技术

区块链四大核心技术:

1)区块链数据结构:

一段时间内发生的事务处理以区块为单位进行存储,并以密码学算法将区块按时间先后 顺序连接成链条的一种数据结构。

2)分布式存储:

通过在区块链网上依据共识机制争夺记账权,成功的节点将得到记账权以及伴生的记账奖 励和交易费用,如比特币就是通过工作量证明(Proof of Work)确定记账权,并向挖矿 的节点提供比特币奖励。

分布式存储结构允许所有节点都 拥有一个总账本,避免“串珠网络”中某一个人随意对总账本进行改动,在无法信任他 人的情况下,通过大多数人的共同利益确保任何交易节点的交易是合法的。

3)加密算法:

4)共识机制:

1.3 区块链层级结构

(说明:数据层、网络层、共识层是构建区块链技术的必要元素;激励层、合约层、应用层不属于区块链应用的必要元素)

1)数据层:

数据层主要描述区块链的物理形式,是区块链上从创世区块起始的链式结构,包含了区块链的区块数据、链式结构以及区块上的随机数、时间戳、公私钥数据等,是整个区块 链技术中最底层的数据结构。

2)网络层:

网络层主要通过 P2P 技术实现分布式网络的机制,网络层包括 P2P 组网机制、数据传 播机制和数据验证机制,因此区块链本质上是一个 P2P 的网络,具备自动组网的机制, 节点之间通过维护一个共同的区块链结构来保持通信。

3)共识层:

共识层主要包含共识算法以及共识机制,能让高度分散的节点在去中心化的区块链网络 中高效地针对区块数据的有效性达成共识,是区块链的核心技术之一,也是区块链社群 的治理机制。目前至少有数十种共识机制算法,包含工作量证明、权益证明、权益授权 证明、燃烧证明、重要性证明等。

4)激励层:

激励层主要包括经济激励的发行制度和分配制度,其功能是提供一定的激励措施,鼓励 节点参与区块链中安全验证工作,并将经济因素纳入到区块链技术体系中,激励遵守规 则参与记账的节点,并惩罚不遵守规则的节点。

5)合约层:

合约层主要包括各种脚本、代码、算法机制及智能合约,是区块链可编程的基础。将代码嵌入区块链或是令牌中,实现可以自定义的智能合约,并在达到某个确定的约束条件的情况下,无需经由第三方就能够自动执行,是区块链去信任的基础。

6)应用层:

封装各种应用场景和案例,将区块链技术部署在如:以太坊、EOS、QTUM上等。

2 区块链基本技术

2.1 区块数据

1)区块:

区块是在区块链网络上承载交易数据的数据包,是一种被标记上时间戳和之前一个区块 的哈希值的数据结构,区块经过网络的共识机制验证并确认区块中的交易;限定大小为1M以下。

 

2)父块:

父块是指区块的前一个区块,区块链通过在区块头记录区块以及父块的哈希值来在时间 上排序。

3)区块头:

记录当前区块的元信息,包含当前版本号、上一区块的哈希值、时间戳、随机数、 Merkle Root 的哈希值等数据。

 

4)区块体:

区块头共80字节,分为6个部分:version,prevBlockHash,merkleRoot,time difficultyTarget,nonce。

  • version:大小为4字节,记录了区块头的版本号,用于跟踪软件/协议的更新;
  • prevBlockHash:大小为32字节 ,记录了该区块的上一个区块的Hash地址;
  • merkleRoot:大小为32字节,记录了该区块中交易的merkle树根的哈希值;
  • time:大小为 4字节,记录了该区块的创建时间戳;
  • difficultyTarget:大小为4字节,记录了该区块链工作量证明难度目标;
  • nonce:大小为4字节,记录了用于证明工作量的计算参数。

区块体的内容是该区块的交易信息,包括交易数量和交易数据。区块体共分为三部分:numTransactionsBytes,numTransactions,transactions。

  • numTransactionsBytes:大小为1字节,记录了交易数量占用的字节数;
  • numTransactions:大小为0-8个字节,记录了区块内的交易数量;
  • transactions:大小不确定,记录了区块内存的多个交易数据。

2.2 链式结构

1)链:

链是由区块按照发生的时间顺序,通过区块的哈希值串联而成,是区块交易记录及状态 变化的日志记录。

2)创世区块:

区块链中的第一个区块被称为“创世”区块。创世区块一般用于初始化,不带有交易信息。

3)区块高度:

一个区块的高度是指在区块链中它和创世区块之间的块数。

2.3 非对称加密

2.4分布式存储

2.5 共识机制

1)共识机制:

由于点对点网络下存在较高的网络延迟,各个节点所观察到的事务先后顺序不可能完全 一致。因此区块链系统需要设计一种机制对在差不多时间内发生的事务的先后顺序进行 共识,这种对一个时间窗口内的事务的先后顺序达成共识的算法被称为“共识机制”。

2)工作量证明(PoW):

工作量证明用来确认节点做过一定量的工作;通过对工作的结果进行认证来证明完成了相应的工作量。例如比特币在区块生成过程中使用了PoW机制,可以查看记录和验证区块链信息的证明,便可知道是否完成了制定难度系数的工作量。

3)权益证明(PoS):

采用PoS机制的加密货币资产,系统会根据节点的持币数量和时间的乘积给节点分配相应的权益。

3 区块链应用

3.1 智能合约

1)智能合约:

智能合约的概念具备承诺、协议、数字形式三大要素;智能合约市值一个预先编译好的条件被触发时,智能合约会立即执行相应的合同条款。

1)以太坊:

Ethereum(以太坊)是一个平台和一种编程语言,使开发人员能够建立和发布下一代 分布式应用。Ethereum 可以用来编程,分散、担保和交易任何事物,投票,域名,金 融交易所,众筹,公司管理,合同和大部分的协议、知识产权,还有得益于硬件集成的 智能资产。

2)EVM代码:

以太坊虚拟机代码,以太坊的区块链可以包含的编程语言的代码。与帐户相关联的 EVM 代码在每次消息被发到这个账户的时候被执行,并且具有读 /写存储和自身发送消 息的能力。

3)合约:

一个包含并且受 EVM 的代码控制的账户。合约不能通过私钥直接进行控制,除非被编 译成 EVM 代码,一旦合约被发行就没有所有者。

3.2 代币

1)比特币:

是一种点对点 的、去中心化、全球通用、无排他性、不需第三方机构或个人,基于区块链作为支付技 术的加密货币,比特币不依赖中央机构发行,而是通过工作量证明共识机制在区块链中 完成,也就是俗称“挖矿”。比特币使用整个 P2P 网络节点的分布式数据库来确认、验证及记录货币的交易。

2)以太币(Ether/ETH):

Ethereum (以太坊)是一种开源的、图灵完备的、智能合约公有区块链,基于区块链 账本用于合约的处理和执行,使得任何人都能够创建合约和去中心化应用,并在其中 自有定义所有权规则、交易方式和状态转换函数。

(图灵完备:在可计算理论中,当一组数据操作的规则(一组指令集、编程语言或元胞自动机)满足任意数据按照一定的顺序可以计算出结果,则称为图灵完备。)

 

参考资料:区块链行业词典

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值