赞
踩
区块链概述
区块结构
区块的数据结构由区块头和区块体组成。前者包含当前区块的特征值,后者包含实际的交易记录数据。
区块头
80个字节组成,而平均每个交易至少是250字节,并且平均每个区块至少包含500个交易信息。因此,一个包含所有交易的完整区块比区块头大1000倍不止。
主要构成:版本号、前一个区块的哈希值、Merkle根、时间戳、bits、nonce。
ver:版本号,表示本区块遵守的验证规则。
pre_block: 父区块哈希值,即这个区块连接的上一个区块的哈希值。
mrkl_root:该区块链交易的Merkle树根的哈希值。
time:
时间戳:区块生成的时间,可以判断区块l链中各个区块生成的先后顺序。详解:该区块产生的近似时间,精确到秒的UNIX时间戳,必须严格大于前11个区块时间的中值,同时全节点也会拒绝那些超出自己两个小时时间戳的区块。
bits: 区块的难度值。该区块工作量证明算法的难度目标,已经使用特定算法编码。 Nonce:
可用来生成一个有效的哈希值的一个随机数。Nonce随区块数据的改变而变,每个区块皆需经过大量运算才能找到相应的Nonce值。
区块体
主要包含:交易数量(n_tx )、区块大小(size)、长度不定的交易记录(tx字段包含的交易列表)等信息。区块体中可以包含任何内容,例如以太坊中的区块体还包含智能合约。
区块特点
有效区块中,区块的哈希值需满足:区块头中特征值相加生成的哈希值符合一定格式,以0000为首字段。由于哈希值随着输入的不同而不同,故需不断改变随机数Nonce值直至最终生成的哈希值满足条件才算一个有效区块的生成。判定哈希值有效的标志是以000开头。
区块结构部分字段说明:
1.工作量证明:寻找特定Nonce值生成有效区块的机制。
2.哈希值:每个区块的唯一标识,其长度固定。哈希值分为有效和无效,满足特定条件(即困难度)的哈希值为有效的。区块的哈希值由区块的数据、父区块哈希值、区块索引、时间戳、Nonce一起生成的,故其任何一个数据的改变皆会导致哈希值的改变。区块颜色:红(无效),绿(有效)。若一个区块无效,则连接在其后的区块也无效。
3.创世区块:区块链中的第一个区块,无父区块,索引为0,故创世区块的父区块的哈希值为0或者为空。
通过分析两个区块,我们可以得知,本区块的父区块哈希值即为上一个区块的哈希值,索引值依次增加。
区块链的逻辑架构
自下到上大可分为:数据层、网络层、合约层和应用层。
数据层
功能:主要包括区块数据的存储、哈希值和Merkle树的计算以及链式结构的生成。存储功能可选择谷歌的一个非常高效的键值数据库:LeveIDB。
作用:把交易数据存储到区块中并将区块加入到区块链中。当节点之间发生交易后会将交易数据广播到区块链的去中心化网络上,网络中其他节点负责校验这些交易。交易被确认有效后会存储到区块,并加入到区块链。
网络层
功能:主要包括共识算法和p2p网络(peer to peer)网络亦称为点对点网络或者对等网络,根据去中心化程度的不同可分为纯p2p网络、杂p2p网络,混合p2p网络。
纯p2p网络特点:
节点同时作为客户端和服务器
无中心服务器
无中心路由器
在区块链技术中p2p网络的作用:让网络中的所有节点一起平等地参与维护区块链的分布式账本,故此区块链技术使用纯p2p网络。
杂对待网络特点
有一个中心服务器保存节点的信息并对请求这些信息的客户端做出响应。
节点负责发布信息(因为中心服务器不保存文件),让中心服务器知晓哪些文件被共享,让需要的节点下载其可共享的资源。
路由器终端使用地址,通过被一组索引引用来获取绝对地址。
合约层
功能:使得区块链中的区块具有可编程的特性。合约层赋予了区块链智能的特性,使得区块链可在满足特定条件后触发相应的操作。
应用层
反之区块链技术并结合具体业务场景开发的应用,包括加密数字货币钱包,去中心化应用等等。例如:基于以太坊的去中心化应用加密猫、类似于微笑的去中心化聊天工具BeeChat,加密数字货币钱包比特派。
区块链的发展阶段
区块链1.0阶段:区块链技术的开创阶段,以比特币的出现为标志。
区块链2.0阶段:区块链技术的应用范围不在局限于加密数字货币,而是可以在区块链上基于智能合约开发去中心化应用(Decentralized Applications,DApp)。标志为:以太坊(Ethereum)的出现。以太坊:一个开源的、有智能合约功能的区块链公共平台。以太坊目的:将区块链技术应用于加密数字货币以外的领域。
区块链3.0阶段:区块链涉及的行业包括虚拟化资产、智能化物联网、供应链管理、去中心化操作系统、底层公链等。
拙见
从长远来看,区块链将是下一代价值互联网的基础解决方案,很可能就像互联网一样对世界产生深远影响。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。