区块链-概念

什么是区块?
1.每个区块存储了单位时间的交易明细
2.区块里每条交易都是合法的,验证过签名

区块的具体信息?
1.区块头部存储了一些必要信息,时间戳、区块大小、hash值、上一个区块的hash值
2.区块的hash值=hash(上一区块的hash值+本区块的内容)
3.区块的body中存储了单位时间(比特币是10分钟)内的交易记录

区块链的定义?
1.由上可知,每个区块都引用了上个区块的hash值,这样就形成一个链条,所以叫做区块链
2.区块链有一个最长链原则:大家都认同最长的一条链

区块链的好处?
1.解决时序问题:两个区块如果想调换,这两个区块到当前的所有链条上的hash值需要重新计算
2.解决篡改问题:如果想修改某个区块的交易记录,那么那个区块往后的区块的hash值都要重新计算

上面提到了区块链的好处以及最长链原则,但是如何保证别人不会冒着风险自己去重新计算区块hash或自己去计算其他链呢?
答案:
1.提高hash计算难度
2.降低攻击者的成功概率

如何提高hash计算难度?
1.制定一个规则:每个区块的hash值必须少于数字n
2.想要计算出符合要求的区块就必须不断调整自身区块内容,在区块头部有个可以随意更改的数字noce,通过调整noce来不断尝试,noce位数有限,也可以改变coinbase和交易条数来尝试
3.以比特币为例:比特币使用的是SHA256哈希算法,规定n值越小,需要尝试的次数越多,花费时间越长,比特币通过不断调整n值,来控制差不多10分钟才能计算出一个符合要求的区块(全网)

这里引出两个概念:出块和算力
什么是出块(挖矿)?
1.就像上面说的通过不断尝试,计算出符合要求hash值的区块,这个过程就称为出块
2.全球分布式系统中,每个节点都会基于最长的那条区块链进行计算下个区块,谁的算力强,可能最先算出下个区块
什么是算力?
1.就像上面提到的比特币10分钟计算出一个块,这十分钟就是全网的算力
2.你拥有的节点(旷工)越多,节点服务器配置越高,hash计算能力越强,出块几率越大,算力就越强

如何降低攻击者的成功概率?
1.首先攻击者必须要有超过全网50%的算力才可能计算的链比其他所有人计算的链长,但是现在全网的算力达到30EH/s,而且还在持续增长,显然达到50%的算力是一个巨高的门槛
2.一笔记录需要等待若干个区块正常生产出来才能确认安全,让攻击者概率低于0.001,即小概率事件
3.现在比特币交易人们默认认为正常生产出6个区块就是安全了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值