zoukankan      html  css  js  c++  java
  • 比特币

    1、什么是比特币?

    比特币是一种可以在P2P网络(比特币网络)中发行和使用的虚拟货币。

     2、比特币实现原理

      比特币底层是通过区块链实现的,而区块链具备去中心化、数据不可篡改和共同维护等特点。区块链主要依托于P2P网络、密码学技术和共识算法。

    2.1什么是区块链?

      区块链是一个全网(加入某一种币网络,比如区块链网络)节点共同维护的一个公共账本。基于P2P网络,所有加入网络的节点都可以进行记账操作(也就是挖矿),账务记录一经写入,就不能更改(密码学技术实现)。这个公共账本是由一个个区块组成的,区块之间通过哈希指针连接。每个区块包括区块头和区块体,其中区块体主要包括两部分,一条条交易数据和这个区块包含的区块总条数(其中有一个交易比较特殊,是矿工挖矿成功,一笔没有输入并且输出为矿工自己地址的交易,也就是区块奖励,该交易叫 coinbase,),区块头主要包括版本号、前一区块的哈希指针、梅克尔跟、时间戳、随机数和当前网络的目标难度值。

    2.1.1P2P网络

       P2P网络是去中心化的基础,基于P2P网络,全世界的比特币节点才能共同维护比特币网络上产生的区块链账本。

    2.1.2 密码学技术

       区块链主要用到公钥密码技术,每一个区块(账务记录)加入区块链,必须有记账人的签名,需经过其他至少6个承认,才能加入区块链账本中(6个承认区块奖励冻结到记账人账户,经过100个承认才能解冻)。

    2.1.3共识算法

       比特币网络设计成平均每十分钟生成一个1MB大小的区块,为了鼓励大多数矿工诚实的记账,比特币网络会给诚实记账的矿工经济激励,因此,比特币记账竞争相当激烈,为了公平竞争,比特币网络设计者一开始使用工作量证明(POW)共识算法来选举出最先生成区块的矿工。

    2.1.4工作量证明

           POW(Proof of work),即工作量证明。工作量证明就是通过穷举(穷举过程只有两个数值可以改变,一个是区块头中的随机数,一个是区块体中的 coinbase 交易中 extraNonce 会改变)计算当前组装的区块的哈希值,如果计算出当前区块的哈希值在目标哈希(也就是当前网络的目标难度值)范围内,说明挖矿成功。

  • 相关阅读:
    IDEA导入jar包
    怎么在idea中新建package包,只有directory选项
    Python在自动化运维时经常会用到的方法
    SocketServer 网络服务框架
    导入自定义包
    socket编程
    在线安全清空慢查询日志slowlog
    OS X中微信双开
    OS X中crt中文乱码
    谈谈TCP中的TIME_WAIT
  • 原文地址:https://www.cnblogs.com/tspeking/p/8821647.html
Copyright © 2011-2022 走看看