预言机(oracle)是真正的智能合约

2015-9-12 作者: Paul Sztorc https://www.truthcoin.info/blog/contracts-oracles-sidechains/

智能合约需要Oracles,Oracles需要治理,治理需要侧链。以太坊不能支持Oracles,也没有什么用处。

手铐给你力量-AutonomyCoordination的权衡 #

一些自由是相互矛盾的。通过压制相互矛盾的自由,总体自由实际上可以增加。

Some freedoms contradict each other. By oppressing contradictory freedoms, total freedom can actually increase.

如果你已经相信这个(明显的)前提,请跳过这一节(至 “以太坊的无政府状态”)。

在极端情况下 #

想象一下这样一个世界,我们都有能力(“自由”)折叠一架 “神奇的纸飞机 “并将其抛向天空,此时它将神奇地飞向太阳,并进入太阳……导致太阳神奇地爆炸,摧毁这个星球上的所有生命。

显然,在这个世界上,政府将(以最大的努力)扫描天空中的纸飞机,用远距离太空激光器(或其他东西)烧毁它们,然后追踪那些责任人。

社会会如何对待被抓到的扔这种末日飞机的人?至少要把他们关进监狱。如果其他物体(烟花、风筝、棒球……)干扰了飞机扫描系统呢?显然,这些以前享受过的活动都将被完全禁止。我们会失去一些 “自由”,这很可悲。

但是,死人做任何事都不 “自由”(“任何事 “包括 “烟花”),所以不禁止就更悲哀。

在我们的社会中 #

这种 “限制选择以使其最大化 “的故事每天都在上演,其极端程度并不高。

知识产权/版权是一个例子:如果盗版商可以复制原版《星球大战》(1979年)并以低成本={他们的劳动+空白VCR}出售,这些销售将具有竞争力(保证这个人有工作),他们将倾向于取代所有原版《星球大战》的销售(必须以高成本={低成本+电影制作成本}出售)。

这个看似不错的 “廉价星战VCR “方案的问题是,乔治-卢卡斯不会有(也无法得到)任何资金来制作《帝国反击战》。事实上,从这时起,没有人/会制作大预算电影。 虽然我们/可能/曾享受过以5美元的盗版价格购买《帝国反击战》的选择(“自由”),但现在我们意外地阻止了它的存在,我们没有选择以5美元或任何价格购买它。 同样,通过限制一个选项(购买盗版),我们实际上增加了全部选项。只要我们知道盗版选择真的会杀死相关项目(而且对它的限制不会导致不想要的 副作用,*这个限制对所有人都有明确的帮助!*

在自然界中 #

就像几乎所有的事情一样,大自然是领先于我们的。每只蜜蜂都不得不牺牲自己(容易替换的)生命来保护(不太容易替换的)蜂巢/蜂王。同时,许多社会性哺乳动物都经历过情感,这些情感会阻止自私的 “自主 “行为,但(被动地)引起协调的群体行为。

(上图)格兰特博士本能地保护一些幼童免受迅猛龙的攻击,《侏罗纪公园》(1993)。这是自杀行为,但如果他让那些小孩子出事,他就无法接受。我们更喜欢他,如果可以的话,我们会帮助他(特别是如果我们未来的伙伴在看)。

考虑一下癌症的折磨:当单个细胞 “挣脱 “其生长限制时,它们最终会导致其居住的有机体死亡(在此过程中杀死自己)。

甚至乔治-奥威尔,自由战士,博士,理解士兵的命令 “必须服从”。

以太坊的无政府状态 #

以太坊允许/任何人/对/任何事情/制定一个智能合约。换句话说,它没有能力沿着自主性-协调性的权衡进行智能移动。它所提供的自主权实际上会阻止许多事情的发生。

从现在开始:

  • “合约 “指的是 “一套在区块链上自我执行的账本修改指令”(即,“如果x向y发送>9000美元,则向z发送20美元”)。
  • “Oracle “指的是 “区块链软件向人类询问信息”(即,软件提示 “根据X,昨天的美元/BTC汇率是多少?")。
  • “侧链 “指的是”双向挂钩的区块链 (这2100万个BTC只能改变质量,不能改变数量),这也是合并挖矿(比特币矿工可以自由选择在任何或所有侧链上开采)"。
  • 术语 “Ethereum “可与 “任何具有非许可式智能合约创建功能的智能合约平台 “互换。

(…除非另有规定)。这将为我们节省一些空间。

诚实的Oracles需要多收费 #

自由市场使用 “品牌 “作为信誉的有力指标(允许商人为商品 “增加 “质量并 “出售 “它),但如果竞争对手可以自由复制,这些品牌就不起作用。

骗我一次 #

在所有有趣的情况下,Oracles今天会有撒谎的动机(如果他们不撒谎,我们根本不需要担心他们,可以安全地使用multisig)。然而,我们有时可以用更大的激励来压倒这种撒谎的动机,使其保持诚实。

如何做到?考虑一下Oracle的功能:在Oracle发布其工作之前,同样的没有东西 被任何人观察到。在它提交之后,对结果做任何事都已经太晚了!

显然,我们必须以某种方式/使用多个结果/……但多个结果在同一时间交付,都会同时受到攻击(通过简单的加法证明,或任务重定义)。真正的诀窍是跨时间使用多个结果:预言机有它的要失去的未来。

为什么,“诚实 “的概念本身要求"记忆”(和 “身份”)。 然后,我们的重点是这个非常有趣和非常普遍的立场:不遵从是短期可盈利的,但是一段漫长的服从会产生更大的总福利。一个群体可以收获这种盈余并将其分配出去,有效地协调他们相互繁荣的共同未来

但如果没有稳定的身份(“品牌”),就没有办法记住过去 “谁 “遵守了。如果你每轮都与一个新的不露面的玩家配对,“你的互动 “并没有真正 “重复”;你还不如在同一时间玩所有的回合;“长期运行 “是不存在的。

因此,我们需要长期盈余的存在(它通常是这样的),我们需要一种方法来把盈余送到正确的人手中。请牢记这一点。在从博弈论领域重述上述内容后,我们将直接进入主题。

“我们需要钱。” -机制设计 #

机制,包括所有会准确产生外部数据的机制,都试图满足几个理想的条件,但是,根据基础数学理论(以及取决于具体内容,设计师通常不能全部满足,必须选择一个来打破

practice 中,有两个条件实际上是无法打破的(“激励相容性 “和 “个人理性”),但典型的第三个条件已经成熟,可以打破:“平衡预算”,它假定机制不需要自己支付任何钱(即钱盆实验中现金的 “加倍”)。

“获得外部数据的机制 “将需要支付数据提供者,不仅是为了他们的时间努力,也是为了他们的诚实和合作 (他们的 “品牌”)。

然而,这意味着,相对于 “盗版 “信息的寄生虫而言,信息提供者总是需要得到多的报酬。这个问题在根本上是不可避免的。

说到不可避免:

以太坊不能过度收费 #

什么都可以做! #

以太坊允许用户创建他们想要的任何"智能合约”,而不需要重新做建立新的矿工社区、完整节点或用户的(艰苦)工作。 正如你可能想象的那样,我被这个想法吓了一跳。首先,我刚刚花了11月的时间来确保我自己的项目不会在无意中创造暗杀市场。在对比中,以太坊似乎甚至不知道它是干什么的更不用说 关心

当然,今天的重点是,*无许可式*的智能合约系统引入了激励机制的矛盾,从而破坏了所有有趣的用例。

寄生虫合同 #

请看这个智能合约的纲要。

  1. 提供一个预先确定的 “host"Oracle合约的所有功能。
  2. 等待Oracle的报告。换句话说。
    1. 访问主机的区块链的数据库(通过跟踪区块编号、区块日期、SPV证明等内容)。
    2. 扫描数据库中任何与主机Oracle获取的外部数据完全相关的东西(合同状态,对某些地址的支付)。
  3. 使用该主机数据来改变寄生虫的状态(无需向主机支付任何费用)。

正因为如此,任何主机(外部-数据合同)如果不被寄生虫入侵并被吸食致死,就不能发展到相当大的规模。虽然制作一部盗版电影至少需要犯罪分子付出一些努力,而且电影比原版有一些劣势,但这些寄生虫几乎是免费制作的,而且有能力完美地模仿他们的宿主。

(可能)没有什么可以解决这个问题 #

我们如何防止以太坊支持寄生虫合约?这些只是扫描他们自己的区块链的数据的合约。他们不需要了解host Oracle,只需要了解它的行动。最终,人们甚至可以建立第二个以太坊来规避任何强加的限制,或者一个 “寄生甲骨文”,它使用人类来获取(分批)目标数据。 我认为这根本不可能解决。契约的普遍性是问题所在:契约的力量,包括像比特币这样的社会契约,就是它们是对自由的相互限制。比特币是关于不允许你做什么(花别人的钱,造假,等等)。 当然,单一链可能会执行一套全球最优的规则,但谁来决定这些规则?在没有中央管理员的情况下,我们如何管理允许性和安全性之间的权衡?如果在哪些规则应该被包括在内的问题上存在大的争议,谁应该解决这个问题?

好了,现在我不再抱怨破的东西,而是向你展示一个可能会成功的想法。

Sidechains-全球合约 #

使用侧链,一群去中心化的自利矿工可以消除硬币能力中的矛盾,从而使总的硬币能力最大化。

比特币的有限政府 #

侧链的世界有理想的全球激励机制,以实现繁荣的区块链-宇宙。矿工协调全球的 “法律”,受一个明确的原则所支配:最大化他们所挖的比特币的总销售价值。这个管理原则对用户来说是可取的:当矿工[1]构建一个 “侧链组合”,向用户提供 最有用的*比特币(以汇率衡量),并[2]优化这些有用比特币的使用(以交易费用衡量),销售价值就会最大化。

这基本上是将 “用户对安全、有用的加密货币功能的偏好 “完美地委托给一个管理机构。特别是由于我的期望是,活跃的侧链数量非常少(少于10个),使决策过程非常直接。

很酷,对吗?

垄断暴力 #

到目前为止,一切都很好 #

Peter Todd强调一个关键的侧链特征。*矿工可以摧毁/偷窃–从他们合并挖矿的任何侧链*/……不需要直接成本/。但坏事也有好处:矿工(作为一个团体)可以并且/应该/审查任何威胁到 “侧链组合 “价值的侧链(或对其产生多余的影响)。

考虑到 “有用的侧链”(那些增加每个比特币的市场价值的侧链)。对于这些,矿工不太可能51%攻击侧链,原因与他们还没有51%攻击比特币主链的原因相同:一个失败的攻击会让矿工付出代价(在浪费的哈希值的机会成本中),而一个成功的攻击也会让矿工付出代价(在奖励给矿工的比特币贬值,以及相应的采矿投资回报率下降)。事实上,在认可了侧链之后,挖矿社区突然背叛它,几乎肯定会让人质疑他们的总体可靠性。

法律的长臂 #

不合并挖矿的挂靠侧链是什么情况?这样的侧链能逃脱合并挖矿者的管理吗? 谁在乎呢?非合并者不会得到每10分钟25BTC的coinbase;他们只会得到交易费。因此,hashrate很可能在任何时候都是压倒性的不安全。[1]一开始,当交易量为零时,[2]如果交易量曾经下降到零/出于任何原因,在未来的任何时间/,或者[3]如果/比特币汇率突然上升/(使盗窃汇集的资金更有利可图),出于任何原因,在未来任何时间。

每个挂钩的侧链都需要一个有风险的BTC库。一个不可靠的hashrate使得最初的BTC很难找到。一旦找到,这些BTC可能会在任何时候消失,仅仅因为关于未来tx-fee问题的传言(即将发生的盗窃,新的竞争,与对手矿工的分歧,政府行动,…)。

因此,只要比特币社区与比特币挂钩,就可以防止全球低效(“寄生”)的侧链。

那么Altcoin智能合约(既没有挂钩也没有合并挖矿)呢?

造假者 vs 资本家 #

选择性侧链可以安全地模仿智能合约,但反过来就不可能了。如果再加上货币的网络效应,由此产生的竞争将可能抹杀任何Altcoin智能合约系统。

让我们研究一下区块链的这两个 “家族 “的相对情况。Oracle家族(由矿工管理的BTC挂钩的侧链)和Contract家族(非合并的Altcoin,什么都可以)。

Oracles Are Smart Contracts #

希望显而易见:每一个你可以问电脑的问题(“2+2”),你都可以问人类(“什么是二加二?")。事实上,你总是可以要求人类去问他们的(希望是1999后的)/计算机/。

Oracles可以超越Contracts,并做很多很多其他事情(例如,通过 “BTC/USD汇率是多少?"、“黄金价格是多少?“等来挖掘有用的金融数据源)。

有人可能会说,问一个人比问一台电脑 “更贵”。也许,也许 . 此外,Oracles可以实际上只是计算机。我在这里概述的唯一要求是,Oracles必须被 “付足够的费用 “(补偿除了他们的劳动和诚实)。他们不需要是人类。

“自省的以太坊 “能够生存吗? #

所有侧链的一个共同问题,包括 “寄生 “的侧链,是维护软件涉及的巨大费用。为了生存,如此巨大的规模和相互联系的软件项目需要庞大的社会网络(专门的人)和庞大的货币网络(找到所需的钱,让这些人远离高薪的工作)。如果一个高地位的组织(如麻省理工学院)可以支持一个项目,认为它在技术上是有用的,对社会是有益的,就会有帮助。

鉴于以太坊支持非许可式智能合约,它不能支持Oracles(它不能看 “外面的自己”),并将必然与他们对抗(在任何地方)。

这让它何去何从?

谁在乎呢? #

其实这并不重要。不仅Oracles可以模仿一般的合约,而且特定的Sidechain也可以模仿特定的合约。一旦有人把任何有利可图的非寄生虫合约复制到一个新的挂钩侧链中,这两个项目之间唯一相关的区别就是一个使用比特币(主流的互联网货币),另一个不使用。

当然,这就留下了一个 “寄生虫领域”,完全由既没有合并挖矿也没有挂钩的可以盈利的寄生虫合约组成。这个领域会支持生命吗?它会像互联网一样,尽管有反对意见,但藐视IP的torrent网站(ThePirateBay等)仍能持续存在吗?

不会。

双重寄生虫和网络效应策略 #

寄生虫合同太擅长他们的工作了。它们与(有品牌、有信誉的)网站(如PirateBay)和生物寄生虫(由有机物建成)的不同之处在于:[1]它们更容易快速创建*,而且[2]后续的寄生虫合约不处于*不利地位。 换句话说,寄生虫不仅耗尽了宿主的资源,而且还为这些耗尽的资源相互竞争。这种完全竞争意味着均衡行为是每个宿主只有一个寄生虫,尽可能便宜地运作。结果。/所有的经济盈余都从主机*转移到用户*(没有转移到寄生虫),这样就没有第二个寄生虫能够有利可图地进入。 寄生虫(理论上)都能生存,但要付出代价。但是,它们并不难杀。首先,创建一个每个寄生虫的副本,把自己作为所有者。现在,所有的寄生虫(包括你的那一半)都活着,但无利可图。第二,承诺每次有新的宿主被感染时都这样做。现在,创造一个寄生虫是无利可图的。

虽然 “去寄生 “需要花费时间和精力,但这是迄今为止在这个游戏中玩的 “最便宜 “的招数:第二个寄生虫的程序员只需要做一个微小的改变(一个已经制定的合约的加密 “所有者 “价值…一个极具讽刺意味的 “元寄生主义”)。但谁会支付这个微小的、非零的成本呢?

首先是那些目前被 “过度支付 “的人。有一个搭便车的问题,但去寄生的成本是如此之小,以至于它不太可能产生影响。

最终,随着比特币占领互联网,所有非比特币项目(任何类型)都会被嘲笑,就像一个试图用日元支付牛奶的美国居民那样。最终,对使用非比特币的兴趣将下降到零。阿尔法币,即使是某种程度上有用的,也没有未来。

因此,以太坊的用途要么被吸收到为这种目的设计的侧链(或企业)中,要么干脆消亡。

如果他们不这样做呢?这仍然不重要,因为:

非Oracle智能合约是无用的,无论如何 #

以太坊的价值主张是一些/一般/(使项目创建率高)。然而,Ethereum的使用案例很少(如果不是不存在的话),使得 “通用性 “目标不合适。

让我们先来定位一下Ethereum要解决的问题。

所有 “绝对强制 “的合约都已经是 “智能 “的了 #

自我执行的合约 #

早在计算机之前,我们的社会就发明了一个 “足够好 “的方法来使所有的合同廉价地 “聪明”(自我执行):允许用户向某个权威机构(法院、国王、黑帮老大……)提出上诉,后者会最终解决这个问题。如果权威机构是 “公正的”,那么实际上将争端升级到权威机构就没有任何意义。任何知道自己会输的人,都不会费心去尝试。

即使在今天,合同也大多是由觉得自己会输的一方自行执行的(即输给他*不打算见的当局)。

当然,这个 “*如果*当局是’公正的’…… “是一个很大的 “如果”。

获得好的权威 #

在过去,*竞争*使权威机构保持一致。例如,在《威尼斯商人》中,夏洛克试图让一个当局强制执行一份合同。

 我向他要求的一磅肉。
这是我的,我一定要得到它。
如果你拒绝我,你的法律就会遭殃。
威尼斯的法令是没有效力的。

前三句是针对法庭的,但第四句是一个 “如果 “的警告,向法庭附近(不参与)的听众戏剧性地抛出。他的意思是 “如果*我们(威尼斯)*违反了合同执行的原则,*我们(威尼斯)*将遭受损失”。

这就是莎士比亚认为他的/16世纪/观众会购买的东西。 我们的现代世界已经看到城邦的衰落,而倾向于民族国家,导致(除其他外)权力机构间的竞争水平下降。比特币有multisig (相当接近),但以太坊能走得更远,并将 “计算机 “加入到当局竞争者的名单中吗?

不能。

一个基本的限制。CryptoLaw 没有CryptoPolice #

虽然它声称是 “加密法律”,但真正的 “法律 “可以对真实的人强制执行。以太坊只能编辑/计算机中的账本/;它不能让夏洛克得到任何肉体。在最坏的情况下,它可以减少你的数字资产 (如果,也只有在你选择让它们承受这种风险时)。如果以太坊想影响非数字的 “真实世界”,它将/失去作为P2P计算机网络的所有好处/,(并与真实法律相冲突,因为它确实有武装警察部队)。

没有预言机,没有实物……还剩下什么? #

所以,“法律 “仅限于 “合意的账本减少”,[1]实物不存在。M-S结果,再加上我们无法喂养(非BB)一个启示机制(见上文),意味着[2a]ooracle是出局了。这也表明[2b],所有的契约信息都必须保持 “近在咫尺”(由玩家自己自愿带来,然后只接受客观/对称的数学计算)。

我不确定这还剩下什么。

循环推理 #

如果整个金融系统在区块链上,该区块链上的衍生品(“如果A的收盘价高于Y,则向X支付Q”,“如果A在支付Z上违约,则向X支付Q”)将非常 “近”(不需要Oracle)。这很好,但是公司会计报表的形式有一个内置的Oracle-需求,而且几乎一切 他们 是由法院实际警察执行的。如果政府不执行这些合同(“这是一个未注册的证券发行”),相关的股票就没有意义。

TOR的选择 #

因此,整个业务,从供应商到客户,都必须在区块链上进行。但*它必须避免依赖可重复使用的人力投入*,即/没有劳动力/。如果相反,劳动者将成为所有者,这样的劳动者不需要费心编写任何代码,他们可以简单地开始TOR上的独立业务。如果企业主直接做出所有的行政决定,就根本不存在激励问题,也不存在软件的错误

金钱计算器对……赌场有好处? #

似乎只有 “计算器+"完全信息游戏和机会游戏才能可靠地切断外部世界,特别是因为它们是独立的、定义明确的,并且比较容易编程。以太坊甚至将 “智能合约 “描述为 “国际象棋”一次。

实践中的计算器 #

我们可以对照公布的每个DAPP列表来检查这一理论。(2015年8月访问)。这里是所有(据说)能达到 “演示 “级别的作品。

黑色删除线代表”中间产品"(仅与任何最终产品一样有用。它们支持,红色表示 “已经在比特币中”,绿色表示 “Oracle”(不会在寄生中生存),蓝色表示 “赌场”。因此,包括新的可证明公平的金字塔计划,“赌场 “是7个被发现的用途中的3个特点。

四个错误(橙色箭头)我都不关心:它们显然是坏主意(它们要么是[1]要求用户为他们已经可以免费做的事情支付tx费用,要么是[2]过于模糊/复杂,我很难相信它们真的处在 “演示 “阶段)。所以,我相信这个理论会随着时间的推移继续保持下去。

当然,一个接受比特币的网站可以很容易地模仿一个赌场(尤其是更 “有趣 “的部分:明亮的灯光和娱乐性的声音,更不用说实体赌场和他们广阔的场地、免费饮料和现场娱乐)。与以太坊不同的是,没有办法证明这样的比特币网站在随机数生成方面是 “公平 “的,但今天实体赌场的机器已经如此。而且,鉴于所有的赌场游戏都有一个负的预期值,不诚实又能有什么区别呢!?

Where’s the beef? #

2009年1月9日,比特币被公布在密码学邮件列表中。*三天后*,哈尔-芬尼通过互联网收到了中本聪的付款。这笔款项是革命性的:它几乎将货币的所有理想特征都融为一体,在信息高速公路上也是如此。简单地说:这笔钱承诺了一个更好的支付的新世界。

2015年7月30日,以太坊 “上市”。三天后,没有发生任何有意义的事情。在那之后的几个月,公开的列表“一些使用以太坊的项目”,除了/仅仅/包括Oracle和Physical项目(同样,这些项目与以太坊是/不兼容的),是可笑的 id eas对我自己(依赖Oracle的)工作的欺诈性误解通过忽视流动性的基本概念而误解贷款的根本目的,假设需要借1美元现金的人愿意拿出1.5美元现金,以及,信不信由你,其整个网站、可定位代码库和文档全部由六句话的项目。

实际上,事情比我在起草这篇文章时(2015年1月)预期的还要糟糕。为什么会这么糟糕呢?

A Problem in General (重复) #

即使假设Ethereum本身与你想出的任何用例没有任何冲突或问题,你在创建一个新的智能合约时,仍然有*所有的工作要做。

毕竟,合同/实际使用/不是一般的合同,而是在特定时间与特定的人签订的特定合同(引用我的一个心理测量学教授的话。“你永远不会遇到’一个普通人’")。

如果中本聪提供了一个C++编译器(一个 “通用的区块链创建平台”)会怎样?如果莎士比亚提供了26个字母呢?(一个 “一般的剧本创作平台”)?如果一个学生用一支新笔夹住他的空白考试,他是否 “解决 “了所有答案?当然不是:这个工作/是/是具体的。

如果一个新的编译器只能用来编写赌场软件,它有用吗?如果一个新的字母表只能在赌场内使用,它有用吗?如果一支笔只能写 “赌场 “这个词,它有用吗?当然不是:通用性的价值在于不受限制,能够满足许多需求。

即使假设你/确实找到了一个特定的用例,并且你/确实写出了一个高质量的软件,你/仍然/有一个问题:学习它是安全值得使用以及说服别人相信你所学的东西。/security/的积累根本不是一般性的(跨合同)(与一连串的Oracle-问题不同,它是每次都是相同的Honest-or-Not映射)。

而且,除此之外,除非Ethereum被重新设计,给合约提供相当于软分叉的功能,否则任何积累的安全在每次软件更新时都会被抹去

结论 #

忽略智能合约;如果有的话,Oracles才是比特币的未来。虽然智能合约会损害Oracles,但全球治理机制(单一链或侧链的组合)可以防止这种损害。

我的下一个招数 #

我的下一篇文章将主要关注一些(在这个地方,被忽视的)博弈论概念,希望能帮助比特币开发者钉住他们越来越模糊的威胁模型。

在那之后,将是结束 “加密经济弧 “的时候了。我将[1]摧毁彩色硬币/嵌入式共识系统,并[2](商业交易允许)解释为什么私人区块链(与目前流行的专家意见相反)是伟大的,以及我们如何利用它们。

然后我可能会转向更重要的话题,如道德、科学、政府、金融等。