区块链技术发展与应用课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
核心技术1:区块+链
把数据分成不同的区块,每 个区块通过特定的信息链接 到上一区块的后面,前后顺 连来呈现一套完整的数据。
区块(block):存放记录的文件,记录其创建期间发生的所有价值交换活动 链:按时间先后顺序将区块存储在数据库
纸 ——账本 页码
比特币中的区块结构图
核心技术1:区块+链
核心技术1:区块+链
区块链是系统内所有节点共享的交易数据库,这些节点基于价值交换协议参与到区 块链的网络中来。
头哈希:该区块地址
父哈希:该区块父节点的 地址,找到这个地址链接 在后面
Merkle根:通过密码学 原理算出的值,用于 检验交易的真实性
时间戳:记录该区块 产生的精确时间
难度:该区块相关数学题难度指标
Nonce:该区块数学题的答案值,用于验证答案
常见的非对称加密算法包括RSA、Elgamal、D-H、ECC( 椭圆曲线加密算法)等。
公、私钥的生成过程详解
核心技术3:所有权的信任基础—数学
密钥对:1、对信息用其中一个密钥加密后
, 只能用另一个密钥才能解开;
2、“非对称密钥对”:其中一个密钥公开后
,根据公开的密钥别人也无法算出另一个,
公开的密钥称为公钥,不公开的密钥称为私 钥。
核心技术1:区块+链 Merkle根
非叶子节点的Value:其下 面所有叶子节点值进行组 合后,再进行hash计算所得
Merkle树的叶子节点 上的value:数据的 Hash值
Merkle Hash Tree
作用:大大减少数据的传输量以及计算的复杂度,只需验证传输后的 新区块上的MerkleTree的根节点值是否一致
作用:记录价值转换条件
优势:可编程性:(1)可 灵活改变花费掉留存价值的 条件;(2)可灵活的在发 送价值时附加一些价值再转 移的条件。
示例:1、捐出去的钱只可用来购买急
救设备;
2、贷款的钱只可用来交学费(附加价 值再转移的条件)。
核心技术4:可编程的智能合约—脚本
关于脚本的一个简单例子:
假设A想通过区块链系统发送一单位价值 给B,那么系统的交易编号1(TX1)中就包含 了这些简化的代码信息:
(哈希函数)
父哈希
(前一区块的交易缩影)
核心技术1:区块+链
区块由谁来记录?
流程示例:
标识字符串
Nonce值
头哈希
交易清单+上一账单编号
争夺记账权
全网所有节点/记录员
√
公告、验证、更新账簿
核心技术1:区块+链
区块链如何解决分叉问题?
区块链的不可篡改性由工作量证明机制与共识机制共同保证。最长的
链条才被全网公认。在区块链中篡改数据会产生链条分叉,篡改难度
区块链技术
区块链是什么?
“区块链”技术是指通过去中心化和去信任的方式集体维护一个可靠数据 库的技术。并不是一种单一的、全新的技术,而是多种现有技术(加密算 法、P2P文件传输等)整合的结果。
从数据的角度来看: 分布式数据库(存储与记录),P2P 的自组织网络 从效果的角度来看:时间顺序、不可篡改的、可信任的数据库 多种现有技术的整合:加密算法,P2P文件传输,时间戳,数据库等
极高。
没有发生过的交易、虚
假的交易则不会被记录
在册。只要进入区块链
数据库,人们可以随时
找到系统内任何时候、
任何人支付或收到的价
值交换活动的详细情况
。
要改变一个已经在区块 链中存在一段时间的区 块,从技术上来说几乎 是不可行的
“短块链”:被淘汰的分叉区,价值交换活动将被重新加入到交易列队池中
如何检验交易的真实性?
中央电脑VS分布式节点
核心技术2:分布式结构
分布式记账——会计责任的分散化 分布式传播——每一次交换都传播到
网络中的所有节点 分布式存储——数据信息的可容错性
极高
核心技术3:所有权的信任基础—数学
非对称加密原理:
公钥:信息的真实性 私Baidu Nhomakorabea:信息的安全性
私钥向全网证明“自己是自己”:全网节点虽然无法看 到我的密码是什么,但要让他们都知道我确实拥有这 一密码。
区块链技术发展与应用 课件
2020年4月25日星期六
主要内容
去中心化的革命
P1.区块链来源
P2.技术原理
P3.优势与缺陷 P4.现状与展望
区块链来源
现状:中央系统虚拟货币(中心
化机构掌控);异地灾备、云存储 。
中心化的来源:为满足市场参与者 对信息的需求,而信息的买卖造就 了“中介费”(成本)
关键点:
去中心化、去信任、 集体维护、可靠数据库、 时间戳、非对称加密
技术原理
区块链的技术原理
建立全球通用数据库的三大问题:
1.去中心化情况下保证完整性
VS
2.部分节点崩溃下系统正常运行
3.数据库信息可信赖
区块链四大核心技术: 1.区块+链 2.分布式结构——开源的、去中心化的协议 3.所有权的信任基础——数学 4.脚本——可编程的智能合约
非对称加密作用示例:“Bob汇一笔款给Alice”
Alice 汇款 详情
Bob
核心技术3:所有权的信任基础—数学
Bob用Alice的公钥对汇款详情加密
Alice用私钥解密,查阅详情
Bob用私钥进行数字签名(加密)
Alice、各节点用Bob公钥进行认证
核心技术4:可编程的智能合约—脚本
本质:众多指令的列表
互联网就是消灭那个价值很低、成本很高的( 信息)供应链:它开放、互联、对等、全球化 、去中心化 ——阿里巴巴副总裁高红冰
信用去中心化
没有“中介”的信用背书很难实现陌生人间的 信用交易:银行,结算机构,淘宝…
中心化带来的成本与日俱增
能否在互联网中创造一种技术,这种技术在无法 保证人们互相信任的前提下,还可以从事价值交 换的活动?
创新源于对现实问题的解决—— 中心化
为什么会有区块链的创新?
中心化的弊端
信息分散在各中心手中,打通成本非常大 信息要按照中心化机构的体系要求进行运
作(全球汇款) 内部人员的篡改,黑客攻击,自然灾害等
信息去中心化
第一代互联网成功实现了信息去中心化:生活 信息、知识、新闻、资料…
互联网的起点是TCP/IP 协议(执行一个网络 上所有节点统一格式对等传输信息的开放代码 )——信息分享与实时更新
发送金额
对方地址
再假设B要发送这1单位价值给C,那么 他需要在TX2的输入中包含下面的信息:
脚本语言:定义了如果B想要花费 这1单位价值,应该满足什么条件
其他节点如何验证TX2这笔交易的合法性?