区块链学习笔记之yi交易过程

比特币是一种基于区块链技术的数字货币,其设计解决了网络中的信任问题。用户通过非对称加密的私钥和公钥管理资产,交易经过哈希和签名确保安全。区块链分为公有链、联盟链和私有链,矿工通过解决数学难题争夺记账权,形成新区块。Merkle根提供交易数据完整性保障,防止篡改。挖矿过程中可能出现的分支通过最长链规则解决一致性问题,防止双重支付。
摘要由CSDN通过智能技术生成

比特币发布之后,人们才认识到有区块链,所以要先了解比特币。

比特币的设计初衷以及解决的问题是:在一个互不信任且匿名的网络环境中,通过非对称加密、哈希函数、签名等一系列手段解决人与人之间的信任问题。

对称加密:加密和解密是同一个密钥

非对称加密:两个密钥,一个公开一个私有,公钥和私钥。

注册成为比特币用户时,系统会随机生成一个私钥,私钥会生成一个公钥,公钥又会生成一个地址,私钥是使用相应地址上的比特币的唯一标识,一旦丢失,账户的比特币都无法使用。随机数->私钥->公钥->钱包地址。由公钥得到的是钱包账户,私钥得到的是钱包密码。

对交易进行哈希得到摘要,用私钥对摘要进行签名。签名分2步:1.得到摘要,2私钥+摘要进行签名。

哈希函数程序员都知道,相同的对象进行哈希运算得到的数是一样的,无法回推。

公有链:即任何人可以无任何限制的加入这条区块链并获取其中的所有数据。比特币和以太坊

联盟链:针对某些群体进行有限开放,且加入后所有权限不同,内设专门的记账节点和普通节点等。

私有链:个人或少数群体的本地区块链。

比特币不是一个硬币或者虚拟货币,他指的是一个比特币网络,比特币网络是什么意思,比如火山网络,大家去火山购买云服务,参与到了火山云,是使用它。而比特币是大家参与了挖矿或者参与了比特币的网络,就成为了比特币网络中的一员。那我要是不挖矿了我那些数据呢?

交易:

身处比特币网络的A发出一笔交易请求后(这里的交易请求什么意思?我觉得得学到智能合约那才能明白,此刻先不管,就是一个交易,而比特币网络的作用就是记录这笔交易,记账),会向比特币网络播报,大家会争夺记账权。这个争夺记账权的结果就是将区块记录在区块链上。那区块是什么?区块的结构

merkle根:由区块体的数据两两哈希得出的最后哈希值,一个数据变动都会引起树根哈希的变动,因此可以保证交易信息和数据不被篡改,哈希的特性。

这里是由A对交易信息和数据进行计算,得出merkle。

矿工们争夺的是,随机数与区块头的得出哈希值,得到满足难度的哈希256位,就是挖矿成功。难度指的是前n位是0。

每个假如比特币系统的矿工们不必要保存所有区块体,太大了200G,只要保存区块头和部分区块体。

交易过程:

1.发起者在自己的钱包创建一笔包含一定数量的比特币的交易,进行哈希,生成数字摘要,并用自己的私钥进行加密签名,将交易信息、签名信息广播到比特币网络。其他人只要通过发起者的地址(公钥)就可以校验真实性。“账号abc给账号efg转100个比特币”。签名就是密文的意思。

2.矿工收到一条条讯息,验证校验,对”上一个区块的Hash“+"交易清单"+”随机数“进行sha256签名。因为交易记录要同步到全球需要一些时间,挖矿的速度不可以太快,因此比特币有一个”难度系数“

3.挖矿成功后,向所有比特币用户广播这个生成好的取款,其他矿工开始验证,其他矿工必须放下手中的工作进行验证:1.随机数对不对,就是哈希一下很简单。2.父区块是否有效,其实就是自己的最后一个区块,一致就有效。如果自己没有存全部的区块,3.确认交易,

余额检查:追朔法,一笔交易里会说明自己的金额来源。

先将B的签名通过公钥解密,然后再对比交易内容,相同就说明是B发出的,然后再检查10000的真实性。但实际可能需要校验好多比交易。

当验证无误后,就会把这个区块往自己本地存储的区块链上添加,就可以继续挖矿了。后续的父区块的值就是之前的值。

一致性:如何保持用户存储的一致性。挖的慢,如果有2个快的同时,就会创建分支,先暂时根据自己认为对的挖矿,直到下一个区块产生,以最长连为原则,如果还以短 的,那他挖的结果不会被别人认。

双重支付:谁先挖矿成功就哪个生效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值