美文网首页
区块链简介

区块链简介

作者: 今早上 | 来源:发表于2018-01-31 17:57 被阅读0次

    一套分布式账本系统

    区块的生成

            矿工在挖矿前要组建 区块

                    将coinbase交易打包进区块

                    将交易池中高优先级的交易打包进区块

                            优先级:交易的额度 * UTXO的深度(UTXO所在区块的深度:最新的最浅) / 交易的size(多个输入,多个输出size相对于单个大)

                            防粉尘攻击:这种优先级可以防止粉尘攻击(交易的size特别大)

                    创建区块的头部:(每个区块包含父区块哈希,没有自己的哈希)

    区块链的头部

                    挖矿成功后,将计算出来的随机数nonce填入区块头部,向临近节点传播

    区块的验证 和 链接

                相邻节点收到信的区块后,立即做检查

                        验证POW的nonce值是否符合难度值

                        检查时间戳是否小于当前的2个小时

                        检查merkle tree 是否正确

                        检查区块size要小于区块size的上限

                        第一个交易必须是coinbase交易

                        验证每个交易

                        比特币源码

    Merkle Tree(二叉树) 

                tree - 由多个节点组成的一种数据结构

                    每个节点存储数据

                    根节点 root

                    父节点,子节点,兄弟节点

               构建二叉搜索树

    二叉树:大量数据中能快速搜索某个交易

                Merkle Tree

                        防止数据篡改

                        快速验证某个交易是否存在

                        节点存储Hash值

                        从叶子节点构造树

    Merkle Path - 验证路径

    验证某个交易是否在区块中

    1. 共识机制 POW (proof of work)

                    通过挖矿保证我是个善意的节点, 并获得生成区块和在这个区块记账的权利

            2. 基于P2P网络,每个全节点都存储了一个历史完整的账本,抗攻击强

            3. 新区块通过包含前一个区块头部的哈希值(每个区块的唯一标识符)建立链接关系

                    例如一列火车,每个区块是一节车厢,每节车厢装满了交易记录

            4. 经过6个以上的区块确定的交易才是安全确认的,因为篡改的成本巨大

            5. 区块链有时会产生临时的分叉而生成两条链,最终较短的链会被舍弃

                不同矿机在同一时间点挖出来区块,然后各自广播,各个区域的矿机接受最近的广播,这样就会分叉,因为每次同时挖出来的概率太低,所以最后会有一条最长链开始被打包广播,较短的那条链就会被舍弃,改链的交易记录会全部被取消,这也是为什么经历多个区块才是安全确定的原因

    区块链的软分叉与硬分叉

            由于比特币交易结构的改变引起区块链数据结构未改变,就是当前在某个区块上更新软件,添加功能继续按照这个区块建立链接

    软分叉

            由于比特币交易结构的改变引起区块链数据结构改变, 类似BTC分叉出了BCH,BCH这条链添加了功能, 链上算法软件不一样新生成了新的一条链

    硬分叉

            区块链所有的软件开发与更新都需要让矿工来执行,不管是软分叉还是硬分叉

            “隔离见证segwit” 这件事让core团队与矿工团队发生了分歧,矿工希望扩容,更多的交易进行可以收更多的费用, 但是core团队不同意, 所以矿工团队拒绝给链上添加隔离见证功能, 隔离见证- 区块上本来交易和见证两个功能合在一起,隔离见证就是把见证功能移到另外的地方去,这样可以大大增加交易量

    利益之争 遍历完整2^256个哈希还是不小于目标值通过改变区块中的交易顺序来更改merkle root 重新来运算

    相关文章

      网友评论

          本文标题:区块链简介

          本文链接:https://www.haomeiwen.com/subject/rurlzxtx.html