区块链定义:区块链就是基于区块链技术形成的公共数据库(公共账本)。
区块链技术定义:多个参与方之间基于现代密码学、分布式一致性协议,点对点网络通信技术和智能合约技术
编程语言等形成的数据交换、处理、存储的技术的组合。
它是新技术的组合:P2P动态组网、基于密码学的共享账本、共识机制、智能合约等技术。在此基础上引入了完善的激励机制。
也是建立在TCP/IP应用层协议上
区块链的核心是分布式,而不是去中心化
一次支付需要6个数据块完全确认,至少一个小时,对于跨境支付,已经很快
分类:
公有链:
对外公开,匿名、无需授权、自由出入,去中心化
适用场景:比特币、以太坊,大众电子商务、互联网金融等场景
特点是公有的,不可控,主流的金融机构不适合介入
优点:技术比较成熟
缺点:洗钱、不可控、主流机构不适合接入
私有链:
需要身份认证、权限管理,可以去掉公有链的成分
主要价值:提供安全、可追溯、不可篡改、自动执行的运算平台,同
时防范内部和外部对数据的安全攻击
适用场景:企业内部、政府审计、数据库管理。。。央行发行的数货币
优点:
缺点:技术不成熟
联盟链:
仅限于联盟成员参与,有读写权限、参与记账权限按联盟规则制定,区块链需要注册许可证
适用场景:机构间的交易,结算和清算等B2B场景(银行)
不采用挖矿机制,采用的是权益证明和PBEF、RAFT等共识算法,对安全性能要求比较高
比特币获取的3中途径:
矿工挖矿
通过计算能力竞争获取系统奖励和支付小费,CPU挖矿和显卡挖矿、芯片挖矿、蚂蚁🐜矿机
交易所购买或者中间人购买
作为商家收取比特币
Merkle树
二叉树或者多叉树结构
分组对区块链中的信息进行哈希运算,向上不断地递归运算产生新的哈希节点,最终只剩下
一个Merkle根存入区块头中,每个哈希节点总是包含2个相邻的数据块和其哈希值
优点:
快速递归和校验区块完整性,提高了区块链的运行效率和可拓展性
简化支付验证协议:在不运行完整区块链网络节点的情况下,也能对交易数据进行校验
双重支付(双花)
同一笔钱完成2次或者多次支付。
如何避免:区块链子红的形成时间戳技术 + 验证比特币是否满足UTXO(未花费的交易)和数字签名
只会转发优化被侦听到到那个,6次确认避免被双花
区块链技术是通过P2P技术
比特币加密算法:
非对称加密算法
比特币前端(钱包)
非决定性钱包:
直接保存私钥,私钥数据库保存在DB中
缺点:安全性不高,不被推荐使用
决定性钱包:
所有私钥由一个私钥种子通过单向哈希算法生成,备份容易,只要备份种子,就可以生成私钥
移动钱包(移动端到钱包)、
优点:灵活方便
缺点:不保存完整的区块链,不做交易验证,安全性不好
桌面钱包
厚钱包:
下载整条区块链,并进行交易校验,安全性高。如:比特币
薄钱包:
不下载整条区块链,采用SPV方式校验,灵活高效,安全性不高,
适合小额支付场景。是通过信任它的服务端校验
互联网钱包
不下载整条区块链
优点:在任何地方、任何设备管理钱包
缺点:安全性不高
纸钱包
私钥冷备份,离线存放,能防范黑客和盗取
比特币的区块链:
保存了交易信息
以太坊的区块链:
交易信息
最新状态
心跳机制,每15s形成一个新区块
GOST算法构建区块