Web3 Learn

127 阅读3分钟

浏览器插件钱包

区块链

  • 公式算法是区块链的灵魂;加密算法是区块链的骨骼;经济模型是区块链的核能。
  • 冯诺依曼结构?

image.png

image.png

共识机制

  • FLP不可能定理揭示了:
    1. 论证了最坏情况是没有下限的,要实现一个完美的、容错的、异步的、一致性系统是不可能的
    2. 说明100%保证一致性是不可能的
    3. 不要浪费时间去试图为异步分布式系统设计面向任意场景的共识算法
    4. 科学告诉你什么是不可能的:工程则告诉你,付出一些代价,可把它变成可行的。
  • CAP原理:指在一个分布式系统中,Consistency(一致性)、Availability(可用性)、Partition tolerance(分区容错性)三者不可兼得。
  • 由于大部分情况下,网络被认为是可靠的,因此系统可提供一致、可靠的服务;当网络不可靠时,系统要么牺牲掉一致性(多数场景下),要么牺牲掉可用性。
  • 非拜占庭错误(故障错误):一般把出现故障(crash或fail-stop,即不响应),但不会伪造信息的情况
  • 拜占庭错误:伪造信息恶意响应的情况。
  • 常见共识算法:
    • PoW工作量证明机制
    • PoS权益证明机制
    • DPoS股份授权证明机制
    • PoA权威证明机制
    • PBFT实用拜占庭容错算法
    • DAG有向无环图算法

ETH中的UTXO模型

ETH实际上并不使用UTXO模型,而是采用账户模型(Account Model),两种模型区别:

  1. UTXO模型(比特币使用的模型):

    • UTXO是“未花费的交易输出”(Unspent Transaction Output)的缩写
    • 就像现金交易一样,每次交易都会完全消费掉之前的UTXO,并创建新的UTXO
    • 比如你有一个10BTC的UTXO,要支付3BTC,系统会创建两个新的UTXO,一个3BTC给接收方,一个7BTC找零给自己
  2. 以太坊的账户模型:

    • 更像银行账户,直接记录每个账户的余额信息

    • 包含2种类型的账户:

      • 外部账户(EQA):由私钥控制的普通用户账户
      • 合约账户:存储智能合约代码和状态的账户
    • 交易直接修改账户状态,比如A向B转账10ETH,直接从A账户减少10,B账户增加10

  • 账户模型优势:

    • 更容易实现智能合约
    • 状态管理更直观
    • 交易逻辑更简单
  • 账户模型劣势:

    • 可能存在重放攻击风险
    • 并行处理交易相对困难
    • 隐私性不如UTXO模型