一、簡述
Power為以太零原生代幣辙浑,PoS機制發(fā)行,不可交易衷蜓,僅用于以太零交易時的Gas消耗累提。
所有余額大于或等于0.01etz的賬號,都會隨著區(qū)塊的增長持續(xù)產(chǎn)出Power磁浇,直到達(dá)到Power上限斋陪。
console下查詢自己的可用Power:
eth.getPower("your address")
web3.fromWei(eth.getPower("your address"), "ether")
二、Power的兩個屬性
1置吓、上限值Max (由etz余額決定上限)
2无虚、每個區(qū)塊產(chǎn)出的速度Speed (由etz余額決定速度)
三、Power的實現(xiàn)原理
1衍锚、一個賬戶的Power
Power = Min(PowerMax, BlockGap * PowerSpeed)
BlockGap = 當(dāng)前區(qū)塊高度 - 上一筆交易區(qū)塊高度
2友题、一筆交易消耗的Power
Powerpend = Gas * GasPrice
例如一筆普通轉(zhuǎn)賬的Gas為21000,GasPrice為18Gwei
18Gwei = 0.000,000,018 ether
一筆普通轉(zhuǎn)賬需要power = 21000 * 0.000000018 = 0.000378 ether
3戴质、一個賬戶的Power上限值PowerMax
PowerMax = (Math.exp(-1/(x*50)*10000)*10000000+200000)*0.000000018
例如一個有0.01etz余額的賬戶度宦,PowerMax為0.0036 ether,
假設(shè)GasPrice設(shè)置為18Gwei(即0.000000018 ether)告匠,
這個0.01etz余額的賬戶單筆交易最大可設(shè)置Gas = 0.0036 / 0.000000018 = 200000
GasPrice為18Gwei的情況下戈抄,這個賬戶不能發(fā)送gas超過20萬的交易
假設(shè)GasPrice設(shè)置為36Gwei(即0.000000036 ether),
這個0.01etz余額的賬戶單筆交易最大可設(shè)置Gas = 0.0036 / 0.000000036 = 100000
GasPrice為36Gwei的情況下后专,這個賬戶不能發(fā)送gas超過10萬的交易
4划鸽、一個賬戶的Power恢復(fù)速度PowerSpeed
PowerSpeed = (Math.exp(-1/(x*2)*1000)*200000+1000)*0.000000018
例如一個余額為0的賬戶,在區(qū)塊高度100時收到了0.01etz
這個賬戶的在區(qū)塊高度101時的Power = (101 - 100) * 0.000018 = 0.000018
這個賬戶的在區(qū)塊高度102時的Power = (102 - 100) * 0.000018 = 0.000036
這個賬戶的在區(qū)塊高度201時的Power = (201 - 100) * 0.000018 = 0.0018
這個賬戶的在區(qū)塊高度301時的Power = (301 - 100) * 0.000018 = 0.0036
這個賬戶的在區(qū)塊高度401時的Power = (401 - 100) * 0.000018 = 0.0036 (不會再繼續(xù)增長)
區(qū)塊高度301之后戚哎,已經(jīng)達(dá)到了上限值裸诽,如需要提升Power,需要增加賬戶余額建瘫。
四崭捍、Balance-Power對照表
從表中可以查詢到,一個0.01etz余額的賬戶啰脚,單筆交易最高可消耗Gas為360萬(假設(shè)GasPrice設(shè)置為1Gwei)