论文笔记Proofs-of-delay and randomness beacons in Ethereum-2017IEEE S&B Workshop

Posted Anyanyamy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了论文笔记Proofs-of-delay and randomness beacons in Ethereum-2017IEEE S&B Workshop相关的知识,希望对你有一定的参考价值。

论文作者:Benedikt B¨unzy, Steven Goldfeder,Joseph Bonneauy  Princeton University,  Stanford University

论文源代码:https://github.com/bbuenz/VerifiableBeacon

作者个人网站:https://crypto.stanford.edu/~buenz/publications/

论文简介:We show how one can generate an unpredictable randomness beacon that is publicly verifiable using a blockchain. The beacon can be used to verify the correct execution of randomized algorithms such as lotteries. The novel property of the beacon is that it is publicly verifiable in that a verifier is convinced that the beacon was unpredictable even if she did not partake in the generation of the beacon and without any trust assumptions. We also show how we can enable interactive verification using an efficient smart contract.

本文介绍了利用区块链来生成公开可验证的不可预测随机数。该随机数(beacon信标)可以用于验证随机算法是否正确执行,并且具有可被公开验证的特性,本文介绍了如何利用智能合约来完成交互式验证过程。

 

Abstract

利用区块链中的值来作为随机数可能被矿工控制。我们可以用 delay function 延迟函数来增加随机数的安全性。

本文中用以太坊作为环境,提出了一个利用 refereed delegation model 来验证延迟函数的多轮协议

文中评估了生成一个随机数的代价大概为180000gas,进行协议认证的代价为720000gas,并讨论了激励问题。

 

I. Introduction

很多密码学应用需要随机数,Rabin首次提出了 randomness beacon 随机信标的概念,它能产生不可预测的随机值。

传统的随机信标方法有:引入可信第三方 trusted third party 或者 利用 commit-and-reveal 从半诚实的 semi-trusted 多方获取随机数。但是要防止恶意的参与者,这需要可证明机制 provably verifable secret-sharing technique 或者 经济惩罚措施。

A. manipulating blockchain-based beacons

直接用区块链的值可能被矿工控制,可能遭受 network-manipulation attack (块很容易冲突,其他矿工可以不费代价来选择要哪一块,攻击者可以控制网络来阻止不想要的随机数结果) 和 block-withholding attack(矿工丢弃不想要的随机数的块)。

B. Preventing manipulation using delay functions

为抵抗上述两种攻击,本文利用延迟函数,使得矿工不能提前计算出随机数的结果,等攻击者想发起攻击影响随机数时,随机数已经公布出来,无法改变随机数。

延迟函数:需要花费一定时间计算,顺序进行,验证比计算更快。例如做开平方这个操作。

C. Our contributions

1. 提出并实现了一个随机数信标的协议,由 maintainer 来计算延迟函数的结果,把结果传到合约中,利用 challenge协议 来证明这个maintainer的随机数结果是正确的。

The basic idea is that a designated authority (a beacon maintainer) computes a delay function and publishes the result to a smart contract providing queryable access to the beacon results. Trust in this authority is mitigated by the use of a challenge protocol that any third party can initiate to prove that the authority has published an incorrect beacon result.

2. 分析了运行随机信标的激励机制,讨论了其中的经济机制和惩罚措施等。

 

II. PROTOCOL

1. 定义函数 f 是线性可组合的 compositionally-sequential,没有其他算法能加速计算,只能重复计算n次。

maintainer 会计算出结果 y = F(X),保存在合约中,现在要分析其可信程度。最简单的就是重新计算一次结果 y,但是很耗时。

Refereed delegation model:如果y错误,押金会没收。本文设计的协议使得单个验证者可以检查 y 是否正确。

Our goal is to make it efficient for independent verifiers (or referees) to check that the computation was performed correctly.

1) One-round refereeing protocol:   

总共要进行 t 次 f 函数计算,prover公开 k 个checkpoint 检查点的结果,i 从1~k,检查间隔为 t/k,y0 = x 

verifier 发现(4)式不成立时,就可以判定结果y不正确。

优点:

1. 计算可以并行,最多用 k 个处理器,有   可以并行计算

2. 合约可以用 m = t/k 次计算 f 来检查verifier的判定结果是否正确,只需要验证verifier所说的(4)式是否真的不正确。

3. prover只需要上传k个检查点,verifier的结论很容易被验证。

缺点:上传k个检查点,很贵,因此需要权衡 m(验证一个检查点需要的f计算次数)和 k(上传检查点格式)

2) n-round refereeing protocol: (这里最好看原文)

prover想要声明某一对   ,  的值是不正确的,即  其实也就是要提供一个 

本文设计n轮协议,prover和verifier的角色不断交换,互相公开一些检查点,直到检查点的距离到达m,能用合约直接进行验证

本协议能保证:

如果 y = F(x),那么诚实的prover不可能被挑战成功。

如果y != F(x),那么诚实的challenger一定能成功进行挑战 challenge.

3) Efficiency:

prover总共完成的工作  ,m是循环次数,k个检查点,n轮协议

总共发给合约 k*n 个检查点,和 n 个 challenged checkpoints (每个值都属于 1~k)

 

V. COSTS AND PARAMETERS

i5 CPU + OpenSSl,用了solidity的编译指令,参考 https://solidity.readthedocs.io/en/v0.5.3/assembly.html 

选择参数使得维护一个随机数服务和发现错误结果的成本最低。

A. Selecting the delay function f

hash函数:keccak256(SHA-3)消耗40gas,SHA-256消耗76gas

开平方根:512位和1024位的模数

下标展示了不同的 f 的计算代价和验证代价

B. Parameter selection and cost estimation

选择 t=2^40,差不多要一个小时计算,还要选择k,m,建议选择k=2^4, m = 2^8

以上是关于论文笔记Proofs-of-delay and randomness beacons in Ethereum-2017IEEE S&B Workshop的主要内容,如果未能解决你的问题,请参考以下文章

EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES 论文笔记

Visualizing and Understanding Convolutional Networks(ZFNet网络)-论文阅读笔记

MobileNetV2: Inverted Residuals and Linear Bottlenecks(MobileNetV2)-论文阅读笔记

联邦学习笔记-《Federated Machine Learning: Concept and Applications》论文翻译个人笔记

【CV论文笔记】Mask R-CNN之RoIAlign理解

A_Machine_Vision_Apparatus_and_Method_for_Can-End_Inspection-论文阅读笔记