1. 区块链并没有什么新技术,还是基于密码学、数据结构、计算机网络等。
    1. 区块链本身就是个分布式系统,分布式存在的问题它都会有。区块链存储的数据是基于分布式数据库。区块链只支持添加操作,所以每一笔交易可追溯。交易是基于非对称的公私钥。

    2. 区块链支持的 AP 特性,满足 C (最终一致性)且 TPS 较低。

    3. 区块链的数据这么多,如何通过一个交易 hash 来找到相应的交易记录呢?有用到 Bloom 过滤器。

    4. 分布式一致性算法,著名的有 Paxos。Zookeeper 就借鉴了它。

    5. 共识机制:

      1. PoW (Proof of Work) 工作量证明,也就是解答问题,谁做的快谁就有权利记账。比特币就是这种。
      2. PoS(Proof of Stake)权益证明算法,为了解决 PoW 会浪费大量资源而提出的,同时也解决了 51% 攻击的问题。简单的说谁的币龄越大记账概率就越大。但它导致无成本利益问题,链非常容易分叉。以太坊在这个基础上进行了优化。
      3. DPoS(Delegated Proof of Right)代理权益证明算法,记账权只有在部分节点中,是个带中心化的共识机制。目的是为了提高性能,让交易确认时间变短。在 DPoS 中矿工改名为见证人 Witness。EOS 就是这种,全球只有 21 个节点。
    6. PoW 算法,当某个人算力达到全网的 51% 就可以发起攻击了。

    7. 比特币每10分钟出一个块,总共 2100 万,比特币确认数是 6。

    8. 以太坊每12秒出一个块,总共是 6000 万 + 1872 万每/年,以太坊确认数是 12。

    9. 比特现金(BCH),由于比特币区块容量只有 1 MB ,用户量增多,导致交易拥堵。比特币的矿工们支持区块扩容,而核心代码维护者支持隔离见证,两者意见分叉,BCH 就是矿工们支持出来的产物。

    10. EOS 全球只有 21 个记账节点,所以它的 TPS 很高。

    11. SHA256 哈希算法被比特币用作挖矿算法。Ethash 哈希算法是以太坊的挖矿算法。


    1. 比特币的交易费用是按字节收费的。

    2. UTXO 模型(unspent transaction input/output) 未花费的交易输入输出 ,比特币系列中使用。它不记录最终状态,例如用户还剩多少钱,它只记录过程,让用户自己去算最终状态。它要求一个交易至少一个输入、输出。

    3. Account Based 模型,也叫普通模型。智能合约型的链使用。有自己的一套事务机制,也叫冲正交易。

    4. 二者比较,UTXO 占用空间大,也更复杂,相应的更加的安全。

    5. 私钥可以推导出公钥,公钥可以推导出地址,该过程是单向的、不可逆。

    6. 平常以太坊接触的比较多,可以在这个浏览器查看,这里介绍下每个属性的意义:

    image.png

    什么是 Nonce? 以太坊 Nonce 的总结

    1. 一个币是靠核心代码人员、矿工、社区三者相互扶持成长的。

    参考: