303
« on: April 05, 2014, 06:44:53 am »
繁体看不习惯,我转换了一下.哈哈.
Delegated Proof-of-Stake (DPOS)
by Daniel Larimer
April 3, 2014
摘要
这份白皮书介绍了一种新的POS实作方式,
能够在几秒之内验证转帐,
并在短时间内提供比现有的POS更大的安全性.
在比特币產生单一区块的时间之内
DPOS能够让你的转帐被20%的持股人验证,
而在比特币体制内当你的转帐已经几乎不可逆时
(六个区块, 一个小时),
DPOS已经让持股人经由代表完成100%验证.
1.0 背景
分散式交易总帐必须要是安全的, 清楚的,
并且要在尽可能短的时间之内不可逆转,
以使的系统更加健壮以及去中心化.
实务上有两个面向必须考虑:
选取唯一的节点来產生区块,
并使的总帐不可逆转.
1.1 工作量证明机制 (POW)
史上第一个成功解决这个问题的,
是比特币使用的POW机制,
POW使得產生新的区块具有计算机层次的难度.
POW的运作就像是乐透彩一般,
平均每十分鐘才有一个节点开採出新的区块.
如果有两个节点同时发现一个区块
那麼网络就会基於后来的节点的决议,
来抉择要採纳那一个区块.
统计上来说,
在经过个区块(大约1小时)之后,
一笔转帐就可以被视為明确而不可逆转;
然而, 核心开发者需要经过120个区块(大约一天)
才能够确定网络免於延长区块链的攻击.
儘管不太可能產生延长区块链,
实际上任何具有经济上强大资源的人都有可能產生延长区块链
或是囊括足够的算力来冻结使用者帐户.
1.2 权益证明机制(POS)
POS机制有许许多多的变体,
不过基本概念就是说,
產生区块的难易度应该和你的持股成比例(占全网络的%)有关联.
直至今日有两个POS体系存在:
Peercoin以及Nxt.
Peercoin使用混合机制,
当中你的持股将会影响你的挖矿难度,
而Nxt使用决定性的演算法来决定產生下一个区块的随机持股人.
Nxt的演算法基於你的餘额来调整你被选上的机率.
当Peercoun以及Nxt各有各的方法来解决如何產生下一个区块的问题时,
他们并没有提出一种有效率的方法
来在有限时间内使得区块链无可逆转地安全.
Peercoin需要至少6个区块(1小时)
而依据我们找到的资讯Nxt需要10个区块.
我们无法找到10个区块之后Nxt如何保证安全性.
我们之前发表过TaPOS的白皮书,
当中听到每一笔转帐包含了上一个区块所產生的hash值.
在这样的系统裡系统越来越安全,
并且由於最终区块都会被每一个持股人投票,
因此无可逆转.
TaPOS所面临的挑战是在其中并没有指定谁来產生下一个区块.
1.3 Ripple共识制度
Rippke的共识演算法基於了一个独特的节点清单
来允许了群节点同意达成协议.
这一份创始的节点清单就像是一个社团一样,
如果要纳入新的节点,
就必须要囊括51%的旧成员选票.
核心的51%决定了共识為何,
而圈外人无能為力.
由於这样的社团以中心化开始,
也将维持中心化,
而当持股人无事可做的时候体系便要崩坏.
如同比特币以及Peercoin一样,
Ripple剥夺了持股人的投票权,
因此比其他的体系更加中心化.
2.0 代表制的POS
套用DAC的比喻来说,
去中心化意味著每个持股人依照持股比例而有相当的影响力,
而超过了51%的持股人选票则意味著牢不可破.
困难在於在有限时间内达成51%相当不易.
為了达成这个目的,
每个持股人可以委任他的投票权给一位代表.
前100强的代表可以排表轮流產生区块.
每个代表都会被分配一个时段来產生区块.
如果代表人无法在时段之内產生区块,
那麼他会被跳过,
下一个代表就会递补上来.
所有的代表会收到转帐手续费总额平均的10%.
例如平均来说每个区块含有100share手续费,
那麼每个代表会收到1share.
理论上来说,
可能会由於某些代表可能无法在时间内传送区块并造成块链分岔.
然而这实际上是不可能的,
因為每个代表可以直接和他之前以及之后的代表连线.
这样的直接连线能够确保支付被处理.
在这样的模式底下,
区块每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比比特币和Peerxoin更加去中心化,
但仍然苦於大多数使用者不太参与,
因為大部份的使用者不会整天打开电脑并参与整个过程.
从这个角度来说我们可以说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体制将能够有10亿美金的市场,
年平均转帐费用是0.25%,
代表赚取10%的转帐费用,
那麼每个全勤的代表将每年能够赚25000美金.
这是一个很有赚头的位置,
每个人都会挤破头.
这代表每个求职者将会试图降低代表的支持基础,
经由作统计分析来找出代表裡面任何背离标準演算法的行為.
一旦某些乖离被发现,
检举者就能赢得选票.
代表们将竭尽全力来证明他们是运行著标準软体,
他们对於產生区块的正直性的证明将能够帮助他们保住工作.
可以想见开发者将快速做出能够让代表快速担保转帐能够广為传播的系统.
事实上市场竞争将能够產生最有创意的方案来确保代表的正直以及可靠性.
确保网络安全有利可图,
试图崩坏网络却无利可图.
6.0 结论
DPOS背后的机制混合了TaPOS将產生一个具有
比比特币, Peercoin, Nxt三倍以上的更能够被验证的网络.
DPOS将能够在更快的达成共识的同时,
消除少数随机持股人造成小规模破坏的可能性.
经济上的诱因将会使代表们证明他们的良好行為,
并将套用类似於Ripple的共识机制.
DPOS实质上以去中心化的方式產生了一个Ripple的节点清单,
而不必担心网络分裂.