区块链技术学习与分享
区块链技术学习与分享
工作原理、数据结构、算法
什么是区块链?
在介绍什么是区块链这个问题时,要首先弄懂这三个问题,带着这三个问题,来学习区块链
- 为什么会出现区块链技术?
- 区块链的原理、数据结构是什么?
- 区块链可以应用在哪些地方?
设想在政府和货币出现之前,人们以物物交换的方式进行着交易。比如,小红需要水果,小黑需要牛肉。如果他们正好都有对方所需物品,就可以进行交换,满足各自所需。
但是,如果他们所需不匹配怎么办?小黑是吃素的,就喜欢吃玉米?
答案是有第三个人,或者第四个人,刚好提供他们所需要的。
可是,组织一群供需匹配的人在同一时间、地点进行交易这是个难题
传统金融体系
现金体系
1)现金支付
2)支票支付
3)本票支付
4)汇票支付
** 信用体系**
1)信用卡支付
2)信用贷款
** 信用卡支付如何保障支付安全?**
- 本质上是基于信用担保的记账交易
- 信用卡是发卡银行对持卡人的信用担保证明,并不能证明持卡人身份
- 一般都有以下主体:发卡银行、持卡人、特约商家、收单机构、清算机构
- 基于签名的认证模式来验证安全
线下信用卡支付无法保障支付安全,只能通过法律强制约束,事后追责
信用卡不是证明你身份的东西,你的签名才是。
网络信用卡支付
网络信用卡应用时,为了保证网络信用卡支付数据安全,产生了两种技术体系
SET体系
SET体系,即Secure Electronic Transaction,电子安全交易协议
SET是一个基于可信的第三方认证中心的方案,保证了电子交易的机密性、数据完整性、身份的合法性和不可抵赖性
SET由维萨(VISA)、万事达以及多家当时重量级的科技公司开发而成,包括网景(Netscape)、IBM、微软、威瑞信(Verisign)和RSA(美国知名信息安全、加密数据公司)。它融合了多个方案,成为一个标准性体系
SET要求客户终端(包括用户与商户)从中介这里获得认证,认证过的终端就是加密过的公钥,公钥即身份
HTTPS
- HTTP+TLS/SSL(超文本传输安全协议)
- 传输过程 数据加密(对称加密算法)
- 数据完整性校验(签名)
- 身份验证,TLS握手过程使用的证书是经过权威CA签名的,进行身份验证,防止身份假冒(非对称加密)
区块链起源
密码朋克发动了两场运动:
- 自由主义(没有或者极少政府干预会让社会更好)
- 自由主义+强加密,产生公钥密码学
密码朋克推动了加密技术的发展,并为接下来去中心化电子现金货币的演进提供理论指导
密码学
- 密码学是研究编制密码和破译密码的技术科学
- 具有机密性、完整性、身份验证、不可抵赖性特点
- 由明文、密文、密钥组成
数据加密算法
杂凑算法(哈希散列算法、摘要算法)
MD5、SHA、SHA2对称加密
DES、AES
- 非对称加密
RSA、DSA、ECC
电子签名
- 数字签名技术是基于非对称加密技术之上的,是非对称加密技术的组成部分
- 签名过程是用私钥加密,验证过程则是用公钥对签名解密,再和消息作对比(对签名解密无法恢复出任何关于消息的信息,解密出来的只是消息的摘要,通过解密后的消息摘要与签名重新计算作对比,此过程只能用于验证消息来源身份)
什么是区块链
通过哈希指针而不是普通指针构建的一个链表,就是区块链
那什么是区块?
** 什么是区块**
- 一个指针就代表一个区块
- 每个区块既有数据,也有一个指向上一个区块的指针,一个上一个区块指针指向的区块内容的摘要
区块链数据结构
- 区块链由区块组成
- 第一个数据结构是区块的哈希链,每一个区块都有一个区块头部,里面有一个哈希指针指向上一个区块。第二个数据结构是一个树状数据结构,也就是以树状结构把区块内所有交易的哈希值进行排列存储。也叫梅克尔树”
区块链起源之早期加密货币
** 高飞币 **
** 财奴币**
比特币
2008年,“中本聪发表题为“比特币:一种点对点的电子现金系统”的白皮书”
** Ps: 有证据证明,”中本聪“和乔布斯是同一个人,理由如下:**
- 中本聪2011年消失,乔布斯2011年去世
- Macintosh, tosh是mac的第一个操作系统的名字,叫Mac in tosh
- satoshi,拆开是 sa tosh i, 反过来念是: i tosh sa,含义:我是tosh系统管理员(sa: system admin)
- 苹果所有系列起名前缀是i: ios、iMac、iPhone
- 2018年之后的苹果系统里,都预存有比特币白皮书:
open /System/Library/Image \ Capture/Devices/VirtualScanner.app/Contents/Resources/simpledoc.pdf
** 比特币解决了以下问题:**
- 拒绝服务攻击
- 双重支付攻击
- 分布式共性
比特币发展历程
以太坊智能合约
在以太访体系中,一个合约就是一个存在区块链里的程序。任何人支付后,就可以用特定的操作将他的程序上传,建立一个以太坊合约。其它用户可以调用程序里开放的API
区块链未来应用方向
- 医疗领域–使用区块链智能合约帮助患者和医生安全地传输敏感的医疗信息
- 金融领域–加密货币
- 农业领域–利用区块链的特性,对食品供应链安全进行溯源管理
- 农业保险–去中心化数据存储方式,解决买卖双方信任不足问题。通过智能合约,让赔付流程自动化,赔付效率变得更高
- 物联网 (IoT)–物联网有数百万个应用程序和许多安全问题,增加了更高的数据安全性
** 附件:**
以上内容参考:区块链-技术驱动金融