BTC 区块链 比特币 挖矿含义
https://www.bilibili.com/video/av45247943?from=search&seid=3447882836102787264
https://www.bilibili.com/video/av45597148?from=search&seid=16275641914668619464
区块链的定义:
比特币系统:一个软件 可以下载运行 大家一起共同维护的一个账本
比特币:比特币系统所维护账本上的交易数字
区块链:一个数字账本记录各种的交易数据,将多个账单装订在一起形成账本
关系:
1、区块链是协议,包含了p2p网络 共识机制 密码学等底层技术实现
2、比特币是区块链的应用体现
区块链的特点:
1、去中心化
2、不可伪造
3、不可篡改
4、不可复制
5、匿名
6、基于密码学
7、分布式
8、可追溯
9、账本公开
区块链的分类:
公有链:所有的人都可以随时加入每个节点平等 都有权交易和记账,开放式的
比如:比特币、以太坊等
联盟链:仅部分人参与 选定某些人作为记账人 共同决定 其他人可以进行交易 但是没有记账权 半封闭式的
比如:R3CEV 是全球40个银行构建的联盟组织
IBM farbric项目 是一个开源的项目 超级账本 可以基于这个项目来建立自己的联盟链
私有链:公司内部使用 可以更好的实现权限的控制 属于封闭式的
区块链为什么具有革命性的意义?
1、AI是生产力的提升
2、区块链是生产关系的变更,可能使得人类的生产结构发生重大的变革
区块链的发展阶段:
v1.0 比特币 点对点的金融支付
v2.0 引入智能合约 ETH为代表 主要与金融领域相结合
v3.0 区块链整合各行各业 物联网 存储 游戏等
其他基本概念:
算力:POW中,一个计算机的挖矿能力
挖矿:矿场+矿池
分叉:
1、代码升级时不同社区意见发生分歧时的结果
2、分叉后会得到等量的新币种 称为糖果
3、硬分叉: 旧节点拒绝接受新的节点创造出的区块 以太坊分叉 分为ETC和ETH
4、软分叉:区块链出bug后很难解决 旧的节点可以新的协议产生的区块 毫无感知 新老的协议共同维护一条链
手续费:比特币的手续费可给可不给 但是以太坊的手续费必须给
节点:轻节点+重节点
钱包:功能是创建私钥和公钥 会保存私钥 存放多个的地址
零知识证明:在不向对方提供任何个人信息的条件下使得对方相信某个论断是正确的一种技术 解决验证的问题 例如ZCASH币
比特币存在的问题:
1、51%算力攻击,矿池的算力过于集中 有操控的风险 只能改自己的账户 因为没有别人的私钥
2、图灵不完备 无循环语句 无法胜任复杂的应用
3、区块容量过小 仅仅有1M
4、确认的周期长,需要六个区块的链接之后 才能到账 也就是一个小时
5、pow耗电量太大:做无意义的运算 (试随机数)
区块链存在的问题:
安全性的问题:
1、被骗后无法撤销
2、打入存入地址 无法找回
3、合约存在欺骗
存储问题:
账本过大
私密性:
数据的透明度高 所有的信息公开 地址和人是分离的 但是一旦对应上 一切的资金都透明的,是一把双刃剑
执行合约实际上存在风险问题:锁定的汽车 突然收回使用权
比特币的颠覆性思想:
1、没有账户的概念
2、没有余额的概念
3、转账按照字节收费 非按交易的面值
对称加密与非对称加密算法:
非对称加密的常见加密算法:
1、RSA算法
2、椭圆曲线算法
非对称加密的应用:
1、数字证书 CA认证
2、比特币地址
p2p网络:
点对点技术,无中心服务器,每个节点都是提供者和获取者
默克尔树:
Hash Tree 存储hash值的一颗二叉树,树的叶子是数据块的hash值
比特币的相关参数:
1、区块大小的上限 1M
2、总结2100万枚 2140年挖完
3、每十分钟去出一个区块 通过难度值调整实现
4、1btc=10的8次方
区块的整体结构:
区块大小 4字节 用字节表示的该字段之后的区块的大小
区块头 80字节 组成区块的头的几个字段
交易计数器 1-9字节 该区块包含的交易数量
交易信息 不定 记录在区块的交易信息 使用原生的交易信息格式
区块头:Block Header
版本:区块版本号 表示本区块遵守的验证规则
父区块头哈希值:前一个区块的hash值 使用SHA256(SHA256(父区块头))计算
Merkle值:该区块中交易的Merkle树根的hash值
时间戳:该区块产生的近似的时间 精确到秒的UNIX时间戳
难度目标:该区块链的工作量证明算法的难度目标
Nonce:为了找到难度目标所设定的随机数
区块体:
coinbase交易 第一条交易 挖矿奖励旷工
普通转账交易:每笔交易包括付款方、收款方、付款金额、手续费等
一笔交易详细的流程:
创建交易、P2P网络广播、某个节点会校验交易的有效性、当确定是一笔有效的交易后会暂存到本地的待交易确认池同时广播到其他的节点,每个节点会独立去校验这笔交易的有效性,然后向外传播。
当一个新的挖矿周期开始时10分钟,旷工会总待交易确认池中取出交易,将交易进行打包,进行挖矿,挖出的人A向整个的网络公布结果,其他旷工验证数值的有效性,A将区块添加到区块链中,整个的网络同步最新的账本。
utxo:
未花费的输出
保证资产在比特币系统中是转移而不是复制
如何解决双花费问题:
1、有个最长链的原则
2、一个旷工无法连续向后追6个区块,无法战胜全球51%的算力
如何解决拜占庭将军问题:
如何众多完全平等的节点,如何针对某一个状态达到统一的共识。
如何对一个账本达成一致,人为这个账本是可靠的。
1、数字签名技术
2、最长链机制技术
3、POW证明保证同一个时间只有一个节点记账技术
智能合约的含义:
本质:合同数字化
缺点:缺乏能够支持可编程的合约的数字系统
优点:触发支付 筹码已经放上去了 谁也不可抵赖
应用领域具体阐述:
1、数字资产
一般数字资产 比特币 兰特币
匿名数字资产 混币
2、全球结算
3、平台类
Golem 计算资源交易平台 可以出租算力 依赖于租户的人数
Augur 群体智慧 市场预测平台
4、应用类
智能合约应用:房屋租赁、设立医嘱、存储钱包、作物保险、金融借贷、博彩发行