聊聊区块链
一个完整的区块链系统生态:
- 主币:进行 gas 费结算:BitCoin / ETH / TRX 等等
- 节点服务(JSONRPC 2.0):提供数据查询、广播交易,交易广播(P2P -> 挖矿节点);
- 交易验证:挣取 gas 费,出块奖励(挖矿);
- PoW(Proof of Work):通过算力证明提供交易验证(出块);sha256(nonce + body) -> sha256
import hashlib from typing import Tuple raw_block = b'block data' dificulty = 5 def proof_my_work(dificulty, raw_block) -> Tuple[int, str]: nonce = 1 while True: body = bytes(nonce) + raw_block h = hashlib.sha256(body) hex_value = h.hexdigest() if hex_value[:dificulty] == '0' * dificulty: return nonce, hex_value nonce += 1 proof_my_work(dificulty, raw_block)
- PoS(Proof of Stake):通过质押主币提供交易验证,一旦被发现作弊则扣除质押的主币;
- PoW(Proof of Work):通过算力证明提供交易验证(出块);sha256(nonce + body) -> sha256
- 链浏览器:通过 Web UI 进行链上数据查询;
- 钱包 == 私钥:资产证明,交易授权,公钥导出地址,私钥则是证明拥有该地址;
- 智能合约(Smart Contract):对资产进行编程;
- 代币(Tokens):基于智能合约实现,Fungible Tokens(ERC20 / TRC20) 和 Non-Fungible Tokens (ERC721)
- dApp:通过桥接钱包和链上智能合约实现一定的链上操作;
从智能合约来看各个区块链生态之间的区别
主要是虚拟机的区别,为了执行智能合约,区块链系统需要虚拟机来执行代码,目前主流的虚拟机包括:
- 无智能合约:UTXO(Unspent transaction output),Bitcoin / DogeCoin / LiteCoin
- WASM(Soldity): EVM(Ethereum / Binance Smart Chain / OKX Chain), TVM(Tron)
- Move:由 Facebook 之前推出的 Libra 现在改名 Diem 推出,Aptos / Starcoin / Sui
- LLVM(ELF / BPF):Solana
Solana
- 特点:PoS / 快 / Rust / gas 费低