区块链相关知识笔记总结
2022-10-26 17:25:58 0 举报
AI智能生成
区块链相关知识笔记总结
作者其他创作
大纲/内容
哈希指针:指向 数据存储位置及数据内容的哈希值 的指针
区块:用于存储数据。区块中还存储着上一个区块的哈希指针
链:因为存储着上一个区块的哈希指针,当前区块总是指向上一个区块,形成链状结构
分支主题
示意图
区块链
哈希指针及数据结构
一种数学函数
本质
输入的字符串可以是任意长度
产生的输出为固定长度
对于n位字符串,其哈希值计算的复杂度位O(n)
基本特性
两个不同输入不会产生相同输出
应用:信息摘要
碰撞阻力
不能通过输出推算出输入
应用:承诺
隐秘性
对于一个输出,没有其他策略能比随机尝试更快捷地推算出输入
谜题友好
其他特性
压缩函数:只能接受固定长度的输入,并将其转化为固定长度的输出的哈希函数
MD变换:将 压缩函数 变换成 能够接受任意长度输入的哈希函数 的过程
输出长度为256位
SHA-156(安全哈希算法)
密码学哈希函数
属于你自己的两把“钥匙”
只有你自己知道
你可以用私钥来加密信息(即签名)
私钥
人人都知道
别人可以用公钥来验证你的签名
公钥
公钥私钥
签名过程就是把一段信息和私钥一起作为输入,输出的就是签名
签名
把一段信息、签名和公钥一起作为输入,若返回真则证明签名属实,返回假则说明信息为假
验证
数字签名
密码学及加密货币概述
本质:存储比特币其实就是保存和管理私钥
比特币钱包软件
通过大量的随机尝试得出包含特定字符(串)的公钥(即地址)
虚荣地址
把比特币放进个人手机或其他电子设备里保存
热储存
把比特币存储在“离线”的地方
冷储存
存储类型
让冷储存端制造多个地址,然后一次性让热储存端知晓所有地址
分层确定性钱包
要素:一个口令、可推算的规则
通过一个口令加一套可推算的规则,生成一对公钥私钥
黑客知道这套规则和你的口令时,就能窃走比特币
一旦忘记口令,就无法取出比特币
缺陷
大脑钱包
把密钥写在纸上,然后可以把纸条锁进保险柜里
纸钱包
把密钥放在可信的硬件设备中
防损硬件
存储方法
比特币的存储
假设:N=K=2,原始密钥为S,选取另一个随机字符串R(长度与原始密钥相同)为子密钥,然后将R与原始密钥异或,得到的结果S⊕R作为另一个子密钥。通过R与S⊕R进行运算才能得出原始密钥S。多个子密钥的原理以此类推。
把原始密钥分成N个子密钥,只有获取其中的K个子密钥(K<=N),才能将原始密钥重新还原
实现过程中并不是简单地将原始密钥直接切分若干个片段,这样的话每个片段都会透露原始密钥的信息
原理
当K=N时
使用多个子密钥来确定一条曲线,原密钥就在这条曲线与Y轴的交接上
当K<N时
实现过程
分存
一个事件要多个人签名后才能生效,实现多人对事件的共同控制
多重签名
密钥分存及共享
如何存储和使用比特币
关于规则的共识
关于历史记录的共识
关于比特币价值的共识
关于比特币的共识
共识觉得比特币存在价值以及价值量
价值吸引矿工挖矿
矿工挖矿形成区块链共识
“矿工、价值、共识”共生体
社区、政治和监管
可调整的难度、快速验证、无关过程属性
算法的基本要素
反ASIC
8.其他挖矿算法
原来的-以太坊经典( Ethereum Classic),黑客攻击后形成的链-以太坊(EtherNet )
2016年6月,以太坊The DAO区块链项目,攻击者利用一个函数调用的漏洞,把比特币转入自己的账户内,然后以太坊社区的矿工组成一个团体,重新分叉了另一条链,把所得的比特币抢救回来,从此就形成了两条链
“以太坊经典”事件
将交易剩余的比特币转到自己的另一个地址上
地址转换
把多笔钱合并成一笔转给自己的地址
资金合并
与资金合并类似,只是多个输入需要对应多个人的签名
共同支付
比特币的交易
第三方交易
绿色地址
高效小额支付
锁定时间
智能合约
应用
比特币的脚本
每个区块的梅克尔树上都有一个币基交易,这个交易用于创造新的比特币
只有一个输入与一个输出
这个交易并不消费之前交易输出的比特币,因此没有指向上一交易的指针
输出值其实就是挖矿奖励的比特币和所有交易的手续费之和
有一个“币基”参数,矿工可以放任何值进去
特点
币基交易
交易通知的传播手段——泛洪算法
竞态条件
零交易验证与费用替代策略
轻量节点(也叫简单付款凭证,SPV)
比特币网络
硬分叉
软分叉
修订协议
限制与优化
比特币的运行机制
1.监听交易广播
2.维护区块链网络和监听新的区块
3.组装一个备选区块
每个人所组装的备选区块(即交易内容)不一样,以及币基交易的地址与临时随机数的不同,保证不同矿工的所得出的工作量证明不同
决定难度:每挖出2016个区块,挖矿难度会改变一次,使得挖矿时间平均为10分钟,这个周期大约是两个星期,计算公式如下:下一个难度=(上一个难度×2016×10分钟)/产生上2016个区块所花费的时间
4.找到备选区块的随机数(即“工作量证明”)
5.向全网广播
矿工的任务
多个矿工形成一个矿池共同进行挖矿,并指定一个币基接受人,这个人就是矿池管理员
矿工可以通过<b>挖矿工分</b>来证明他的工作量,以得到分配的奖励
如果一个矿池挖到一个有效区块,那么当管理员收到币基奖励后,就会把奖励分配给矿工
矿池跳换
矿池
备选区块需要包含哪些交易? <br>一般是交易费高的交易
出现分叉时,在哪条区块链上进行挖矿?<br>一般是在最长的那条链上进行挖矿
当同时收到广播的两个有效区块时,选择哪一个继续挖矿?<br>一般是选择最先监听到的那一个区块
当挖到有效区块时,什么时候广播出去?<br>默认做法是立即广播,但是也可以选择等一下
矿工的策略
分叉攻击
找到一个有效区块后不立即广播,而是继续挖,挖到第二个区块再一同广播,让其他矿工之前做的计算工作白费,<br>而如果有其他矿工宣布了一个区块,你可以立刻宣布那个秘密保留的区块,进行竞争。
临时保留区块攻击
攻击
挖矿的激励和策略
比特币挖矿
混币
合币
零币和零钞
利用电路物理特性的输出曲线猜测密钥
旁路攻击
对系统中的敏感数据进行标记与追踪,检测该数据是否安全
污点分析
比特币和匿名性
1.去中心化的对象是什么?
2.去中心化的程度如何?
3.用什么样的区块链?
4.采用什么样的安全措施?
去中心化方案
最大的优点是能够随时随地进行高效的所有权转让
适合像手机和电脑这样的产品,因为价值没有汽车、房产那么高,出现争议的时候不容易诉诸法律
可以提供很好的隐私保护甚至匿名服务
允许自由选择调停者,也可以让调停过程更公开透明
智能资产
去中心化机构:比特币的未来
零知识验证
区块链相关知识笔记总结
0 条评论
回复 删除
下一页