• 区块链技术--比特币


    比特币(BTC):是一种数字货币,去中心化(P2P网络),加密解密技术,区块链分布式记账(公开、透明、可追溯特点)等技术实现

    比特币怎么产生的呢?挖矿产生的。

    挖矿公式:HASH(已知数(上一个区块的hash值)+ 未知数(随机产生))  > 比特币规定难度系数

    挖矿流程:当矿工在经过多次算力后满足上面公式之后,就认为他挖矿成功了,他会基于在上一个区块后新生成一个区块,然后打包广播给其他节点,让其他节点从自己这个新生产的区块重新开始挖矿。

    那么其他节点怎么判断这个广播区块是不是这个链上的呢?他们可以拿到新生产区块的未知数和上一个区块的hash值带入上面的公式可以进行验证。

    怎么保证矿工新生成的区块是安全的呢?每个区块都是用公钥加密的,只有矿工的密钥才能解密。

    理论上只要一个的算力足够强大就可以更改区块链路,因为每个矿工用自己的算力投票的结果,理性的矿工会投票给最可能成为最长链的区块。

    举例说明:

    0-->1-->2-->3-->4

    比如上面这个区块链发展到第4个区块的时候,这时候同时有两个矿工(A,B)挖到比特币了,然后进行新生产区块并打包发布,A发给他的邻近节点的矿工,B发给他邻近的节点的矿工,他们邻近节点都认为当前的这个链路是最长链的区块,后面他们就按照自认为最长的链进行挖矿,就导致了下面这种硬分块的情况:

    0-->1-->2-->3-->4-->5(A)-->6-->7-->8

    0-->1-->2-->3-->4-->5(B)-->6

    经过一段时间后,B这条链都不被其他矿工认可了,因为他们发现还有更长的链,都放弃B这条链了,选择从A这个链上开始挖矿。

    但是只要A的算力强大,他一直坚持自己的这条链,总有一个时刻自己会成为最长的链。所有只要所有的矿工一起从某个链开始挖矿,是可以很轻松摧毁比特币的。

  • 相关阅读:
    自主学习1
    动手动脑10.28
    《程序员修炼之道》阅读笔记三
    《程序员修炼之道》阅读笔记
    11月20,21,22训练赛
    Rabbits(跳兔子)
    01背包变式(并查集+dp01背包)
    问题 I: 约会序列(两边枚举)
    问题 J: 直角三角形
    Cow Exhibition (01背包的负数处理)
  • 原文地址:https://www.cnblogs.com/xubiao/p/8521017.html
Copyright © 2020-2023  润新知