我们在六月的伦敦见面会是一次特别的聚会,我们邀请了IOHK首席科学家Aggelos Kiayias教授发言。卡达诺基金会的Tom Kelly欢迎大家来到演讲厅(并确保观众知道我们在见面会后去喝酒的酒吧在哪里!)。我们非常感谢UCL和London Blackchain Labs为我们提供这次见面会的场地。
他的演讲是关于乌洛波洛斯(Ouroboros)权益证明(PoS)研究:协议设计,权益池,激励,侧链。您可以在下面迅速浏览演讲概要。来自IOHK的Dominic也出席了见面会,记录下了这次演讲,完整演讲视频很快会发布在IOHK的YouTube频道。
坚固交易分类账本
- 比特币协议解决的问题。
- 如要正确地解决问题,必须充分理解问题。
- 做为Aggelos研究中的一部分。
- 在他和Garay跟Leonardos的研究中,制定了第一个“坚固交易分类账本”的形式化定义(文中:https://eprint.iacr.org/2014/765)。
- 这之后有很多的后续工作,着眼于精确的模型和定义,例如属性定义,部分同步,模拟基础的定义和组合。
- 在这里,Aggelos指出,最重要的是要有定义和形式化框架,以便其他人也可以使用它来解决问题。
- RBL有著两个属性:
- 持久性:使交易坚持在账本上并且不变。
- 活跃性:新交易将被记录并纳入分类账。
权益证明(PoS)的背景
- 在比特币中,生成下一个区块就类似选举。
- 选出一个矿工的概率是与其哈希算力成正比。
- 另一方面,权益证明(PoS)系统中的步骤是:
- 利用权益(虚拟资源)而不是哈希算力。
- 矿工被权益持有者取代,来为分类帐本负责。
- 利用随机过程,考虑当前权益持有量来选择下一个有资格生产区块的“矿工”。
纯粹的PoS方法
- 对于权益证明(PoS)系统已有许多方法出现在文献中或提议在系统中。
- 将这些分为两类是很重要的:
- 权益证明(PoS)区块链 :此协议使用哈希链,以某种形式的最长链规则。 这意味着此协议将在一定程度上模仿比特币协议。
例如:Ouroboros,Snow White,NXT - 权益证明(PoS) BFT: 经典拜占庭容错协议的升级版,在PoS的设置中运行。
例如:Tendermint,Casper
- 权益证明(PoS)区块链 :此协议使用哈希链,以某种形式的最长链规则。 这意味着此协议将在一定程度上模仿比特币协议。
比特币的故事
- “在比特币逻辑设置下编写RTL协议是不可能的”。
- 这种说法的原因是:无成本的模拟和长距离攻击。
- 无成本模拟:没有用于生成块的物理资源,因此可以基本上免费构建备用事务历史。
- 与比特币相比,当您扩展一个版本的历史记录时,您必须承诺,并且您必须在提交的每个版本历史上花费哈希算力(hashing power)。
- 由于权益证明(PoS)协议缺乏“没有危险”的问题,所以问题出现了:这是否会杀死这个协议或者是否有缓解这个问题的方法?
- 第二个参数是长距离攻击:
- 受害者试图区分网络上的两个备选历史,而并没有任何最新的信息
- 如果你在一个很大的中断之后加入网络,或者你是新节点,那么你将面临引导问题
- 新的(或长期的异步)节点如何与区块链同步?
- 这个新节点如何选择“正确的”历史(正确的是大多数人或大多数网络所遵循的历史)?
- 你不想让一个值得信赖的人告诉受害者哪个历史是对的。
- 在工作证明(PoW)系统中,敌对版本将会大大缩短,并计算难度。
- 新节点将因此能够根据累积计算出正确的历史记录(计算投入的工作量)。
动态可用性
动态可用性由Kiayias教授和他的研究团队定义,即“自然地捕捉分散的环境,在这个环境中,实际部署的区块链协议被假定为操作。
- 该环境是:
- 各方加入并随意离开。
- 在线/离线方的数量随着时间的推移而动态变化,或者失去时钟同步网络连接。
- 协议没有参与级别的先验知识。
- 这是Ouroboros研究中心着手解决的问题
PoS问题
- 是否有可能在动态可用性设置中运行纯权益证明(PoS)协议,以便:
- 该协议在小于 <50%的权益对手面前依然可满足持久性和活跃性。
- 遵循规定的协议符合群众的激励措施。
- 这是乌洛波洛斯(Ouroboros)的研究流已着手解决的问题。
乌洛波洛斯权益证明 (Ouroboros PoS)
- 它在Crypto 2017第一次展出。
- 在乌洛波洛斯(Ouroboros)之前还有其他权益证明(PoS)协议,但它独特的是什么?
- 乌洛波洛斯(Ouroboros)着手开发权益证明(PoS)区块链,并证明该协议符合实现RTL功能的目标。
- 证明与协议正协同工作; 目的是提出一个主张,即一个协议可以成为令人信服的工作证明(PoW)的替代品。
- 乌洛波洛斯(Ouroboros)包括如下功能:
- 随机信标生成过程
- 半自适应安全性
- 乌洛波洛斯 Praos (Ouroboros Praos) 接下来会在欧洲加密会议2018中发布。
- Praos实现了自适应安全和更快的信标生成。
- 现在,大约一个月前,乌洛波洛斯创世纪 (Ouroboros Genesis)发布了。
- 创世纪包含一个功能,使各方能够从从创世引导,解决动态可用性问题。
接下来,Kiayias教授介绍了IOHK采用和应用乌洛波洛斯(Ouroboros)的一些研究流。
权益池
- 挑战在于权益证明(PoS)需要权益持有者在线并参与协议执行。
- 相比之下比特币或工作证明(PoW)协议将权益持有者与协议参与者分开。
- 这对某些人来说可能是常识,但这是不可行的,因为你不能指望每个拥有硬币的人都想参与这样的程度。
- 所以如何解决这个问题?…允许权益池,让权益持有者可以代表他人。
- 如果没有解决这个问题,你会遇到只有一小部分感兴趣的权益持有者来参与的情况,这对于一功能性系统是不够的。
- 注意密钥的双重性与单一地址的关联(这对于PoS是独特的)。
- 双重性:你可消费的硬币和你参与协议的权益。
- 从加密的角度而言,你可以拥有相同的密钥来实现这些功能,但这样做存在一个缺点,因为权益密钥需要“热”储存(因此不能放在纸钱包等)。
- 另外,对于权益密钥,有三项特征:
- 基础地址 (base address):这是一个标准地址。拥有基础地址的好处是可保护隐私。来自同一个钱包的两个地址将难以区分,并可允许更高程度的隐私。但请注意,这种方式存在缺点,即权益时,需要用户付出更多的努力。
- 指针地址 (pointer address):没有独立的权益密钥,它只是指向并继承。指针地址将用于正常操作模式,因为基础地址可以拥有关联的指针地址(群),并且这仅需要单个地址的权益密钥。
- 企业地址 (enterprise address):不存在权益密钥(全部权益被提出)。该地址可用于交易所或企业商用。
创建一个权益池
- 权益池证书将用于命名该权益池,确定其管理成员的功能和细节,由多个权益密钥签名
- 签名可能来自带指针的指针地址 (pointer address)或基础地址 (base address)
- 每个基础地址 (base address)都有与其相关的权益(stake)。
- the amount of stake behind the certificate is a sum of all these stakes 证书背后的权益(stake)数额是所有这些权益(stake)的总和。
加入一个权益池
- 使用您的权益密钥来签署引用该权益池的委托证书。
- 权益池将由他们自己的权益+委托的权益组成。
- 权益池会由他们自己的权益+代理人的权益组成。
- 然后权益池会作为一个拥有总量的实体来运行一个节点。
权益池的挑战
- 第一个挑战是防止权益持有者集中到一个或少数几个池里。
- 这种现象并不好因为系统就将会变得中心化。
- 第二个挑战是Sybil攻击。
- Sybil攻击指在多个池子被注册但其实都掌控在同一个人手里的情况。
- 这种情况下,系统也会变得中心化,而且情况会更糟糕因为“看起来”好像系统里有多个实体,而实际上这些用户都是一个人。
激励措施
- 激励措施的需要是为了以下的权益池工作:
- 能够随时在线进行基础的协议任务。
- 检查什么时候权益池成员会在时隙中被选中并代表他们发行一个区块。
- 搜集并把交易记录转播到其他笔记中。
- 这项研究是为了设计出一种奖励计划,激励各方遵守协议。
- 拿比特币举个例子,该协议会用新的比特币及当前区块的交易费用来奖励发行新区块的矿工。
- 这种机制好吗?(有很大争议!)
- 比特币的协议存在很多问题,比如自私挖矿攻击。
- 自私挖矿攻击,简单说就是,一个自私的矿工为了在别的矿池前取得短期优势,而占有着一个区块的行为。
- 一个奖励计划的理想特点:大家从机制内部得到的回报应该会让他们不想离开协议,假设他们是理性的。
- 还有些别的方法,比如Casper会实行惩罚而不是奖励。
- 卡尔达诺协议的奖励计划是以纪元为基础的。
- 一个时隙是20秒,一个纪元包括21,600个时隙,总共有5天。
- 所以每5天就会有奖励。
- 奖励主要有两个来源:储备的140亿Ada,和交易费用。
- 这个论坛里有一个帖子已经用一个简单的算法解释了交易费:《总结:PoS委托以及激励(Lars Brunjes)》。
- 奖励发放方面,这种计划可以“自动”奖励权益池的领导以及成员们 (通过给予帐户信用 / UTXO’s)。
- 权益池的领导会宣布成本与净利率。
- 权益池的成员们则把他们的权益委托给权益池。
- 一种分配功能可以把权益池的奖励划分为账户成本,净利率,权益。
- Aggelos和他的研究团队已经做了很多演算和分析,研究怎样可以实现稳定的权益池分布。
侧链
- 这是现在IOHK正在进行的另一项研究工作流
- 侧链就是区块链之间沟通联系的渠道
- IOHK想要实现的是侧链参与独立性
- 卡尔达诺第一代侧链系统叫做Star Structure
- 该系统使用主链作为结算层
- 侧链能支持各种高级操作,比如运算层
- 多个运算层是可以共存的:KEVM, IELE, Plutus
- 乌洛波洛斯(Ouroboros)的侧链依靠的是一种叫做Threshold Multisignatures的密码原语
- 他们可以让侧链的权益持有者简洁地向主链维护人员示意侧链的状态
翻译:Mihori
关注卡尔达诺官方频道,我们将陆续推出最新活动视频。