zoukankan      html  css  js  c++  java
  • 为什么大家都热衷于挖矿呢?

     
    可以把区块链是一个去中心化的记账系统
     
    每一笔数字货币的交易,都需要通过哈希算法生成摘要,最终以【序号、交易时间、交易金额+摘要】
    呈现
    每新增一笔交易,都要把新入的交易和原始交易再次使用哈希算法,得到一个新的摘要
     
    由此每新增一笔交易,就会和之前的账单生成一个新的摘要
     
    一块接着一块,由此,就叫区块链
     
    由于哈希算法的特性,账单的一点细微的变化,都会导致生成的摘要完全不一样,因此最终只需要比对最后的一个摘要,就可以保证这个区块链中所有账单的一致性。)
     
    由此
    在任何人新增一笔交易,都会有这个记账的过程(就是上面说的使用哈希算法打包的过程)
     
    为了保证账单一致性,就必须要有记账这个过程,但是记账操作会损耗系统资源,那么怎么确保每笔交易的节点的人,都去记账?
     
    所以系统设置了奖励机制,就是获得记账权的这个人,系统奖励12.5个比特币,一个比特币4万人民币
    所以相当于五十多万
     
     
    但是,大家争相交易记账,同时记账就有一个问题,多人同时记账可能会导致出错,不一致
    所以系统就设置了一些记账规则:
    1⃣️系统设置了记账的时间,比如在单位时间,只允许一个人进行记账操作
    2⃣️通过解决密码学难题(即工作量证明),来竞争唯一的记账权,而没有获得记账权的,使用直接复制上一个交易记录
     
    其中
    第一个,记账时间限制很好理解,比如说十分钟之内,只允许一个人记账
    第二个,所谓工作量证明
    就是上面说的哈希打包过程:哈希算法(上一个哈希值,交易记录集)=新的哈希值
     
     
     
    以上是我自己的理解,哈哈,如果有简单通透的见解,可以留言探讨
     
     
    但是这个新的哈希值这么容易就能获得,那么为了增加难度,增加了一个随机数
    因此最终哈希打包过程就是:哈希算法(上一个哈希值,交易记录集,随机数)=终极版哈希值
     
    这个终极版哈希值,必须满足一个条件:N个0开头
     
    所以就会需要不停的更换随机数,不停的更换,(每变一次随机数其实就是一次交易)总会有一次生成的哈希值满足N个0开头
     
    目前电脑随机数如果要生成假设4个0开头,大概只需要两三分钟
    但是比特币参与的人数非常多,这些人戏称为矿工,所以难度升级,就需要生成18个0开头,率先找到的那个人,就获得了唯一记账权
    ,并获得系统奖励
    其实这个过程就叫做挖矿
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    Linux常用解压文件
    微信开放平台 获取 component_verify_ticket
    mysql root密码重置
    编译安装LNMP
    JS生成二维码
    CURL采集
    JS拖动浮动DIV
    JS拖动DIV布局
    Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解
    zepto.js 源码注释备份
  • 原文地址:https://www.cnblogs.com/shenyexiaoqingxin/p/11451454.html
Copyright © 2011-2022 走看看