区块链概述

区块链技术为比特币系统解决了数字加密货币领域长期以来所必需面对的两个重要问题, 即双重支付问题和拜占庭将军问题。
(关于双重支付问题和拜占庭将军问题看文章后面)
区块链定义和概念

狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构, 并以密码学方式保证的不可篡改和不可伪造的分布式账本。
广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
基础架构模型

一般说来,区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。
在这里插入图片描述
数据层封装了底层数据区块以及相关的数据加密和时间戳等基础数据和基本算法;
网络层则包括分布式组网机制、数据传播机制和数据验证机制等;
共识层主要封装网络节点的各类共识算法;
激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;
合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;
应用层则封装了区块链的各种应用场景和案例。
该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励和灵活可编程的智能合约是区块链技术最具代表性的创新点。
1、数据层

(1)数据区块
在这里插入图片描述
每个数据区块一般包含区块头(Header) 和区块体(Body) 两部分。 区块头封装了当前版本号(Version)、前一区块地址(Prev-block)、当前区块的目标哈希值(Bits)、当前区块PoW 共识过程的解随机数(Nonce)、Merkle根(Merkle-root) 以及时间戳(Timestamp) 等信息。
区块体则包括当前区块的交易数量以及经过验证的、区块创建过程中生成的所有交易记录。这些记录通过Merkle 树的哈希过程生成唯一的Merkle 根并记入区块头。

(2)链式结构

取得记账权的矿工将当前区块链接到前一区块, 形成最新的区块主链。各个区块依次环环相接, 形成从创世区块到当前区块的一条最长主链, 从而记录了区块链数据的完整历史, 能够提供区块链数据的溯源和定位功能, 任意数据都可以通过此链式结构顺藤摸瓜、追本溯源。
需要说明的是, 如果短时间内有两个矿工同时“挖出” 两个新的区块加以链接的话, 区块主链可能会出现暂时的“分叉”现象, 其解决方法是约定矿工总是选择延长累计工作量证明最大的区块链。

(3)时间戳

区块链技术要求获得记账权的节点必须在当前数据区块头中加盖时间戳, 表明区块数据的写入时间。因此, 主链上各区块是按照时间顺序依次排列的。

(4)哈希函数

区块链通常并不直接保存原始数据或交易记录, 而是保存其哈希函数值, 即将原始数据编码为特定长度的由数字和字母组成的字符串后记入区块链。
哈希函数(也称散列函数) 具有诸多优良特点, 因而特别适合用于存储区块链数据。例如, 通过哈希输出几乎不能反推输入值(

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值