Skip to content

Latest commit

 

History

History
73 lines (68 loc) · 4.86 KB

mining.md

File metadata and controls

73 lines (68 loc) · 4.86 KB

Mining

挖矿进化史

历史上,各种 PoW 数字货币曾设计了若干种 Anti-ASIC 算法,试图达到这一目标,但这些算法都不尽人意。这些算法大致可 以分为两类:

  • 第一类是试图增加完成 PoW 所需要的局部存储,例如 LiteCoin 需要 128KB 的存储,而 Monero 需要 2MB 的存储。但在 28nm 以及更先进的工艺下,在集成电路片上集成 2MB 的 SRAM 已经不再困难。LiteCoin 的 ASIC 矿机早已诞生。而 Monero 的矿机最近也被生产出来了
  • 第二类是试图增加完成 PoW 所需要的 DRAM 带宽和 DRAM 空间,典型的代表是以太坊和 ZCash。这两种数字货币目前的矿机以显卡矿机为主。但值得注意的是,比特大陆已经量产了以太坊矿机 E3。可以预见,ASIC 矿机逐步替代显卡矿机将是不可避免的趋势。原因在于带宽密集的挖矿算法仅仅使用了显卡的 DRAM 访存带宽,对于显卡上的计算资源几乎没有使用,因此,可以设计类似显卡但计算资源大幅缩减的芯片,它的功耗和成本极低,但仍可执行带宽密集型的 PoW 算法。

Scrypt 算法

PoS

  • 币龄
    • PoS 矿池, 超级节点

Mining pool

  • extra nonce
  • stratumn protocol
  • keep lives
  • (pool) difficulty
  • hashrate
  • retarget
  • 什么是拒绝数?拒绝率?
    • 根据矿池的工作原理,矿池不断给矿机下发新的计算任务,矿机将计算结果提交给矿池。但是由于矿机与矿池的网络连接是有延迟的,从矿池下发新的挖矿高度的任务给矿机,到矿机接收到任务,在这段时间提交的结果已经过时,将不被矿池承认。拒绝率即无效提交与总提交结果之比。
    • 拒绝数是指矿机提交的算力不符合服务器要求,被服务器拒绝的工作量。拒绝率是指拒绝数占总提交数的比例,数值越小,矿机的工作效率就越高。
  • 幸运值
    • 每个区块的幸运值是矿池实际工作量与挖矿难度之比。如果工作量小于难度,说明运气比较好,幸运值就越高。挖矿的运气成分很大,幸运值发生波动也很常见,但挖矿时间越久,总幸运值越接近 100%。
  • 结算方式
    • PPS
      • 收益稳定,只要矿机正常工作就有收益,收益和提交的工作量有关,和矿池幸运值、交易手续费无关
    • PPS+
      • 该结算方式蚂蚁矿池将交易手续费分配给矿工,所以交易手续费高,收益高;交易手续费低,收益低
    • PPLNS
      • 收益与矿池幸运值有关,矿池幸运值高,收益高;矿池幸运值低,收益低
    • SOLO
      • 矿机爆块才有收益,如果矿机爆块可获得该块扣除挖矿手续费的所有收益,如果矿机不爆块则没有收益
  • latency
    • important otherwise too late to start mining
    • num of conn isnt the key, unless there are only a few
  • avoid orphan block
    • Information Propagation in the Bitcoin Network 中提出了几个优化传播的建议
      • Pipelining block propagation
      • Minimize verification
      • Connectivity increase
    • 并指出了 Pipelining block propagationMinimize verification 只能达到不显著的优化效果,重点还是 Connectivity increase
      • Pipelining block propagation
        • 就是及时告诉别人有新块, 叫别人来拿
          • 针对矿池
            • pool 每秒轮询wallet
            • wallet 主动udp通知 pool
              • wallet 生成新块的时机,除了 pool submit to wallet 之外,对wallet收到同步的块也主动生成
      • Minimize verification
        • 先 验过 difficulty,尚未验 merkle 就把新块告诉别人(因为要伪造能过 difficulty check 的成本也很高,所以不必担心这方面的攻击)
      • Connectivity increase
        • Information Propagation in the Bitcoin Network 采用了星型连接
        • 矿池与用户的带宽足够
        • 钱包上行速度足够
        • 多钱包
        • 高速传播网络? 如果区块能在高速传播,孤块率会降低了?
          • BTC 的 fibre 网络
          • eth 上全网到处搞节点, 最终的效果还不如不连节点, 就让自己发现
            • 但如果是 连接较差(比如海外)IP / 个人IP, 孤块概率就会较大
    • 算力大的会好些, 算力大了连爆几个块,自己的不会成为孤块
      • 刚开的时候没算力肯定纠结
  • DDoS
    • 一层硬件防火墙
    • 软件防火墙不太行
  • 藏块攻击