区块链 简介 区块链(Blockchain)是 区块链技术是利用块链式数据结构来验证与存储数据、 比特币的一个重要概念, 利用分布式节点共识算法来生成和更新数据、利用密码 它本质上是一个去中介化 学的方式保证数据传输和访问的安全、利用由自动化脚 的数据库,同时作为比特 本代码组成的智能合约来编程和操作数据的一种全新的 币的底层技术。 分布式基础架构与计算方式。 背景 传统支付系统 互联网上的贸易,几乎都需要借助可资信赖的第三 方信用机构来处理电子支付信息。这类系统仍然内 生性地受制于“基于信用的模式”。 数字签名 第三方机构 记录账本 数字签名 区块链支付系统 区块链技术是构建比特币区块链网络与交易信息加 数签名了 区块记录 密传输的基础技术。它基于密码学原理而不基于信 用,使得任何达成一致的双方直接支付,从而不需 要第三方中介的参与。 学以致用 DATABASE@UESTC 用以促学
学以致用 DATABASE@UESTC 用以促学 区块链技术是利用块链式数据结构来验证与存储数据、 利用分布式节点共识算法来生成和更新数据、利用密码 学的方式保证数据传输和访问的安全、利用由自动化脚 本代码组成的智能合约来编程和操作数据的一种全新的 分布式基础架构与计算方式。 区块链(Blockchain)是 比特币的一个重要概念, 它本质上是一个去中介化 的数据库,同时作为比特 币的底层技术
区块链 简介 定义 区块链是一个分布式账本,一种通过去中心化、去信任的方式集体维护一个 可靠数据库的技术方案。 从数据的角度来看 区块链是一种几乎不可能被更改的分布式数据库。这里的“分布式”不仅体 现为数据的分布式存储,也体现为数据的分布式记录(即由系统参与者共同 维护)。 从技术的角度来看 区块链并不是一种单一的技术,而是多种技术整合的结果。这些技术以新的 结构组合在一起,形成了一种新的数据记录、存储和表达的方式。 学以致用 DATABASE@UESTC 用以促学
学以致用 DATABASE@UESTC 用以促学
区块链 特征 ☒ 36 开放,共识 任何人都可以参与到区块链钢络,每一台设备都能作为一个节点,每个节点 都允许获得份完整的数据库拷贝。节点间基于一套共识机制,通过境争计 算共同维护整个区块链。任一节点失效,其余节点仍能证常工作。 去中心,去信任 区块链由众多节点共同组成一个端到端的网络,不存在中心化的设备和管理 机构。节点之间数据交换通过数字签名技术进行验证,无需互相信任,只要 按照系统既定的规测进行,节点之间不能他无法欺骗其它节点。 交易透明,双方匿名 区块链的运行规则是公开透明的,所有的数据信息也是公开的,因此每一笔 交易都对所有节点可见。由于节点与节点之间是去信任的,因此节点之间无 需公开身份,每个参与的节点都是匿名的。 不可草改,可追潮 单个甚至多个节点对数据库的修改无法影响其他节点的数据库,除非能控制 整个网络中超过51%的节点同时修改,这几乎不可能发生。区块链中的每 笔交易都通过密码学方法与相邻两个区块串联,因此可以追溯到任何一笔交 易的前世今生。 学以致用 DATABASE@UESTC 用以促学
学以致用 DATABASE@UESTC 用以促学
区块链 分类 公有链 无官方组织及管理机构,无中心服务器,参与的节点按照系统规则自由接入 网络、不受控制,节点间基于共识机制开展工作。 私有链 建立在某个企业内部,系统的运作规则根据企业要求进行设定,修改甚至是 读取权限仅限于少数节点,同时仍保留着区块链的真实性和部分去中心化的 特性。 联盟链 由若干机构联合发起,介于公有链和私有链之间,兼具部分去中心化的特性。 学以致用 DATABASE@UESTC 用以促学
学以致用 DATABASE@UESTC 用以促学
区块链 节点网络 ☒ 36 任何机器都可以运行一个完整的比特币节点,一个完整的比特币节点包括如 下功能: ●钱包叨能○完仅据连●功能●路由能 1.钱包,允许用户在区块链网络上进行交易 2.完整区块链,记录了所有交易历史,通过特殊的结构保证历史交易的安 全性,并目用来验证新交易的合法性 3.矿工,通过记录交易及解密数学题来生成新区块,如果成功可以赚取奖 励 4. 路由功能,把其它节点传送过来的交易数据等信息再传送给更多的节点 除了路由功能以外,其它的功能都不是必须的。 学以致用 DATABASE@UESTC 用以促学
学以致用 DATABASE@UESTC 用以促学
区块链 交易过程 ✉ 1.新交易创建 2.交易通过P2P网络传播 3.交易验证 5.交易写入张本 4.验证结果通过P2P网络传播 第1步:所有者A利用他的私胡对前一次交易(比特货来源)和下一位所有者 第3步:每个节点通过解一道数学难题,从而去获得创建新区块权利,并净 第步:全网其他节点核对该区块记张的正确性,设有错误无他们将在该合 B签署一个数字签名,并将这个签名附加在这枚货币的末尾,制作戒交易单 取得到比特币的奖励(新比特币会在此过程中产生】 要点:节点反复堂试寻找一个数值,使得将该数值,区块链中最后一个区块 法区块之后竞争下-个区块,这祥就形减了-个合法记的区块雄 的H阳5h值以及交易单三部分送入SH256算法后能计算出散列值X(256位)满 要点:B以公钥作为接收方地址 足一定条件(比如前20位均为0》,即找到数学难题的解,由此可见,答案 要点:每个区块的创健时间大约在10分钟,随着全网算力的不变化,每个 第2步:A将较易单广播至全网,比特币就发送给了B,每个节点都将收到的 并不雅一 区块的产生时间会随算力增强而缩短,随算力减弱而延长,其原理是根据晶 交易信息纳入一个区块中 第4步:当一个节点找到解时,它就向全网广播该区块记录的所有盖时间藏 近产生的2016年区块的时间差(约两周时间),自动调整每个区块的生成对 要点:对而言,该枚比特币会即时显示在比特币钱包中,但直到区块确认 交易,并由全网其他节点核对 度(化如减少或增加目标值中0的个数),使得每个区块的性成时间是1心分 成功后才可用。目前一笔比特币从支付到最终确认成功,得到6个区块确认 要点:时间战用来证实特定区块必然于某特定时间是的确存在的。比特币网 之后才能真正确认到帐 络采取从5个以上节点获取时间,然后取中间值的方式作为时间戳。 钟, 学以致用 DATABASE@UESTC 用以促学
学以致用 DATABASE@UESTC 用以促学
S 区块链 数据结构 ✉ 区块链 区块 区块链以区块为单位组织数据。全网所有的交易记录都以交易单的形式存储 区块是一种记录交易的数据结构。每个区块由区块头和区块主体组成,区块 在全网唯一的区块链中。 主体只负责记录前一段时间内的所有交易信息,区块链的大部分功能都由区 块头实现。 这块连,全球线一的,公开的效据华,可用于记 区块 区块 创世区执 上一境的 上一区快的 哈5列 机 哈滑数列 地悦国 用来实现区 用来实现挖 用来实现区 用来实现挖 块的连接 矿机制」 块的连接 矿机俐 交易信鸟 文易信息 除页曰区块 区块形成过程 区块头 在当前区块加入区块链后,所有矿工就立即开始下一个区块的生成工作。 1. 版本号,标示软件及协议的相关版本信息 5刀11 49 1.把在本地内存中的交易信息记录到区块主体中 2.父区块哈希值,引用的区块链中父区块头的哈希值, 2.在区块主体中生成此区块中所有交易信息的Merkle树,把Merkle树 通过这个值每个区块才首尾相连组成了区块链,并 最斟算交号g 目这个值对区块链的安全性起到了至关重要的作用 根的值保存在区块头中 3. Merkle根,这个值是由区块主体中所有交易的哈希 3.把上一个刚刚生成的区块的区块头的数据通过SHA256算法生成一个 值再逐级两两哈希计算出来的一个数值,主要用于 哈希值填入到当前区块的父哈希值中 检验一笔交易是否在这个区块中存在 4. 把当前时间保存在时间戳字段中 4. 时间戳,记录该区块产生的时间,精确到秒 5.难度值字段会根据之前一段时间区块的平均生成时间进行调整以应对整 5. 难度值,该区块相关数学题的难度目标 个网络不断变化的整体计算总量,如果计算总量增长了,则系统会调高 6. 随机数(Nonce),记录解密该区块相关数学题的答案 2510%11 数学题的难度值,使得预期完成下一个区块的时间依然在一定时间内 的值 学以致用 DATABASE@UESTC 用以促学
学以致用 DATABASE@UESTC 用以促学
区块链 分布式数据库 抽象出底层技术 闪电网络 哈希草法 给希树 链式结构 雷电网络 比特币 代表应用 区块锁1.0 数字钱包 供义 分布式数据库 Pow 以太坊 代表应用 区块镇2.0 区块链 PoS 挖矿 分布式架构模式 DPoS EOS 代表应用 区块链3.0 智能合的 分布式数据 点对点传输 共识机制 加密算法 存储 公有链 按权跟分类 超级账本(开源项目) Fabric 联盟链 区块链是一种特殊的 分布式数据库 私有锁 学以致用 DATABASE@UESTC 用以促学
学以致用 DATABASE@UESTC 用以促学 区块链是一种特殊的 分布式数据库