• 挖矿


    比特币系统为什么要挖矿?先让你干体力活,当你越卖力的时候,就可以获得奖励
    增加恶意行为的成本
    争夺记账权利,获取奖励


    传统的挖矿:体力劳动
    比特币挖矿:脑力劳动,把挖掘变成计算,矿工使用电脑不停的计算
    每开采210000个区块,挖矿奖励减半
    2009年1月—-2012年11月,奖励50BTC
    2012年11月-2016年7月,奖励25BTC
    ........奖励12.5BTC
    2040年,所有的BTC被挖出,挖矿没有奖励,矿工以手收费为生


    每个人都可以拥有一个比特币的银行式的记账系统
    比特币系统也是鼓励大家来记账的,几万台机器的话,防攻击的能力也是非常强的


    难度是否小于目标的哈希值
    装区块链的全节点少了,比特币系统也会不攻自破的


    区块完整图示:
    版本号-父区块哈希-Merkle树根-时间戳-难度目标值-Nonce
    当你接收到一个区块的时候,唯一要改变的是你父区块的哈希


    目标值增大:难度降低了
    难度值增大:挖矿难度增加
    挖矿就是猜Nonce值,穷举法

     

    每2016个区块调整难度
    新目标值=当前目标值*(过去2016区块用时分钟/20160分钟)
    难度目标值:区块头部hash要小于的值


    矿工无需运行全节点,只需要安装挖矿软件
    矿池管理员维护全节点,并把任务分段,给矿工不止挖矿任务

    矿池分类
    PPLNS
    PPS
    FPPS

    矿池:p2p
    放置托管矿池管理员作弊,基于区块链技术。去中心化的矿池管理系统
    矿工需要自己运行全节点
    根据矿工共享的算力来确定分红
    托管矿池,矿工把自己买的矿机托管到矿池,有矿场帮助维护打理


    可塑性攻击:
    可塑性攻击也称为可锻性,是指一个物体的外形不引起质量和物理化学属性的变化
    交易签名具有可塑性,有多种写法
    修改交易签名引起交易的哈希值改变,即TXID改变
    TXID发生改变会导致TXID无法找到,造成攻击漏洞
    隔离见证
    可伪造的签名部分移除交易数据结构,在另一个地方存放签名
    改变签名不影响TXID的变化

     


    构造交易-查看初始交易
    bitcoin -cli decoderawtransaction

    第一个是拥有者
    p2pk用公钥来锁定
    p2pkh用公钥的哈希来锁定
    p2sh用脚本锁定


    偷币:
    创建私钥,生成对应的公钥和比特币地址
    调用相应的API接口
    查看amount字段的值,有没有比特币,如没有返回步骤1
    调用相应API接口,创建向自己的比特币地址转钱的初始交易
    调用相应的APi接口,对交易签名(用到生成的公钥)
    调用相应的APi接口,将交易向全网广播,坐等收钱
    回步骤1


    decode是解码,encode是编码

     

     

     

     

     

     

  • 相关阅读:
    0426-mysql插入语句大全
    JS节点操作
    模态框
    滚动监听 after选择器
    JS数组
    js函数 DOM操作
    JS循环 for while 全局/局部变量 短路
    JavaScript 基础 if switch 弹窗 运算符
    无序列表属性 隐藏方式 JS简介
    Css问题 margin float 文档流 背景图底部充满
  • 原文地址:https://www.cnblogs.com/yunxintryyoubest/p/10639866.html
Copyright © 2020-2023  润新知