Author Topic: [翻譯]DPOS白皮書  (Read 22955 times)

0 Members and 1 Guest are viewing this topic.

Offline 麥可貓

  • Sr. Member
  • ****
  • Posts: 267
    • View Profile
Delegated Proof-of-Stake (DPOS)
by Daniel Larimer
April 3, 2014


摘要
這份白皮書介紹了一種新的POS實作方式,
能夠在幾秒之內驗證轉帳,
並在短時間內提供比現有的POS更大的安全性.

在比特幣產生單一區塊的時間之內
DPOS能夠讓你的轉帳被20%的持股人驗證,
而在比特幣體制內當你的轉帳已經幾乎不可逆時
(六個區塊, 一個小時),
DPOS已經讓持股人經由代表完成100%驗證.


1.0 背景
分散式交易總帳必須要是安全的, 清楚的,
並且要在盡可能短的時間之內不可逆轉,
以使得系統更加健壯以及去中心化.

實務上有兩個面向必須考慮:
a. 選取唯一的節點來產生區塊,
並b. 使得總帳不可逆轉.

1.1 工作量證明機制 (POW)
史上第一個成功解決這個問題的,
是比特幣使用的POW機制,
POW使得新的區塊的產生具有計算機層次的難度.
POW的運作就像是樂透彩一般,
平均每十分鐘才有一個節點開採出新的區塊.
如果有兩個節點同時發現一個區塊
那麼網絡就會基於後來的節點的決議,
來抉擇要採納那哪一個區塊.

統計上來說,
在經過6個區塊(大約1小時)之後,
一筆轉帳就可以被視為明確而不可逆轉;
然而, 核心開發者需要經過120個區塊(大約一天)
才能夠確定網絡免於延長區塊鏈的攻擊.

儘管不太可能產生延長區塊鏈,
實際上任何具有經濟上強大資源的人
都有可能產生延長區塊鏈
或是囊括足夠的算力來凍結使用者帳戶.

1.2 權益證明機制(POS)
POS機制有許許多多的變體,
不過基本概念就是說,
產生區塊的難易度應該和你的持股比例
(占全網絡的百分比)有關聯.

直至今日有兩個POS體系存在:
Peercoin以及Nxt.
Peercoin使用混合機制,
當中你的持股將會影響你的挖礦難度,
而Nxt使用決定性的演算法
來隨機決定產生下一個區塊的持股人.
Nxt的演算法基於你的餘額來調整你被選上的機率.

當Peercoin以及Nxt各有各的方法來解決
如何產生下一個區塊的問題時,
他們並沒有提出一種有效率的方法
來在有限時間內使得區塊鏈無可逆轉地安全.
Peercoin需要至少6個區塊(1小時)
而依據我們找到的資訊Nxt需要10個區塊.
我們無法找到10個區塊之後Nxt如何保證安全性.

我們之前發表過TaPOS的白皮書,
當中聽到每一筆轉帳包含了上一個區塊所產生的hash值.
在這樣的體制裡系統會越來越安全,
並且由於最終區塊都會被每一個持股人投票,
因此無可逆轉.
TaPOS所面臨的挑戰是
在其中並沒有指定誰來產生下一個區塊.

1.3 Ripple共識制度
Ripple的共識演算法基於了一個獨特的節點清單
來允許了一群節點同意達成協議.
這一份創始的節點清單就像是一個社團一樣,
如果要納入新的節點,
就必須要囊括51%的舊成員選票.
核心的51%決定了共識為何,
而圈外人無能為力.
由於這樣的社團以中心化開始,
也將維持中心化,
而當持股人無事可做的時候體系便要崩壞.
如同比特幣以及Peercoin一樣,
Ripple剝奪了持股人的投票權,
因此比其他的體系更加中心化.

2.0 代表制的POS
套用DAC的比喻來說,
去中心化意味著每個持股人
依照持股比例而有相當的影響力,
而超過了51%的持股人選票則意味著牢不可破.
困難在於在有限時間內達成51%相當不易.

為了達成這個目的,
每個持股人可以委任他的投票權給一位代表.
前100強的代表可以排表輪流產生區塊.
每個代表都會被分配一個時段來產生區塊.

如果代表人無法在時段之內產生區塊,
那麼他會被跳過,
下一個代表就會遞補上來.
所有的代表會收到轉帳手續費總額平均的10%.
例如平均來說每個區塊含有100 shares手續費,
那麼每個代表會收到1 share.

理論上來說,
可能會由於某些代表
無法在時間內傳送區塊並造成塊鏈分岔.
然而這實際上是不可能的,
因為每個代表可以直接和他之前以及之後的代表連線.
這樣的直接連線能夠確保支付被處理.

在這樣的模式底下,
區塊每30秒就會被生成,
而在正常的網絡情況下塊鏈分岔是幾乎不可能的,
或者說可以在幾分鐘之內被解決.

2.1 成為代表
要成為代表,
你必須用你的公鑰在網絡上註冊,
並且簽署一個32bit的唯一識別碼.
這一段識別碼就可以在每一筆轉帳的header當中被引用.

2.1 委任你的投票權
每個錢包都有偏好設定的項目,
當中你可以選取一個或更多的代表並加以評比.
設定完成之後,
使用者的轉帳將會從當前的代表中做為選票選給特定的代表.
正常情況下使用者並不會為了投票權而轉帳,
因為這是要扣手續費的,
但是緊急情況下某些使用者可能願意支付手續費
來達成主動投票的效果.

2.3 讓代表們保持誠實
每個錢包都會有一個指示器來顯示他們的代表的績效.
如果他遺失了太多區塊那麼就建議使用者換新的代表.
如果任何代表被發現簽署了無效區塊,
那麼錢包將強制需要在新的轉帳之前選取新的代表.

2.4 解決塊鏈分岔
如同POW以及其他POS體制,
最佳的區塊鏈就是含有最長的有效區塊鏈.
任何時候當一個代表錯失了簽署區塊的時候,
那麼區塊鏈就比潛在競爭者少了一個區塊.
只要排定在你的轉帳之後的100個區塊的51%能夠被發佈並產生,
那麼你就不用擔心你的轉帳位在塊鏈分岔當中

或許避免塊鏈分岔最重要的就是在第一時間察覺.
由於代表們經由產生區塊獲得支付,
並因而盡可能保持100%上線時間以避免被投票出局,
損失收入,
你可以安全地假設如果過去10個區塊當中有1到2個被遺失
那麼網絡上的一部分可能經歷了連線的問題,
使用者應該保持警覺, 並要求更多確認.
如果過去10個區塊當中有5個遺失,
那表示你可能位在塊鏈分岔上面,
停止交易並等待分岔問題被解決.

能夠在短時間之內(五分鐘之內)偵測到並警告使用者網絡分裂,
對於減少潛在的損失至為重要.
更重要的是明白您是否正處於塊鏈分岔上面.

2.5 100個代表足夠去中心化嗎?
去中心化的定義是由於普及,
因而難以被牽制.
 
我們認為自由市場將是去中心化的終極樣貌,
而進場阻礙則是中心化的土壤.

正如同許多事物,
中心化的程度可以被量化,
因此我們將比較DPOS和其他的方案的中心化程度.

2.3.1 比特幣
比特幣目前以DPOW運作,
因此大約有10個代表掌握了算力的主流.
算力本身是中心化的,
因為經濟實力強的人可以佈署相當的規模,
以使的和他競爭無利可圖.
最終POW使得現任者難以被換下來.
相較於比特幣,
DPOS至少在產生區塊上面10倍地更加去中心化,
而在市場競爭上面或許無限地更加去中心化.

除了在算力上面有限度地去中心化之外,
當提到比特幣持有者的比例分配時,
我們認為比特幣很清楚的更加去中心化.
但是如果你考慮到比特幣的使用者數量,
當中只有很小一部分參與了挖礦.

2.3.2 Peercoin
Peercoin使用複合式的體制,
因此會因為POW造成中心化.
如同比特幣有礦池一樣.
相較於比特幣,
Peercoin當然更加去中心化;
然而POS挖礦需要使用者將它的錢包維持解鎖狀態
只有一小部分的持股人參與了任何形式的挖礦.

2.3.3 Nxt
Nxt使用透明鍛造,
當中下一個節點是被預選的.
以DPOS來說就像是你只能委任給自己,
而你有機會鍛造區塊的機會和你的持股成正比.
在這種情況下,
Nxt比比特幣和Peercoin更加去中心化,
但仍然苦於大多數使用者不太參與,
因為大部份的使用者不會整天打開電腦並參與整個過程,
同時讓他們的電腦暴露在危險之中.

從這個角度來說
我們可以說Nxt是經由一小群持股人來達成安全性.
事實上,
如果你不現身投票, 你就喪失了投票權.
為了解決這個問題,
一些Nxt使用者將他們的持股
託付給一些第三方來代替他們行使職權.
這其實是經由某種的DPOS來增加持股人參與度,
但也增加了託付第三方的風險.

3.0 攻擊
一般來說有兩種攻擊方式不得不防:
DOS以及雙重支付.
任何持有51%的人(在比特幣, Nxt以及其他的網絡上面)
都有可能藉由不將部份或是全部的轉帳納入到總帳當中
執行DOS攻擊.

雙重支付是在當網絡試圖達成協議時獲取短期的好處.

為了避免這兩種攻擊,
網絡必須儘速達成51%持股人共識.

3.1避免交易被排除
選出100個代表並輪值,
就代表著轉帳即使只被1%持股人認可就可以在30分鐘之內生效.
表示沒有代表可以排除投給其他代表的選票以及交易.

3.2 少數代表的集權
由於代表是在前100強當中彼此對等,
因此取得大於1%的選票沒有意義

或許同一個人或組織可能掌控多於一個代表席次,
但是這個過程將會牽涉到欺騙許多持股人成為傀儡.

即使可以設立51個傀儡來崩壞網絡,
他們的威力仍然是相當有限的,
並將會被快速辨認出來,
並修復錯誤.
沒有POW造成的進場阻礙,
誠實的大多數將能夠快速找出攻擊的源頭,
並作出分岔來忽略攻擊者產生的區塊.
這將會是破壞性的,
但並不是致命的.

3.3 代表的DDOS攻擊
由於只有100個代表,
可以想見攻擊者可以在輪到某個代表的時候攻擊之.
幸運的是每個代表都只會顯示出它的公鑰而不是IP.
這將會使DDOS更加困難.
考慮到代表之間會有直接連線,
區塊的傳送將更加難以阻擋.

4.0 TaPOS
代表制意味著能夠在短時間之內更有效率地取得共識,
而TaPOS代表著使用者將會隨時間驗證代表的行為.
平均來說51%的持股人將會在6個月之內驗證每個區塊.
取決於流通中的股份數量,
大約10%的持股人將會在幾天之內驗證區塊鏈.
這樣的直接驗證長期來說將確保網絡安全,
並使的所有的攻擊無所遁形.

5.0 高品質服務
假設DPOS體制將能夠有100億美金的市場,
年平均轉帳費用是0.25%,
代表賺取10%的轉帳費用,
那麼每個全勤的代表將每年能夠賺25000美金.

這是一個很有賺頭的位置,
每個人都會擠破頭.
這代表每個求職者將會試圖降低現任代表的支持基礎,
經由作統計分析來找出代表裡面任何背離標準演算法的行為.
一旦某些乖離被發現,
檢舉者就能贏得選票.

代表們將竭盡全力來證明他們是運行著標準軟體,
他們對於產生區塊的正直性的證明將能夠幫助他們保住工作.
可以想見開發者將快速做出能夠讓代表快速擔保轉帳能夠廣為傳播的系統.

事實上市場競爭將能夠產生最有創意的方案來確保代表的正直以及可靠性.

確保網絡安全有利可圖,
試圖崩壞網絡卻無利可圖.



6.0 結論
DPOS背後的機制混合了TaPOS將產生一個具有
比比特幣, Peercoin,  Nxt三倍以上的更能夠被驗證的網絡.
DPOS將能夠在更快的達成共識的同時,
消除少數隨機持股人造成小規模破壞的可能性.
經濟上的誘因將會使代表們證明他們的良好行為,
並將套用類似於Ripple的共識機制.
DPOS實質上以去中心化的方式產生了一個Ripple的節點清單,
而不必擔心網絡分裂.
« Last Edit: April 05, 2014, 03:56:23 pm by 麥可貓 »
PTS: PmRVDPymZqSAZEXauHZSewrUrE66af7epT
BTSX: michaelcat
Delegate Team: x1.sun  x2.sun