V神:区块链五年前的16个难题都解决了吗?

区块律动BlockBeats view 56 2019-11-26 17:55
share to
Scan QR code with WeChat

本文是以太坊创始人 Vitalik Buterin 回看五年前发表的讨论加密货币生态的文章,原文中提到了 16 个问题,包括可扩展性、时间戳、算例证明、代码混淆、抗矿机、PoS、Proof of Storage、稳定资产、剩余系统、抗女巫攻击、去中心化成功等。现在 5 年时间过去了,曾经对加密货币生态至关重要的 16 个问题,如今都解决了吗?还有什么新的问题出现吗?

请下看下方全文:

特别感谢 Justin Drake 和 Jinglan Wang 的反馈

2014 年,我(原作者 Vitalik Buterin)发表了一篇关于数学、计算机科学和经济学的一系列硬核问题的文章和介绍,我认为这些问题,对于加密货币领域(我后来称之为)来说很重要。在过去五年里,发生了很大变化。但是,在我们当时认为重要的事情上,究竟取得了多少进展?我们在哪里取得了成功,在哪里失败了,哪里改变了我们的思想,以及什么是重要的?在这篇文章中,我将重新审视 2014 年提出的 16 个问题,来看看现在他们都有什么进展。最后,本文将阐述 2019 年将面临的艰难问题的新形式。

这些问题可分为三类:(1)密码学,如果希望能够被完全解决的话,可能是用纯粹数学方法解决的;(2)共识理论,工作量证明和权益证明,在很大程度上获得改进;以及(3)经济问题,因此,必须创建包含对不同参与者的激励的结构,并且常常涉及应用层而不是协议层。我们看到了在所有问题上都取得了重大进展,尽管问题之间取得进展的程度不同。

密码学问题

1、区块链可扩展性(Blockchain Scalability)

目前,加密货币领域中面临的最大问题之一是可扩展性问题。[超大型区块链网络] 的主要关注点是,信任:如果只有少数实体能够运行完整节点,那么这些实体可以进行合谋,来同意给自己提供大量额外的比特币,如果不是自己处理整个区块,其他用户就无法亲眼看到这个区块是无效的。

问题:创建一个类似于比特币的拥有安全保证的区块链网络设计,但需要维持网络功能的最强大节点的最大数量,在交易数量上基本上是次线性的。

现状:理论上的进展很多,但需要等待更多的实际应用评估。 

可扩展性是一个技术问题,我们在理论上已经有了很大的进展。五年前,几乎没有人想过分片技术;现在,分片技术的设计已经司空见惯。除了以太坊 2.0 之外,我们还有 OmniLedger、LazyLedger、Zilliqa,以及其他的研究论文,几乎每个月都会发表新进展。我个人认为,在这一点上取得的进步是循序渐进的。从根本上说,我们已经有许多技术,能够允许验证器节点组在比单个验证器节点可以处理的数据多得多的情况下,安全地达成共识,而且这些技术允许客户端间接验证区块的完整有效性和可用性,即使存在 51% 的攻击情况下也是如此。

(# 区块律动 BlockBeats 注:OmniLedger 是基于分片设计的区块链,目标是实现区块链设计中的不可能三角的平衡,提供安全的,分散的水平扩展,达到 1800 个验证者的 VISA 级吞吐量,每秒 6000 个交易,峰值为 50000。

(# 区块律动 BlockBeats 注:Zilliqa(ZIL) 的团队主要来自新加坡,计划以分片技术 (Sharding) 来解决区块链的扩容问题,2017 年 12 月,获得两千万美元 VC 投资,2019 年 1 月 31 日,Zilliqa 主网上线)

这些可能是最重要的技术:

随机抽样,允许一个随机形成的小型委员会在统计意义上代表完整的验证器节点集:https://github.com/ethereum/wiki/wiki/Sharding-FAQ#how-can-we-solve-the-single-shard-takeover-attack-in-an-uncoordinated-majority-model

欺诈证明,允许知道错误的节点向其他所有节点广播该错误的存在:https://bitcoin.stackexchange.com/questions/49647/what-is-a-fraud-proof

托管证明,允许验证器节点在一定概率下证明他们能够单独下载并验证一些数据:https://ethresear.ch/t/1-bit-aggregation-friendly-custody-bonds/2236

数据可用性证明,具有标题的区块体不可用时,允许客户端进行检测:https://arxiv.org/abs/1809.09044.另请参见更新版本的经过编程的 Merkle 树提案

还有其他一些较小型的开发,如通过接收进行的跨分片通信(Cross-shard communication),以及「常数因子(constant-factor)」进行增强,如 BLS 签名聚合。

(# 区块律动 BlockBeats 注:BLS 签名算法是一种可以实现签名聚合和密钥聚合的算法,即可以将多个密钥聚合成一把密钥,将多个签名聚合成一个签名。在以太坊未来的 Casper 中将实现这类签名聚合的算法。)

也就是说,完全分片的区块链网络,在实际操作中还没有出现(实现部分分片的 Zilliqa 最近已经开始运行)。而在理论方面,主要关于细节的争议,以及与分片网络的稳定性、开发者的经验、以及减轻中心化风险有关的挑战;基础技术实现的可能性,似乎不再存疑。但仍然存在的挑战是一些无法通过思考解决的问题;只有开发该系统、并实现以太坊 2.0,或其他类似的公链运营才能够克服。

2、时间戳(Timestamping)

问题:创建一个分布式激励兼容的系统,无论是在其他区块链基础上还是自己的区块链基础上,它都能将当前时间维持在高精度上。所有合法用户的时钟都是正态分布的,大约是 20 秒标准差的「真实」时间,没有两个节点相隔 20 秒以上,该方案允许依赖现有的「N 个节点」的概念;这将在实践中参照权益证明、或非 Sybl 代币来执行(详见 #9)。系统应持续提供一个时间,该时间应在大于 99% 诚实参与节点的内部时间的 120 秒(或尽可能短的时间)内。外部系统将最终依赖于此系统;因此,无论出于什么动机,它都应保持安全,以防攻击者控制<25% 的节点。

状态:取得一些进展。 

以太坊实际上存活得很好,只有 13 秒的出块时间,也没有特别先进的时间戳技术;它使用了一种简单的技术,即客户端不会接受其声称的时间戳早于客户端的本地时间的区块。也就是说,这并没有在严重攻击下的情况下得到检验。最新的网络调整时间戳提案,试图对现状进行改进,允许客户端在不是非常准确地知道本地当前时间的情况下,对时间达成共识。这一点尚未得到检验。但总的来说,目前时间戳还没有出现在未来研究难题的计划中;也许这将再次对权益证明的公链(包括以太坊 2.0,以及其他公链)作为真实实时系统上线进行改变,这也是我们看到的问题所在。

3、任意算力证明(Arbitrary Proof of Computation)

问题:创建程序代码 POC_PROVE(P,I) -> (O,Q) 和 POC_VERIFY(P,O,Q) -> { 0, 1 },这样 POC_PROVE 在输入 I 后运行程序 P,并返回程序输出 O,算力证明 Q 和 POC_VERIFY 接受 P,O 和 Q 以及输出值,无论 Q 和 O 是否由使用 P 的 POC_PROVE 算法合法生成的。

现状:理论和实践都有很大的进步。

这基本上是说,开发一个 SNARK(或 STARK,或 SHARK,或…),以及我们做到了!现在 SNARKs 已经被越来越多的人所了解,甚至已经应用在多个区块链网络中(包括以太坊上的tornado.cash)。SNARKs 非常有用,既可以作为一种隐私技术(参考 Zcash 和 tornado.cash),也可以作为一种可扩展性技术(参见 ZK Rollup、STARKDEX 和 STARKing 消除编码的数据根)。

(# 区块律动 BlockBeats 注:SNARK 是「Succinct Non-interactive ARgument of Knowledge」的缩写,通常与零知识证明结合,是隐私交易的底层基础技术,zk-SNARK 最有名的实际应用项目是 ZCash)

但在效率方面仍然存在诸多挑战;算法友好的哈希函数(请参阅此处和此处,以获取打破所建议的候选函数的奖金)就是一个大挑战,而有效地证明随机内存访问是另一个挑战。此外,还有一个尚未解决的问题,即验证时间中的 O(n*log(n))放大,是否是一个基本限制,或者是否有某种方法可以像防弹(bulletproofs)那样仅使用线性花销来进行简洁的证明(而不幸的是,这需要线性时间来验证)。现有的计划中也存在风险,一般来说,都是细节性问题,而不是基础性问题。

4、代码混淆(Code Obfuscation)

技术的圣杯,是创建一个混淆器 O,这样,给定任何程序 P,混淆器都可以产生第二个程序 O(P)=Q,这样,如果 P 和 Q 有相同的输入,那么 P 和 Q 就能返回相同的输出,而且,重要的是,Q 将不显示任何关于 P 内部的信息。你可以在 Q 里面隐藏一个密码,一个秘密的加密密钥,或者可以简单地使用 Q 来隐藏算法本身的特定工作。

状态:进展缓慢

用通俗易懂的英语来说,问题是,我们想要想出一种方法来「加密」一个程序,经过这样加密后的程序,仍然可以在相同的输入后得出相同的输出,但是程序的「内部」将被隐藏。混淆处理的一个示例用例是,一个包含私钥的程序,其中该程序只允许私钥对某些消息进行签名。

代码混淆的解决方案,对于区块链协议来说非常有用。这些用例是微妙的,因为必须处理链上混淆的程序,在不同于公链本身的环境中被复制和运行的可能性,但是存在很多可能性。我个人感兴趣的一点是,通过用一个包含一些工作量证明的混淆程序来替换操作员,将中心化操作员,从防共谋工具中移除,这使得在尝试确定单个参与者的行为时,使用不同的输入多次运行,变得非常昂贵。

不幸的是,这仍然是一个棘手的问题。针对这个问题存在一个持续进行的攻击,一方面构造(例如,这个)试图减少我们未知的数学对象的假设数量(例如,一般的密码多线性映射),另一方面,试图实现所需数学对象的实际实施。然而,所有这些途径仍然没有创造出可行的、已知的、安全的东西。请参阅 https://eprint.iacr.org/2019/463.pdf,了解关于该问题的一般性概述。

5、基于哈希的密码学(Hash-Based Cryptography)

问题:创建一个不依赖安全性假设的签名算法,但是相对于具有最佳大小和其他属性的经典计算机(即,基于 Grover 算法的 80 对量子),哈希值的随机预言机属性,只保持了 160 位的安全性。

状态:有一些进展。

自 2014 年以来,在这方面已经取得了两方面的进展。SPHINCS,一个「无状态」(意思是,多次使用时,不需要像 nonce 一样记住信息)的签名方案,在这个「硬核问题」列表公开后不久就发布了,它提供了一个大小约为 41kB 的纯哈希签名方案。此外,STARKs 已经被开发出来了,人们可以根据它们,创建相似大小的签名。事实上,不只是签名,还有通用的零知识证明,只需要哈希值就可以实现,这绝对是我五年前没有想到的;我很高兴这已经成为事实。这就是说,规模大小仍然是一个问题,而正在进行的进展(如,最近的 DEEP FRI)正在继续减少证明的规模,尽管进一步的进展看起来也是循序渐进的。

关于基于哈希的密码学,尚未解决的主要问题是聚合签名,类似于 BLS 聚合(BLS aggregation)所能实现的。众所周知,我们可以通过许多 Lamport 签名来创建一个 STARK,但这是低效的;一个更有效的方案将会是更加受欢迎的(如果您想知道使用基于哈希的公钥加密是否可行,答案是,不,您只能使用二次攻击花销

共识理论问题

6、抗 ASIC 的工作量证明(ASIC-Resistant Proof of Work)

解决这个问题的一种方法,是基于一种很难被专门化的计算类型,来创建一个工作证明算法。有关更多抗 ASIC 硬件的深入讨论,请参见 https://blog.ethereum.org/2014/06/19/mining/。

状态:尽可能地解决了。

在「硬核问题」列表发布 6 个月后,以太坊完成了它的抗 ASIC 的工作量证明算法:Ethash。Ethash 被称为「内存硬算法(memory-hard algorithm)」。该理论认为,常规计算机中的随机存取存储器,已经得到了很好的优化,因此很难在专门的应用中加以改进。Ethash 的目标,是通过使内存访问成为运行 PoW 计算的主要部分,来实现抗 ASIC。Ethash 并不是第一个内存硬算法,但它确实成为了一个创新点:它在两级 DAG 上使用伪随机查找,允许使用两种方法来计算函数。首先,如果拥有整个(约 2GB)DAG,就可以进行快速计算;这是内存硬的「快速路径」。第二,如果只有 DAG 的顶层,那么计算速度会慢得多(但仍然足够快,可以对一个提供的解决方案进行快速检查);这是用于区块验证的。

Ethash 在抗 ASIC 方面已经取得了巨大的成功;经过历时三年和数十亿美元的区块奖励后,ASIC 确实仍然存在,但充其量不过是 GPU 的 2-5 倍的功率和成本效益。ProgPoW 已经被提出作为一种替代方案,但人们越来越一致地认为,抗 ASIC 的算法,不可避免地存在有限的使用年限,而 A 抗 ASIC 也有缺点,因为它使得 51% 攻击变得成本更低(例如,请参阅针对以太坊经典的 51% 攻击)。

我相信,可以创建提供中等程度抗 ASIC 的 PoW 算法,但这种抗 ASIC 的程度是有限的,ASIC 和非 ASIC 的 PoW 都有缺点;从长远来看,更好的区块链网络的共识机制,应该是权益证明。

7、有用的工作量证明(Useful Proof of Work)

使工作证明同时起作用的,是一个类似于 Folding@home 的东西,一个现有的程序,用户可以下载软件到他们的计算机上,进行蛋白质折叠模拟,并为研究者提供大量的数据来帮助他们治疗疾病。

状态:可能不可行,但有一个例外。

有效的工作量证明的挑战在于,工作量证明算法需要许多属性:

难以计算

容易被验证

不依赖大量外部数据

可以有效地计算小型的区块

然而不幸的是,能够拥有所有这些属性的有用计算并不多,而且大多数具有这些属性且「有用」的计算,仅在很短的时间内「有用」,并且无法基于它们开发加密货币。

然而,存在一个可能的例外:零知识证明的形成。对于区块链技术有效性方面的零知识证明(例如,简单示例中的数据可用性根)难以被计算,也很容易被验证。此外,它们是难以计算的;如果「高度结构化」计算的证明变得太容易,人们就可以简单地对验证区块链的整个状态进行转换,这将由于需要对虚拟机进行建模和随机内存访问而变得成本极高。

区块链有效性的零知识证明,为区块链用户提供了巨大的价值,因为他们可以替代对链进行直接验证的需要;Coda 已经在这样做了,尽管它采用的是简化的区块链网络设计,并为可证明性进行了大量优化。这样的证明机制,可以大大帮助提高区块链网络的安全性和可扩展性。也就是说,实际需要完成的计算总量,仍然远远小于目前由工作量证明矿工完成的数量,因此这最多只是成为一个用于权益证明区块链网络的附加组件,而不是一个完全一致的算法机制。

8、权益证明(Proof of Stake)

解决挖矿中心化问题的另一个方法,是完全消除挖矿机制,并转为使用其他一些机制来计算共识机制中每个节点的权重。迄今为止,讨论中最受欢迎的替代方案是「权益证明」,也就是说,它不再将共识机制视为「一个 CPU 功率单位代表一票」,而是变成「一个货币单位代表一票」。

现状:取得很大的理论进展,有待于更多的实际应用评估。

接近 2014 年底,权益证明社区清楚地认识到,某种形式的「弱主观性」是不可避免的。为了维护经济安全性,节点在第一次同步时,需要获得最新的检查点附加协议,如果离线超过几个月,则需要再次获得。这是需要面对的很多困难:许多 PoW 的拥护者仍然力挺 PoW,正是因为在 PoW 链中,只有来自区块链客户端软件本身的可信来源的数据,才能发现区块链的「头」。然而,PoS 的拥护者却愿意面对这些困难,因为他们认为,增加的信任需求并不大。从那以后,通过长期安全抵押的权益证明的途径变得清晰起来。

目前最有趣的共识算法,基本上与 PBFT 相似,但是用一个动态列表来替换固定的验证器节点集合,任何人都可以通过将代币发送到一个系统级的智能合约中,来加入该动态列表,该智能合约具有时间锁定的代币取出功能(例如,在某些情况下,代币取出可能需要 4 个月才能完成)。在许多情况下(包括在以太坊 2.0),这些算法通过对以某些方式对违反协议的行为的验证器进行惩罚,来实现「经济的最终性」(参见此处,以获得有关权益证明的哲学观点)。

到目前为止,我们(在许多其他算法中)有:

Casper FFG: https://arxiv.org/abs/1710.09437

Tendermint: https://tendermint.com/docs/spec/consensus/consensus.html

HotStuff: https://arxiv.org/abs/1803.05069

Casper CBC: https://vitalik.ca/general/2018/12/05/cbc_casper.html

改进在不断进行中。Eth 2 第 0 阶段,是实现 FFG 的链,目前正在实施中,并且已经取得了巨大的进展。另外,Tendermint 已经以 Cosmos 链的形式运行了几个月。在我看来,关于权益证明的其他争论,是与优化经济激励机制,以及进一步规范以应对 51% 攻击的战略有关。此外,Casper CBC 规范,仍然可以使用具体的效率改进。

9、储存证明(Proof of Storage)

解决这个问题的第三种方法,是使用计算能力或货币以外的稀缺计算资源。在这方面,已提出的两个主要备选方案是,存储和带宽。原则上,没有办法提供一个事后的加密证明,能够证明带宽是给定的或使用的,因此带宽证明,最准确地应该被视为是社会证明的一个子集,在后面的问题将进行讨论,但是存储证明,肯定可以通过计算来完成。存储证明的一个优点是,它完全抗 ASIC;我们在硬盘驱动器中的存储类型已经接近最优状态。

现状:理论上有了很大的进展,虽然还有很多工作要做,也还需要更多的实际应用的评估。

有许多区块链网络计划使用存储证明协议,包括 Chia 和 Filecoin。也就是说,这些算法还没有在现实中测试过。我个人主要关心的是中心化问题:这些算法,究竟是由使用剩余存储容量的较小用户主导,还是由大型矿场主导?

经济问题

10、稳定价值的加密资产(Stable-value cryptoassets)

比特币的主要问题之一是,价格波动。问题:构造一个价格稳定的加密资产。

状态:取得一些进展。

MakerDAO 现在还活着,并且已经稳定运行将近两年。它在标的担保资产(ETH)价值下跌 93% 的情况下,幸免于难,目前发行的 DAI 已超过 1 亿美元。它已经成为以太坊生态系统的支柱,许多以太坊项目已经或正在与之进行整合。其他合成代币的项目,如 UMA,也在迅速发展。

然而,尽管 MakerDAO 系统在 2019 年艰难的经济条件下幸存下来,但目前绝不是可能发生的最艰难的情况。过去,比特币价格在两天之内下跌了 75%;以太币或其他任何抵押资产,也可能在某一天发生同样的情况。对基础区块链网络的攻击,是一个未经测试的更大的风险,尤其是在价格同时下降的情况下。另一个主要的挑战,也可以说是更大的挑战,是类似 MakerDAO 的系统的稳定性,依赖于一些底层预言机方案。预言机系统的不同尝试确实存在(见 #16),但仍不清楚他们能否承受大量的经济压力。到目前为止,MakerDAO 控制的抵押品,已经低于 MKR 代币的价值;如果这种关系逆转,MKR 持有者,可能拥有集体动机来尝试「掠夺」MakerDAO 系统。虽然有很多方法可以防止此类攻击,但它们并没有经过现实测试。

11、去中心化公共品激励(Decentralized Public Goods Incentivization)

经济体系中普遍存在的问题之一,是关于「公共品」的问题。例如,假设有一个科研项目,需要花费 100 万美元才能完成,并且大家都知道,如果它完成了,那么最终的研究成果,将为每个人节省 100 万美元。总的来说,带来的社会效益是显而易见的。[但是] 从每一个人的个人角度来看,做出贡献是没有意义的。到目前为止,关于公共品的大多数问题,都涉及中心化的附加假设和要求(Additional Assumptions And Requirements):即,存在一个完全可信的预言机,用于确定某项公共任务是否已经完成(实际上这是错误的,但这是另一个领域的问题)。

(# 区块律动 BlockBeats 注:预言机,Oracle,是一种智能合约,它允许区块链连接到任何现有的 API,允许使用来自区块链的传统支付网络来进行支付,并允许智能合约和其他区块链的交互)

状态:取得一些进展。

一般认为,公共品的资金问题分为两部分:资金问题(从哪里获得公共品的资金),和偏好集合的问题(首先,如何确定什么是真正的公共品,而不是某个人的宠物项目)。这个问题尤其关注的是前者,并假设后者已经解决(关于这个问题,请参见下面的「去中心化贡献指标」部分)。

总的来说,这里没有太大的新突破。有两大类解决方案。首先,我们可以尝试吸引个人贡献,即对于人们这样做,给予一些社会奖励。我个人的提案是,通过边际价格歧视进行慈善活动,就是一个例子;另一个例子,是 Peepeth 上的抗疟疾捐赠徽章。其次,我们可以从具有网络效果的应用程序中收集资金。在

blockchain land 上,有几种选择:

发行加密货币

在协议级上,收取部分交易费用(例如,通过 EIP 1559)

从某些 layer-2 应用程序(如,从 Uniswap 或某些扩展性解决方案,甚至从以太坊 2.0 中的执行环境的状态租金)收取部分交易费用

收取其他费用的一部分(如,ENS 注册费)

在 blockchain land 之外,这只是一个古老的问题:如果你是政府,将如何征税;如果你是企业或其他组织,将如何收费。

12、声誉系统(Reputation systems)

问题:设计一个正式的声誉系统,包括一个评分代表 (A,B) -> V,其中 V 是从 A 的角度来看 B 的声誉,一方确定另一方可以被另一方信任的概率机制,以及给定一个特定开放或最终交互记录的信誉更新机制。

状态:进展缓慢。

自 2014 年以来,声誉系统方面的进展并不多。也许最好的方法,是使用代币管理的注册表,来创建可信任实体/对象的管理列表;Kleros ERC20 TCR(是的,这是一个合法 ERC20 代币的代币管理注册表)就是一个例子,甚至还有 Uniswap(http://Uniswap.ninja)的另一个接口,使用它作为后端,来获取代币列表、代码和标志。拥有主观多样性的声誉系统,并没有被真正的尝试过,也许是因为关于人们相互联系的「社会关系图」还没有积累足够的信息,而这些信息已经以某种形式发布到链上了。如果这样的信息,由于其他原因而开始存在,那么主观声誉系统,可能会变得更受欢迎。

13、优秀证明(Proof of excellence)

有一个有趣的,而且基本上未被探索的解决方案,尤其是涉及 [代币] 分配的问题(有一些原因,导致它不能如此容易地进行挖矿),是采用社会性有用的任务,但需要原始的人类驱动的创造性努力和才能。例如,人们可以提出一种使用「证明的证明(proof of proof)」的加密货币,奖励玩家提出某些定理的数学证明

现状:没有进展,问题基本被遗忘。

替代代币分发的主要替代方法是,空投;通常代币在网络上线时,按比例分配给现有的其他代币持有,或者基于其他指标(如,握手(Handshake)空投)。还没有真正的尝试直接对人类的创造力进行验证,但随着人工智能的最新发展,创建一个只有人类才能完成,但计算机无法验证的任务的问题,可能太难了。

原文序号为 15 抗女巫攻击的系统(Anti-Sybil systems)

一个与声誉系统问题有点关系的问题,是对于创建「唯一身份系统」的挑战,一个生成代币的系统,该代币证明身份不是 Sybil 攻击的一部分。不过,我们希望有一个比「一美元一票」更好的、更平等的制度;可以说,一人一票是最理想的。

状态:取得一些进展。

在解决人类特有的问题上,已经有过不少尝试。想到的尝试包括(不完整的列表!):

HumanityDAO: https://www.humanitydao.org/

Pseudonym parties: https://bford.info/pub/net/sybil.pdf

POAP ("proof of attendance protocol"): https://www.poap.xyz/

BrightID: https://www.brightid.org/

随着人们对二次投票(quadratic voting)和二次融资(quadratic funding)等技术越来越感兴趣,人们对于基于人的反 sybil 系统的需求继续增长。希望这些技术进展和新技术的不断发展能够实现它。

原文序号为 14去中心化贡献指标(Decentralized contribution metrics)

不幸的是,刺激公共品的生产,并不是中央集权能够解决的唯一问题。另一个问题是,首先要确定,哪些公共品是值得生产的,其次要确定,某一特定努力在多大程度上实际完成了公共品的生产。这一问题涉及后面另外一个问题。

状态:取得一些进展,有一些重点的改变。

最近关于确定公共品的贡献价值的工作,并没有尝试将确定任务和确定完成质量分开,原因是,在实践中两者很难分开。特定团队所做的工作,往往是不可替代和主观的,因此最合理的方法是,将任务的相关性和绩效质量作为一个整体来看待,并使用相同的技术来对两者进行评估。

幸运的是,在这方面已经取得了很大进展,特别是对二次融资的探索。二次融资是一种机制,个人可以向项目捐款,然后根据捐款的人数和捐款放入数额,用一个公式来计算,如果他们彼此完全协调(即,考虑到彼此的利益,而不是成为公地悲剧的牺牲品)他们会捐多少钱。任何特定项目的捐赠金额与实际捐赠金额之间的差额,将作为某个中央资金池的补贴提供给该项目(中央资金池的资金来源见 #11)。注意,这个机制关注的是,满足某个社区的价值观,而不是满足某个给定的目标,不管是否有人关心它。由于数值问题的复杂性,这种方法很可能对未知的未知数,具有更强的鲁棒性。

在最近的 gitcoin 二次融资轮次中,二次融资甚至在现实中进行了尝试,并取得了相当大的成功。在改进二次融资和类似机制方面,也取得了一些循序渐进的进展,特别是在减少串通的成对有界二次融资(pairwise-bounded quadratic funding)方面。此外,还进行了规范和实施抵制贿赂投票技术的开发,防止用户向第三方证明他们投了谁的票;这能够防止多种类型的串通和贿赂攻击。

16、衡量去中心化成功的指标(Decentralized success metrics)

问题:提出并实施一个去中心化的方法,来测量数字现实世界的变量。该系统应该能够测量任何人类目前能够达成大致共识的东西(如,资产价格、温度、全球二氧化碳浓度)

状态:取得一些进展。

这通常被称为「预言机问题」。目前以去中心化预言机运行的、已知的最大型实例是 Augur,它已经处理了价值数百万美元的押注结果。代币管理的注册中心,例如,Kleros TCR 就是另一个例子。然而,这些系统仍然没有进行针对分叉机制的实际测试(在这里搜索「主观主义(subjectivocracy)」),这可能是由于这是一个极具争议的问题,也可能是出于 51% 攻击企图。此外,还以「同行预测(peer prediction)」文献的形式,对区块链领域外的预言机问题进行了研究;请参见此处了解该领域的最新进展。

另一个迫在眉睫的问题是,人们希望依靠这些系统,来引导数量大于系统固有代币经济价值的资产转移。在这种情况下,理论上,代币持有者有动机进行串通,从而给出错误的答案来窃取资金。在这种情况下,系统将进行分叉,原始系统的代币很可能变得毫无价值,但原始系统的代币持有者,仍将从他们误导的任何资产的转移中获得回报。稳定币(见 #10),是一个特别令人震惊的例子。解决这一问题的一个方法,是假定存在利他主义的诚实数据提供者,并创建一种能够识别它们的机制,并且只允许它们缓慢地进行运作,以便如果恶意用户开始投票,依赖于预言机系统的用户,可以首先完成有序退出。无论如何,预言机技术的进一步发展,是一个非常重要的问题。

产生的新问题

如果我在 2019 年再写硬核问题清单,有些是上述问题的延续,但重点会有发生很大变化,也会出现重大新问题。以下是一些列举:

加密混淆:与上述 #4 相同

正在发展的后量子密码学:既基于哈希,也基于后量子安全的「结构化」数学对象,如椭圆曲线等深线(elliptic curve isogenies),格密码(lattices)。。。

反合谋基础设施:正在发展和改进的 https://ethresear.ch/t/minimal-anti-collusion-infrastructure/5413,包括增加对节点运营商的隐私,以最大实用的方式增加多方计算等。

预言机: 与上文 #16 一样,但取消了对「成功指标」的强调,而将重点放在了「获取真实数据」的一般问题上

独特的人类身份(或者,更现实地说,半独特的人类身份):与上面的 #15 一样,但强调的是,一个不那么「绝对」的解决方案:得到两个身份比得到一个身份要困难得多,但得到多个身份既不可能,也有潜在的危害,即使我们成功了

同态加密和多方计算:实用性仍需不断改进

去中心化的治理机制:DAOs 很酷,但是现在的 DAOs 仍然很原始;我们可以做得更好

完全正式化对 51% PoS 攻击的响应:持续进展和改进https://ethresear.ch/t/responding-to-51-attacks-in-casper-ffg/6363

更多的公共品资金来源:理想的做法是,对具有网络效应的系统内部的拥挤资源(如,交易费用)进行收费,但在去中心化系统中这样做,需要公共合法性;因此,这是一个社会问题,同时也是一个寻找可能来源的技术问题

声誉系统:与上文 #12 相同

一般来说,基础层的问题是缓慢的,但肯定会减少,但应用层的问题只是刚刚开始。

btcfans公众号

Scan QR code with WeChat

Disclaimer:

Previous: 技术贴:教你在Unity中更新智能合约数据 Next: Filecoin主网即将上线,它与其背后的创始人有什么故事?

Related