第一代使用區塊鍊技術的數位貨幣網路是 Bitcoin network, 新一代則是 Ethereum network 以太紡,它使用Ether(以太幣)作為它的貨幣, 安裝 ethereum network 的客戶端程式 geth,可以加入網路來挖礦(mining),但需先下載完所有的區塊鍊(blockchains)
一些單位換算與術語:
1 Ether = 1e9 Gwei = 1e18 wei
Gas cost 使用 Gwei 為單位, 是驅動智能合約的燃料,一般預定是 20 Gwei,可以自由修改.
Gas limit 用來設定 Gas 最大用量(或稱為預估用量),如果設定不足, 當合約送入網路,一旦 Gas 消耗完,此合約作廢,簡直是勞民傷財,一個 transaction (傳送想要加進區塊鍊合約:)需要21000個 Gas 才能驅動,盡可能將 Gas Limit 設大一點,當合約驗證完成,只會消耗所需的用量,消耗不完的會被退還,因此執行合約,預估需消耗
(Gas Limit * Gas Cost)/1e9 個 Ether
當設定 Gas cost 為 20Gwei 時, 傳送此合約預估要花費
21000 * 20 /1e9 = 42e-5 = 0.00042 Ether
這還不包含合約的內容,內容(Tokens)需另外計費,合約內容是以 Solidity 語法(script)來實現,須先將它編譯(Compile)成代碼(tokens),才能用演算機(Virtual Machine)去執行,而每個 ethereum client (例如 geth)其實就是一部演算機,都可以來執行代碼,而這合約內容存在於區塊鍊上,無法被任何人更動但可以被執行,因此稱之為智能合約(Smart contract)
目前乙太幣價格也快來到 1000 USD, 這代表要驅動智能合約須付出昂貴代價,也許會對想要簽署智能合約的消費者怯步,但同時也造成大家一窩蜂去挖乙太幣,這個生態系統需要進一步作觀察
2018年3月4日 星期日
2018年3月2日 星期五
比特幣(Bitcoin)總數量
最近比特幣吵到天價(今天 2018/3/3 大約等於是 11000 USD), 到底他是什東西,比黃金還值錢.新的比特幣發行來自於解決了一個電腦運算的問題,而獲得一定數量的獎勵,一旦累積到210000個區塊時,獎勵數量就會少一半,之後再累積區塊數量計算新一輪的累積量,如果再次達到210000個時,獎勵數量又再少一半.由此以每 210000 個區塊的累記數量為一輪來分析(代數用 p 當變數), 獎勵從最初第一輪(p=0)的 50 個比特幣, 目前累積到區塊數量共約 511717(第3輪獎勵的階段, p=2),試著用數學式來演繹:
( 511717 / 210000 ) < 3
p = int( totalbolcks/210000 ) = 2 取整數, 相當於第 p+1 輪
因此目前新生成新的區塊獎勵是:
50 * (1/2) * (1/2) = 50 *[ (1/2)^2 ]= 12.5 個比特幣
目前 p = 2
用通則來表示獎勵數量, 將(1/2) 的 p 次方改用 2^-p 來表示:
50 * ( 2^-p )
p =int( total bloclchains/210000 )
由此來計算第 p+1 輪累計的比特幣總量是:
210000 * 50 * ( 1 + 2^-1 + ... + 2^-p)
如果使用 32 位元的長整數來儲存數值,當 p=32 時 2 ^ -32 將會變成 0, 也就是第 33 輪後獎勵將變為 0 個比特幣, 之後的報酬將只會來自於交易費用(transaction fee),上述最後一項其實就是一個等比級數運算式,因此可以算得比特幣總發行量等於:
210000 * 50 * 1/(1-2^-1) = 21000000
它的帳務資料(blockchain as a ledger)由每個參與(pee-to-peer)的礦工(miner)下載一份作為稽核他人的付款(transaction)之用,相當於點對點的帳務網路系統.
第一輪的礦工共挖出 50% 的比特幣
第二輪的礦工又再挖出 25% 的比特幣
目前第三輪之後的礦工就只剩不到 25% 的比特幣可以再挖出來
推導總共 n 項(輪)等比級數的總和, 用變數代換將上述 p 換成 n-1:
s = a^0 + a^1 + a^2 + ... + a^(n-1) --- (1)
a * s = a^1 + a^2 + ... + a^(n-1) + a^n --- (2)
(2) - (1)
(a-1) * s = a^n - 1 --- (3)
s = (a^n-1)/(a-1) --- (4)
如果 a < 0, a^n 會逼近於 0, 因此等比級數總和
s = 1/(1-a) --- (5)
( 511717 / 210000 ) < 3
p = int( totalbolcks/210000 ) = 2 取整數, 相當於第 p+1 輪
因此目前新生成新的區塊獎勵是:
50 * (1/2) * (1/2) = 50 *[ (1/2)^2 ]= 12.5 個比特幣
目前 p = 2
用通則來表示獎勵數量, 將(1/2) 的 p 次方改用 2^-p 來表示:
50 * ( 2^-p )
p =int( total bloclchains/210000 )
由此來計算第 p+1 輪累計的比特幣總量是:
210000 * 50 * ( 1 + 2^-1 + ... + 2^-p)
如果使用 32 位元的長整數來儲存數值,當 p=32 時 2 ^ -32 將會變成 0, 也就是第 33 輪後獎勵將變為 0 個比特幣, 之後的報酬將只會來自於交易費用(transaction fee),上述最後一項其實就是一個等比級數運算式,因此可以算得比特幣總發行量等於:
210000 * 50 * 1/(1-2^-1) = 21000000
它的帳務資料(blockchain as a ledger)由每個參與(pee-to-peer)的礦工(miner)下載一份作為稽核他人的付款(transaction)之用,相當於點對點的帳務網路系統.
第一輪的礦工共挖出 50% 的比特幣
第二輪的礦工又再挖出 25% 的比特幣
目前第三輪之後的礦工就只剩不到 25% 的比特幣可以再挖出來
推導總共 n 項(輪)等比級數的總和, 用變數代換將上述 p 換成 n-1:
s = a^0 + a^1 + a^2 + ... + a^(n-1) --- (1)
a * s = a^1 + a^2 + ... + a^(n-1) + a^n --- (2)
(2) - (1)
(a-1) * s = a^n - 1 --- (3)
s = (a^n-1)/(a-1) --- (4)
如果 a < 0, a^n 會逼近於 0, 因此等比級數總和
s = 1/(1-a) --- (5)
訂閱:
文章 (Atom)