以太坊 相關資源連結

加密貨幣

名詞介紹

Geth

  • 啟動 geth
    • geth --datadir "/root/chain" console
    • 其中 datadir用於指定數據目錄。這個目錄不能夠預先創建,否則命令會失敗

帳戶 (地址)

  1. 產生私鑰 (32 Byte)
  2. 由私鑰推導出公鑰,ECDSA 算法 (64 Byte)
  3. 公鑰推導出地址 (20 Byte)
    • 公鑰 (64 Byte)
    • 公鑰進行 Keccak-256 hash,變成 32 Byte
    • 32 Byte 前的 12 Byte 移除,剩下的 20 Byte 就是地址
  • 帳戶地址
  • 合約地址

(Genesis File)

GAS

  • BitCoin 是發行自己的數字貨幣
  • Eth 希望是用相同的規範(protocal),創造自己的利用(ex 貨幣, 合約)
  • 可是你在使用他的服務產生自己的利用時,是需要礦工的支援
  • Gas 就是你付費給礦工的單位(手續費)
  • => 運行一個合約要付出一定的 Gas
  • Gas 同時也要能夠確保合約能夠停止
  • BitCoin 的手續費是以交易大小作計算
  • Eth 是以礦工運算的複雜度做計算
  • Gas 是隨市場波動而改變
  • 如何計算 Gas: …
  • wei 1e-18
  • Gwei 1e-9

Token

PoS

Proof-of-Stack

  • 工作量證明
  • PoW 在資源的浪費太高了
  • 當你在鍊上擁有的 Eth 越多,時間越長,你就應該擁有較高的寫帳權力
  • sharping algo
    • 想解決運算太慢而無法 handle 以後更高的交易量
    • 資料庫的概念
    • 礦工分組 => 效能提升
  • PoS 難點:
    • 需計算擁有多少 Eth & 擁有多久
    • 統計擁有 Eth 量是需要不被外界影響的 => 不能寫在 client (可以騙你我有)
    • 可能需要用 sandbox

PoW, PoA, PoS

與 Bitcoin 的差別

https://read01.com/oBazm3.html

EVM

Memory

圖靈完備語言

Hash Speed

  • Bitcoin 平均交易需要 10 分鐘,而 Ethereum 只要 15 秒
  • 在 Bitcoin 中,若 A 區塊尚未擴散,B 區塊就已經產生了話,可能會只有一個區塊進入主鏈,被放棄的區塊內的交易就不會發生
  • 為了避免這個狀況,Eth 獎勵礦工納入上一輪被丟失的區塊
  • 被丟失的區塊稱作孤塊 (Orphaned block),這些被納入的孤塊稱作叔塊 (Uncle block) ,這套獎勵機制名為 GHOST 演算法

Ether 錢包

線上錢包

Mist

Parity

智能合約

clock century regret direct flip match erase core arrange baby about horse

可支援繼承 要可以被查詢的記得記 public

主要內容

  • address (地址 / 帳號)
    • 使用者
    • 合約
  • stats(狀態)
    • 會進入 hash 運算裡
    • 可永久保留,使用者用來記錄合約的相關資訊
    • Ethereum的設計機制是不鼓勵儲存state的,用到state耗費的gas特別高
  • function(動作)
    • 對這合約狀態產生影響的動作
  • gas(手續費)
    • 每執行一次 函式都要付出相對應該付的費用
    • 合約提供越多 gas,礦工會越想優先做這個合約的 pow,導致此合約越快被寫入區塊
  • event
    • 可以與外部 oricalization 連接

交易

都是先把錢給網路(合約),保證你有著麼多錢

event

  • 比較便宜 (GAS)

valuable

  • 比 event 貴很多 (GAS)

Solidity

合約步驟

  1. 合約宣告
    contract ContractName {
        address public owner;
        address public receiver;
        ...
    }
    

參考

應用

geth 應用

DApp 應用

Ethereum Oraclization

comments powered by Disqus

Related