Please enable JavaScript.
Coggle requires JavaScript to display documents.
Bitcoin (Bitcoin Transactions (Transaction syntax (metadata, inputs,…
Bitcoin
Bitcoin Transactions
change address(转给自己)
Efficient Verification
Consolidating funds(同一个人的多个输入给一个输出)
Joint payment(多个人同时支付给一个人,多签名)
Transaction syntax
metadata
inputs
outputs
Bitcoin Network
p2p网络
gossip协议过程
四个验证
size of the network
storage requirements
Fully validating nodes
Lightweight nodes
simplified payment verification
Hash Function
特点
takes any string as inputs
fixed-size output
efficiently computable
安全特性
collision free
hiding
puzzle friendly
实现
SHA-256
原理
Merkle damgard transform
Digital Signatures
3个算法
不可伪造游戏
实现时需要考虑的点
好的随机源
ECDSA
secp256k1
需要签名的message的尺寸
public keys as identities
想要多少就有多少的身份
看似匿名,却无法做到匿名
public key as identity
address
Decentralization
和传统的分布式共识不同
impossibility result
拜占庭
其他的一些假设之下的证明
打破传统的假设
incentives
rondomness
女巫攻击
如何防范女巫攻击、双花、拒绝服务?
随机选择节点生成区块
跟随最长链的原则
6个确认原则
Bitcoin script
分类
data instructions
opcodes
应用
input 脚本
data instructions
output脚本
opcodes
如何连接?如何验证?
Escrow Transactions
第三方担保
Green Adress
快速支付
Efficient Micropayments
高效的小额支付
Lock Time防止钱一直在第三托管方中
特点
stack-based
无循环
非图灵完备
Hash Pointer and data structures
block chain
merkle tree
proof of membership
proof of nonmembership
两个简单的加密货币
goofycoin
双重支付的问题
scoogecoin
权利中心化问题
Block blocks
为什么要成块?
coinbase
Limitation and improments
有哪些需要改进的地方?
如何改进?
硬分叉
软分叉
store and use bitcoins
hot storage
wallet
cold storage
off-line
交易收费
哪些交易不用收费
目前交易怎么收费
Bitcoin mining
How to mining?
listen for transactions
Maintain block chain and listen for new blocks
assembly own block
find a nonce
hope the block is accepted
profit
难度的计算公式
1
2
3