200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 区块链1-区块链技术的核心概念和原理1

区块链1-区块链技术的核心概念和原理1

时间:2022-07-06 17:54:22

相关推荐

区块链1-区块链技术的核心概念和原理1

1.账号如何验证

a.Hash(账本1)=787635A

b.区块

序列号 时间戳 Hash值+交易记录

c.Hash(787635A,账本2)=456635B

i.少数服从多数 x

ii.Hash y

2.账户所有权问题

a.账户->地址

{

"付款地址":"2A39CBa2390FDe",

"收款地址":"AAC9CBa239aFcc",

"金额":"0.2btc"

}

b.密码->私钥

地址:2A39CBa2390FDe

私钥:sdgHsdniagsadfsadfdsfdsafasdfdsafasdfdsfadsf

Hash(Hash(fun(sdgHsdniagsadfsadfdsfdsafasdfdsafasdfdsfadsf))) ->2A39CBa2390FDe

c.非对称加密(不泄露私钥证明我们拥有私钥)(交易签名)

交易进行hash得到摘要

用私钥对摘要进行签名

d.签名过程

hash('

{

"付款地址":"2A39CBa2390FDe",

"收款地址":"AAC9CBa239aFcc",

"金额":"0.2btc"

}

')->8aDB23CDEA6

参数1为交易摘要

参数2为私钥

返回签名信息

sign("8aDB23CDEA6","rgsfdgdfsgf") ->"3cdferdadgadg"

e.广播

{

"付款地址":"2A39CBa2390FDe",

"收款地址":"AAC9CBa239aFcc",

"金额":"0.2btc"

}

签名信息:3cdferdadgadg

f.验证

参数1为签名信息

参数2为付款地址

返回交易摘要

verify("3cdferdadgadg","2A39CBa2390FDe")->"8aDB23CDEA6"

if(verify("3cdferdadgadg","2A39CBa2390FDe")

== hash('{

"付款地址":"2A39CBa2390FDe",

"收款地址":"AAC9CBa239aFcc",

"金额":"0.2btc"

}')):

# 写入账本

# 广播

else:

# donothing

3.为什么记账-挖矿

a.记账:Hash打包 消耗资源 奖励

b.规则

i一段时间内只有一人可以记账成功

ii通过解决密码学难题(即工作量证明)竞争获得唯一记账权

iii其他节点复制记账结果

c.工作量证明

Hash(上一个Hash值, 交易记录集)=456635BCD

Hash(上一个Hash值, 交易记录集, 随机数)=0000aFD635BCD

d.交易记录集

i.收集广播中还没有被记录账本的交易

ii.交易的有效性验证

iii.添加一笔给自己转账的交易(挖矿奖励)

e.工作量分析

16进制 4个0 理论16*16*16*16次

4.共识机制

两个节点同时完成工作量证明, 使用谁的区块?

i.无仲裁机构裁决

累计工作量最大的区块链(难度最大)

i.独立

ii.延长最长链

分叉

#3456<-#3457<-3458A

<-3458B<-3459B

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。