区块链技术及其应用
13307130251 黄伟俊
指导老师:阚海滨, 刘百祥, 文捷
选题背景及其意义
在区块链诞生以前,通过因特网上进行交易几乎不可避免的都需要借由各类金融机构(如支付宝,银联,财付通等)作为可信第三方来处理这些电子交易请求。
选题背景及其意义
- 去中心
- 无需可信第三方
- 几乎不需要手续费(使得小额交易成为可能)
- 交易不可回滚
- 匿名
WannaCry ransomware attack
区块链原理
加密哈希函数
1.无碰撞(Collision free)
2.隐秘性(Hiding)
3.不易解密性(Puzzle friendliness)
区块链原理
哈希指针(Hash pointer)
H:SHA-256
区块链原理
块链(Block chain)
区块链原理
块链(Block chain)
区块链原理
梅克尔树(Merkle trees)
区块链原理
Proof of membership
公钥即是身份标识
电子签名由以下三个算法组成
- (sk, pk):= generateKeys(keysize) generateKey函数获取密钥大小并生成密钥对。 密钥sk被保密,用于签署消息。 pk是向每个人提供的公开验证密钥。 任何拥有此公钥的人都可以验证由私钥签发的签名。
- sig := sign(sk, message) 签名函数采用消息和秘密密钥sk作为输入,并输出sk下的消息签名。
- isValid := verify(pk, message, sig) verify函数将消息,签名和公钥作为输入。 它返回一个布尔值isValid,如果sig是公钥pk下的消息的有效签名,则为true,否则为false。
公钥即是身份标识
地址实际上只是一个公钥的哈希。
乍一看,去中心化的身份管理可能会导致很大的匿名性和隐私性。毕竟,你可以自己创建一个随机的身份,而不是告诉任何人你的真实身份。但这不是那么简单。随着时间的推移,你创建的身份会产生一系列行为。人们看到这些行为,因此知道拥有这个身份的人做了一系列的行动。他们可以联系起这一系列动作来推测这个人的身份。换句话说,在比特币你不需要明确地注册或揭示你的真实身份,但你的行为模式本身可能就揭示了你的身份。这是像比特币这样的加密电子货币所有的隐私问题,因为所有操作记录都是公开的。
区块链原理
交易(Transaction)
区块链原理
交易(Transaction)
区块链原理
交易(Transaction)
区块链原理
Bitcoinchain
区块链原理
Distributed consensus
以下是简化的比特币共识算法:
1. 新的事务将广播到所有节点
2. 每个节点都把新事物收集进块中
3. 在算法的每一轮随机选取一个节点来广播他所收集的块
4. 其他节点当且仅当该广播块中的交易完全合法时接收这个块
节点通过在其产生的下一个块中包含这个新块的哈希来标识其已接收该块(即将自己所维护的区块链的端点变成该新块)
区块链原理
Proof of work and incentive
比特币使用哈希谜题(Hash puzzles)实现工作证明。为了创造一个块,处理块的节点被要求寻找一个数字,或者说nonce,使得当连接起nonce,之前的哈希以及构成块的交易作为哈希的输入,所得到的哈希输出落入一个相当大输出空间下足够小的目标区间。形式上说,这个随机数应该满足下列不等式:
H (nonce || prev_hash || tx || tx || ... || tx) < target
应用
托管交易
微支付
deck
By erichuang1994
deck
- 51