问题导读
1. 区块链包含哪些概念?
2. 什么是工作量证明?
3. 什么是共识机制?
4. 你认为哪些概念比较重要?
区块链现在很多人都在学习, 无论是看书籍, 还是看视频, 我们有时候并不是明白讲的是什么, 比如工作量证明, 共识机制等等, 所以这里补充下概念
由于我们看到一个概念, 一种解释并不足以让我们弄懂它的含义, 所以这里有的给出了多个解释, 但是说的其实都是一个事情
1. 地址
解释 1:
比特币地址由一串字符和数字组成, 常见地址以 1 开头, 常见的交易是比特币从一个地址转移到另一个地址
解释 2:
一个比特币账户的唯一标识, 例如 1JwSSubhmg6iPtRjtyqhUYYH7bZg3Lfy1T. 谁拥有这个地址里的比特币? 持有这些地址所对应的密钥的人
2. 私钥
用来解锁对应地址的一串字符参考阅读比特币所有权及隐私问题
3. 签名
解释 1:
一个让人可以证明所有权的数学机制
解释 2:
数字签名算法是一种用户可以用私钥为文档产生一段叫做签名的短字符串数据的处理, 以至于任何拥有相应公钥, 签名和文档的人可以验证 (1) 该文件是由特定的私钥的拥有者签名的,(2)该文档在签名后没有被改变过请注意, 这不同于传统的签名, 在传统签名上你可以在签名后涂抹多余的文字, 而且这样做无法被分辨; 在数字签名后任何对文档的改变会使签名无效
4. 挖矿
挖矿是反复尝试不同的随机数对未打包交易进行哈希, 直到找到一个随机数可以符合工作证明的条件的随机数, 以构建区块如果一个矿工走运并产生一个有效的区块的话, 会被授予的一定数量的币作为奖励参考阅读比特币如何挖矿(挖矿原理)- 工作量证明
5. 哈希
也叫散列, 把任意长度的数据映射为较短的固定长度的二进制值的算法因为它是不可逆的运算过程, 无法解密参考阅读区块链记账原理
6. 哈希值
通过哈希运算, 从而映射成的二进制的值称为哈希值
7. 交易
解释 1:
简单来说就是比特币转账参考阅读交易分析
解释 2:
一个交易是一个文档, 授权与区块链相关的一些特定的动作在一种货币里, 主要的交易类型是发送的货币单位或代币给别人; 在其他系统, 如域名注册, 作出和完成报价和订立合约的行为也是有效的交易类型
8. 共识机制
区块链事务达成分布式共识的算法, 由于 P2P 网络下存在延迟, 各个节点所观察到的数据不可能完全一致因此区块链系统需要设计一种机制对最终数据进行共识这种对一个时间窗口内的数据的先后顺序达成共识的算法被称为共识机制
9. 随机数
在一个区块里的一个无意义的值, 为了努力满足工作证明的条件来进行调整
10. 工作量证明(POW)
解释 1:
一种共识机制, 该机制是证明人出示一个很难计算的但却很容易验证的结果通过验证这个结果, 任何人都能够确认证明人执行了一定量的计算工作量来产生这个结果参考阅读比特币如何挖矿(挖矿原理)- 工作量证明
解释 2:
在比特币, 以太坊和许多其他加密总账里的一个重要特性, 意思是在区块中的散列值必须比某个目标值小这个必要的原因是, 在分散式系统中任何人可以产生区块, 因此为了防止网络中区块泛滥, 并提供一种方法来衡量在区块链的一个特定版本后有多少共识, 使得产生一个区块非常艰难 由于散列值是伪随机的, 找一个散列值比 0000000100000000000000000000000000000000000000000000000000000000 还小的区块, 平均需要 43 亿次尝试在所有这些系统中, 目标值进行自我调整以便在网络上的一个节点平均每 N 分钟 (例如, 比特币 N =10, 以太坊 N=1) 发现一个区块,
11. 难度
整个网络会通过调整难度这个变量来控制生成工作量证明所需要的计算力
12. 难度目标
使整个网络的计算力大致每 10 分钟产生一个区块所需要的难度数值即为难度目标
13. 难度调整
整个网络每产生 2,106 个区块后会根据之前 2,106 个区块的算力进行难度调整
14. 矿工
矿工指通过不断重复哈希运算来产生工作量证明的各网络节点
15. 矿池
矿工的集合, 由于单一矿机想挖到一个块的几率是非常小的, 矿工联合挖矿以提高几率一个矿池的算力是很多矿工算力的集合, 矿池每挖到一个块, 便会根据你矿机的算力占矿池总算力的百分比, 发相应的奖励给到个体, 也不会存在不公平的情况
16. 矿工费
也叫交易费, 交易的发起者通常会向网络缴纳一笔费用, 用以处理这笔交易参考阅读交易分析
17. 挖矿
通过工作量证明验证交易打包区块的过程, 过程中有以货币的形式的奖励
18. 区块
解释 1:
在区块链网络上承载交易数据的数据包它会被标记上时间戳和之前一个区块的独特标记区块头经过哈希运算后会生成一份工作量证明, 从而验证区块中的交易有效的区块经过全网络的共识后会被追加到主区块链中参考阅读比特币区块结构
解释 2:
一个区块是一个数据包, 其中包含零个或多个交易, 前块 (父块) 的散列值, 以及可选的其它数据除了初始的创世区块以外每个区块都包含它父块的散列值, 区块的全部集合被称为区块链, 并且包含了一个网络里的全部交易历史注意有些基于区块链的加密货币使用总账这个词语来代替区块链 这 2 者的意思是大致相同的, 虽然在使用总账这个术语的系统里, 每个区块都通常包括每个账户的目前状态 (比如货币余额, 部分履行的合约, 注册) 的全部拷贝, 并允许用户抛弃过时的历史数据
解释 3:
一个区块就是若干交易数据的集合, 它会被标记上时间戳和之前一个区块的独特标记区块头经过哈希运算后会生成一份工作量证明, 从而验证区块中的交易有效的区块经过全网络的共识后会被追加到主区块链中
19. 区块链
解释 1:
狭义来讲, 一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构, 并以密码学方式保证的不可篡改和不可伪造的分布式账本广义来讲, 区块链技术是利用块链式数据结构来验证与存储数据利用分布式节点共识算法来生成和更新数据利用密码学的方式保证数据传输和访问的安全利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式
解释 2:
区块链是一串通过验证的区块, 当中的每一个区块都与上一个相连, 一直连到创世区块
20. 交易
比特币中的转账行为, 把比特币从一个地址转到另一个地址
21. 创世区块
创世区块指区块链上的第一个区块, 用来初始化相应的加密货币
22. 确认
当一项交易被区块收录时, 我们可以说它有一次确认矿工们在此区块之后每再产生一个区块, 此项交易的确认数就再加一当确认数达到六及以上时, 通常认为这笔交易比较安全并难以逆转
23.P2P 网络
通过允许单个节点与其他节点直接交互, 从而实现整个系统像有组织的集体一样运作的系统参考阅读分析比特币网络
24. 分叉
指向同一个父块的 2 个区块被同时生成的情况, 某些部分的矿工看到其中一个区块, 其他的矿工则看到另外一个区块这导致 2 种区块链同时增长
25.Merkel 树
Merkle 树是一种哈希二叉树, 比特币中用它来校验交易
26.SPV 客户端(或轻客户端)
一个只下载一小部分区块链的客户端, 使拥有像智能手机和笔记本电脑之类的低功率或低存储硬件的用户能够保持几乎相同的安全保证, 这是通过有时选择性的下载的小部分的状态, 而在区块链验证和维护时, 不需要花费兆字节的带宽或者千兆字节的存储空间
27. 双重花费
是一个故意的分叉, 当一个有着大量挖矿能力的用户发送一个交易来购买产品, 在收到产品后又做出另外一个交易把相同量的币发给自己攻击者创造一个区块, 这个区块和包含原始交易的区块在同一个层次上, 但是包含并非原始交易而是第二个交易, 并且开始在这个分叉上开始挖矿如果攻击者有超过 50%的挖矿能力的话, 双重花费最终可以在保证在任何区块深度上成功低于 50%的话, 有部分可能性成功但是它经常在深度 2-5 上有唯一显著的可能因此在大多数交易所, 在接受支付之前需要 6 次确认
京东区块链技术实践白皮书下载 3 月份最新
来源: https://mp.weixin.qq.com/s?__biz=MzA3MjQ1NDYzOQ==&mid=2660384569&idx=1&sn=a997aec770af9d460dd41c812d8d5602&chksm=847887b9b30f0eafd02960009c3b9acd01aea8f6925fbb38c70b6cce56e1bde6c83d1660d794#rd