区块链技术原理和架构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
比特币地址的生成
私钥到公钥
由非对称加密算法保证的,这种算法在比特币中选择的是 ECDSA 算法
公钥到公钥hash
由哈希算法保证的,在这一步使用了 SHA256 和 RIPEMD160
公钥hash到钱包地址
Base58算法,此过程可逆
区块结构
区块是一种记录交易的数据结构。每个区块由区块头和区块主体组成,区块
区块链的特征
开放,共识
任何人都可以参与到区块链网络,每一台设 备都能作为一个节点,每个节点都允许获得 一份完整的数据库拷贝。节点间基于一套共
识机制,通过竞争计算共同维护整个区块 链。任一节点失效,其余节点仍能正常工
作。
去中心,去信任
区块链由众多节点共同组成一个端到端的网 络,不存在中心化的设备和管理机构。节点 之间数据交换通过数字签名技术进行验证, 无需互相信任,只要按照系统既定的规则进
数据角度 效果角度
区块链可以生成一套记录时间 先后的、不可篡改的、可信任 的数据库,这套数据库是去中 心化存储且数据安全能够得到
有效保证的。
比特币的定义就是“一个不依靠信任的电子交易系统” (A system for electronic transactions without relying on trust)
数据合入区块,区块串联构成链
上一区块索引
…
区块
上一区块索引 区块
上一区块索引
区块
…
本区块索引
本区块索引
本区块索引
每个区块包含一段时间内产生的交易数据 把相关的数据汇总计算摘要,进行汇总的完整性正确性证明 每个区块计算摘要时,把前一个区块的摘要作为一个数据计算在内,
构成数据链 最新区块包含了所有数据链的完整性证明,整个链条上的任何数据改
的节点都是匿名的。
区块链的分类
公有链
任意区块链服务客户 都可以使用
任意节点均可接入, 由所有节点共同参与 共识和读写数据
完全去中心化,无管 理机构,无中心服务 器
联盟链
只有利益相关的特定 区块链服务客户才能 使用
节点只有经过授权许 可后方可接入网络, 接入节点按照规则参 与共识和读写数据
成本: 算力
交易验证:每个全节点依据综合标准对每个交易进行独立验证 打包区块:通过完成POW算法的验算,挖矿节点将交易记录独立打包进新区块 验证区块:每个节点独立的对新区块进行校验并组装进区块链 最长链优先:每个节点对区块链进行独立选择,在工作量证明机制下选择累计工作量最大的区块链
主体只记录自上一个区块以来的交易数据,区块链的大部分功能都由区块
头实现。
Merkle树-区块内交易数据的汇总hash
Merkle树由一个根节点、一组中间节点和一组叶节点组成。叶子节点可以存储数据,根节点和每个中间节点是两 个子节点的内容的哈希值组成。
只要存储数据的叶子节点有任何的变动,都会传递到相应的父节点,最终其Merkle树的根节点都会发生变化。
资,即代币众筹(简称 ICO)的人群,业内俗
称”币圈”
“矿圈”指的是专 注于“挖矿”的 “矿工”人群。
矿圈
链圈
“链圈”指的是专 注于区块链的研 发、应用,甚至于 区块链底层协的人 群
区块链是什么
区块链是一个分布式账本,一种通过去中心化、去信任的方式集体维护一个 可靠数据库的技术方案。
一种几乎不可能被更改的 分布式数据库
行,节点之间不能也无法欺骗其它节点。
不可篡改,可追溯
单个甚至多个节点对数据库的修改无法影响 其他节点的数据库,除非能控制整个网络中 超过51%的节点同时修改,这几乎不可能发 生。区块链中的每一笔交易都通过密码学方 法与相邻两个区块串联,因此可以追溯到任
何一笔交易的前世今生。
交易透明,双方匿名
区块链的运行规则是公开透明的,所有的数 据信息也是公开的,因此每一笔交易都对所 有节点可见。由于节点与节点之间是去信任 的,因此节点之间无需公开身份,每个参与
应用场景: 去中心化的数字支付系统, 无障碍的价值转换
代表:BTC
区块链2.0架构-智能合约
以太坊是一个运行智能合约的分 布式平台
应用场景: 以以太坊为代表的智能合约,是经 济、市场和金融领域的区块链应用
代表:以太币(Ether)
Hyperledger架构-非数字加密货币领域内的应用
在社会领域下的应用场景实现, 为各种行业提供去中心化解决方 案大规模应用时代。
• 保证交易数据的一致 性
• POW、POS、DPOS
• 节点发现机制 • 交易和确认消息在网
络的传播
比特币的UTXO模型
UTXO 全称是:“Unspent Transaction Output”,未花费的交易输出。 UTXO 的核心设计思路是无状态,它记录的是交易事件,而不记录最终状态。 只记录变更事件,用户需要根据历史记录自行计算余额。
动都会破坏数据链的相关性,想修改链上的任何一个字节,要把这个 字节所在区块的所有区块都要重新计算一次hash
ቤተ መጻሕፍቲ ባይዱ
区块存储
索引数据存储在levelDB,区块数据存储在区块文件中。定位 区块数据采用的标识是文件名和偏移量
如何挖矿
• 挖矿: 争夺记账权
• 本质: 随机选择下一个出块者
• 奖励: 矿工费 目前在6.8 BTC
应用场景: 公证、仲裁、审计、物流、医疗、 邮件等领域。
代表: 最著名的子项目是 Fabric,由 IBM 主导开发
02
区块链的技术原理
比特币交易过程
技术原理
• 交易数据分成不同的 区块
• 区块之间通过链的方 式串联
区块+链
• 公私钥身份认证 • Hash保证交易的完整
性
密码学
共识机制 P2P网络
区块链架构技术分享
君莫污
目录
01
了解区块链
02
区块链的架构
03
区块链的技术原理
04
区块链的应用场景
01
了解区块链
从问题开始
区块链是什么? 它是怎么产生的? 区块链解决了什么问题?
怎么解决的?
区块链发展历程
谁推动了区块链的发展 币圈
“币圈”指的是专注于炒 加密数字货币,甚至发行 自己的数字货币进行筹
具有较弱的去中心化 的特征
私有链
仅由单个区块链服务 客户使用
仅有授权的节点才能 接入,并按照规则参 与共识和读写数据
02
区块链架构
区块链技术的发展
TPS 7
20
号称百万
区块链1.0架构-数字货币
以比特币为代表的加密 货币,是与转账、汇款 和数字化支付相关的密 码学货币应用数字货币 时代