把之前一些常见问题和概念性的知识简单整理一下。
目录
1.什么是去中心化
在一个分布有众多节点的系统中,节点之间彼此可以自由连接,形成新的连接单元。任何一个节点都可能成为阶段性的中心,但不具备强制性的中心控制功能。节点与节点之间的影响,会通过网络而形成非线性因果关系。称之为去中心化。
2.什么是区块链
本质是一个公开透明的去中心化账本,并且是对所有人公开的分布式账本。数据一旦被记录到区块链中就很难被更改了。
3.区块的组成
每一个区块都包含一些数据,和这个区块的hash值以及前一个区块的hash值。保存的数据与区块链的类型有关;hash值相当于指纹,用来标识一个区块和它所包含的所有内容,并且唯一,改变区块的某些内容hash值也相应改变;前一个区块的hash值使得区块之间可以形成链接,并能够使的区块链更加安全。
Ps:区块中交易的数据通常用默克尔树算法计算的散列值表示;
Ps:默克尔树一般是二叉树,也可以是多叉树,具有树结构的所有特点,根节点只取决于数据,当两个默克尔树根节点相同时,可以只保留根节点节约存储空间,同时不会影响区块的hash值。
4.什么是块高
区块高度的简称,区块通过规则链接在一起构成了区块链,创始区块默认高度为0,其后一个区块高度为1,以此类推(区块链的规则是系统只认可长度最长的区块链条)。举例:某一个区块的高度为386357,意味着从创世区块到当前的这个区块最长的链条区块数为386357+1个。区块高度可以用来识别区块在区块链中的位置,并据此找到和这个区块相关的所有基础属性和交易记录。和区块头哈希值不同的是,区块高度并不是唯一的标识符,在区块链的增长过程中可能会出现两个或两个以上的区块有同样的高度,这种情况叫做“区块链分叉”。
5.区块链六层结构
数据层 网络层 共识层 激励层 合约层 应用层
数据层:封装数据区块的链式结构 非对称公私钥加密 时间戳
网络层:点对点组网机制 数据传播和验证机制 分布式自治系统
共识层:共识算法和共识机制 PoW PoS DPoS
激励层:一套工资和奖励系统 奖励+交易手续费
合约层:可编程、可嵌入代码 脚本、算法、智能合约
应用层:封装各种应用场景和案例 电商平台 APP
6.什么是比特币
虚拟货币,点对点(P2P)形式的加密数字货币,点对点传输意味着一个去中心化的支付系统。(使得在线支付由一方发起,并且支付给另外一方中间不需要有任何的金融机构)
比特币可以存放在数字钱包中,钱包可以放在电脑或者手机中,然后进行数字交易;由系统认证后就会放到一个公开的账本里
比特币网络由“矿工”来保证交易的安全,矿工通过认证每笔交易来获得比特币奖励,也正因为交易需要认证,参与进来的矿工越多,比特币网络也就越安全。
7.比特币奖励谁给的
总得来说,奖励来自于所有直接和间接的参与者。奖励数量是由中本聪提供的,但是其价值是整个共识算法来决定的。
8.什么是挖矿
以比特币网络为例,矿工通过特别的软件在区块链网络中解决数学难题,作为交换,比特币系统生成特定数量的比特币给与成功快速高效解决该数学难题的矿工(工作量证明PoW)。
而比特币系统会自动改变这些数学题目的难度,而它的变化速度,也取决于它的解题速度(加强安全)。
9.什么是UTXO
指未消费的交易输出,某地址已经收到的但是尚未花费出去的加密数字货币,也是记录比特币交易的账户模型。 利用UTXO可以验证一个账户地址是否拥有未使用过的加密数字货币。
10.什么是以太坊
内置有图灵完备编程语言的区块链平台,任何人都能创建合约和去中心化应用。
11.什么是智能合约
区块中存储的是数据、交易记录,但在以太坊中可以存储一些可执行的代码,而这些可执行代码就是智能合约。是存放在区块链上的简单地程序,并且在特定条件下可以实现自动化比特币交易,智能合约也是放在区块链节点上的。
12.什么是去中心化应用
DApp即分布式应用或去中心化应用,DApp于区块链,就好比App于iOS和Android。
一个真正的DApp应用,需要同时满足以下几个条件:
- 应用的数据必须加密后存储在公开的区块链上;
- 应用必须完全开源、自治,且没有一个实体控制该应用超过51%的Token。该应用必须能够根据用户的反馈及技术要求进行升级,且应用升级必须由大部分用户达成共识之后方可进行;
- 应用必须拥有Token机制,矿工或应用维护节点需得到代币奖励;
- 应用代币的产生必须依据标准的加密算法,有价值的节点可以根据该算法获取应用的代币奖励。
13.什么是共识
对于分布式,点对点的网络,当有人加入该网络就会获得整个网络中区块链的复制,然后这个人就可以以此来验证是否所有区块还是合法未篡改的。
当一个区块被创建后,这个区块就会被发送给网络上所有的人,然后每个人都可以进行认证该区块是否有被篡改,当检验正确通过后,每个人就会把这个新区块加到自己的区块链上,这就是在网络上每个都达成了“共识”,合法的保留使用,被篡改的则拒绝。
想要成功篡改一个区块链,需要篡改区块链上所有区块,并且重新完成每个区块的工作量证明,并且控制区块链网络中超过50%的用户,只有这样,被篡改的区块才会被所有人承认。
14.什么是工作量证明(PoW)
是一种减缓新区块创建过程的机制,工作量证明需要花费一定时间(大约10min)然后再确认是否要添加区块进入区块链中。
因为光有hash值不足以防止用户篡改区块,现在计算机的运算速度,完全可以在篡改区块之后重新计算其他区块的hash值,使得自己的区块合法。所以为了降低这种风险,区块链还采用了工作量证明PoW。
15.什么是权益证明(PoS)
PoS 是PoW的一种升级共识机制,根据每个节点所占代币的比例和时间,等比例的降低挖矿难度,从而加快找随机数的速度。
16.什么是委托权益证明(DPoS)
PoS的基础之上再进行优化,找出代理来执行验证和记账,大幅度缩小参与验证和记账节点的数量,可以达到秒级的共识机制,但实现比较复杂。
详解:
基于委托权益证明的区块链具有投票系统,利益相关者将他们的工作交付给第三方。换句话说,他们可以投票给几个代表代替他们保护网络。代表们也被称为见证人,他们有责任在产生和验证新区块的过程中达成共识。投票权与每个用户持有的币数量成比例,投票系统也因项目而异。但总的来说,每位代表在要求投票时都会提出个别的提案。通常,代表们也会收集奖励并按比例分配给投票者们。
因此,委托权益证明算法创造了一个直接取决于代表声誉的投票系统。如果选举的节点行为不当或不能有效工作,它将很快被驱逐并被另一个节点取代。
在性能方面,与工作量证明和权益证明相比,委托权益证明的区块链更具有可扩展性,每秒能够处理更多的事务(TPS)。
17.区块链状态机概念
首先区块链是一种存储数据的方式,其本质就是一个状态机和一个数据库。
状态机:表示状态及其转移的机器状态,可认为是系统当前各方面指标的值,状态机则是指发生了一些指令,当前状态被改变到下一个状态。简单点理解为一台电脑。
在 BTC 时代,这台电脑其实只是个硬盘,只能存交易记录
在 ETH 时代,这台电脑是个大一点的硬盘,不仅可以存交易记录,还可以让你编程写个简单的计算器
在 EOS 时代,这台电脑已经是个服务器了,你不仅可以存很多东西,还可以编程写个很复杂的程序,而且支持高并发。
18.什么是区块链预言机
预言机是智能合约使用的数字化代理,将智能合约连接至链下数据和系统。预言机将外部连接点(即API)重新格式化,使不同软件间之间能互相兼容并交换数据。预言机可以根据服务协议(SLA)中事先编写的指令将外部数据输入智能合约,并将智能合约数据输出到外部系统