交易树(MPT)
只组织当前区块的交易。
提供默克尔证明。
查询操作。
收据树(MPT)
由于
bloom filter
高效查找存在性。
生成摘要,查看映射函数是否存在。
哈希之后映射。
可能会误报,不会不报。
false positive。
不支持删除操作。
添加计数器才可以进行参数操作,类似链接。
每个交易都有一个bloom fliter。
块头有一个总的Bloom filter...
ubuntu(16 32位)概述什么是shellcodeshellcode是一段用于利用软件漏洞而执行的代码,shellcode为16进制的机器码,因为经常让攻击者获得shell而得名。shellcode常常使用机器语言编写。 可在暂存器eip溢出后,塞入一段可让CPU执行的shellcode机器码,让电脑可以执行攻击者的任意指令。
汇编码与机器码机器码可以直接在CPU运行的代码,一般就是可...
状态数据结构
addr –>state
余额证明
所有账户的哈希表。
构造默克尔树。
余额只是一种状态。
根据哈希值流程验证即可证明,因为根哈希是一定的在某个时间。
哈希表构造默克尔树不排序
默克尔书不唯一。
排序
代价太大,新建账户的代价太大。
trie(检索树)
输入不管,结果相同。
更新局部性比较强。
存储有点浪费。
PT压缩检索树
访问效率增加。
新增加点,节点可...
BTC
基于交易的。
需要说明币的来源
验证与一次性花费完
ETH
基于账户的余额管理。
不说明币的来源。
也不需要一次性转完。
天然防御双花攻击。
重放攻击
想要收一个交易的两次结果,
加一个交易次数nonce唯一值。
以确保交易的唯一性。
nonce在签名中被保护。
账户类型外部账户
账户余额
nonce(counter)
合约账户
余额
nonce
不能主动发送交易
可以调用其...
ETH特殊性
提高内存要求。
goust共识机制。
智能合约,去中心化的合约
去中心化的货币与法币的优势
跨国转账
去中心化合同有什么用
跨国签署。
1.哈希指针
只是哈希,没有指针。
存储在(key,value)数据库中,level DB
2.区块恋特点:私钥分开
降低账户安全性。
丢失很难找回。
永久保存死钱,浪费空间。
安全方式:多种签名。
3. 分布式共识 为什么区块链系统能够绕过分布式共识中的那些不可能结论。
没有达到真正的共识。
4.比特币的稀缺性稀缺性不适合作为货币
5.量子计算
公钥也不是明文存储。
SHA-256...
匿名性BTC就是化名。
破坏匿名性的可能账户关联交易时,需要一个找零钱的地址,是输入用户的账户。
钱包交易时
实体世界联系交集反推,可以把账户与个人联系起来。
提高匿名性方式应用层
破坏匿名性原因:账户交易集中
coin mixing:混合币,没有信誉度高的机构。
在线钱包可能或有币混合的性质。
交易所不泄露交易记录可以。
网络层
tor
多路径转发
零知识证明概念
同态隐藏(数学基础...
1. 转账目标地址离线,对于转账交易有什么影响无影响
2.全节点收到的交易会不会出现全新的接受地址会,生成新的公钥不会告诉别人,在UTXO中出现才能别被人发现
3.私钥丢失怎么办没办法
4.私钥泄露怎么办5.转账写错地址怎么办保存在一个由信息生成的公钥,是不合理的公钥。
6. return的无条件返回错误怎么通过验证怎么写上区块链验证:验证的时候不会被执行,只有在花销的时候才会执行retur...
造成原因state fork
对于当前区块有分歧。
同时获取到合法块。
forking attack
deliberate fork
协议分叉(protocol fork)硬分叉
对于区块链的基本信息的修改,接受与不接受的人之间的分叉。
接受的人认为修改过的为合法区块,未修改为非法区块。
典型的为block size limit
永久性分叉。
加一个chainID作为链的标识。
软分...
1. 交易信息a.交易结构
说明:
locktime:生效延迟时间。
vin:输入信息。
vout:输出信息。
blockhash:哈希值。
time:交易时间。
blocktime:区块产生时间。
b.交易的输入
txid:之前交易的哈希值。
vout:第几个输出结果。
scriptSig:输入脚本。
c.交易输出
reqSigs:需要多少个签名(单/多重签名)。
ad...