Infochain: A Decentralized, Trustless and Transparent Oracle on Blockchain
一、重点内容摘要:
- 智能合约可信信息的获取办法:
- oracle :从可信的第三方获取信息
- “wisdomof the crowds” and ask the users themselves about the infor-mation (for e.g., the quality of service received). “人群的智慧”,并询问用户自己有关信息(例如,所收到的服务质量)。(无标标准答案的信息)
- 本文提出的方案: employment of peer-consistency mechanisms for the design of trustless, decentral-ized oracles.(采用对等一致性机制设计无信任、分散的oracles)
- 作者在以太坊上设计并实现了一个完全非集中式的基于对等一致性的真实信息采集系统INFOCHAIN。
- 如果代理在提交自己的信息之前能够看到“对等方”提交的信息,那么对等方一致性机制就会受到损害。我们建议使用acommit-reveal协议来解决这个问题。
- 为了从自利代理人那里收集真实的信息,我们提出了一个完全分散、透明和不可信任的信息链系统。信息链使信息请求者能够发布问题,这些问题可以由信息提供者(代理)选择。一旦代理提交他们选择回答的问题的信息,他们的付款就会通过智能合约进行处理。所有收集的信息和支付都存储在公共区块链上,以确保透明性和不变性。
- 信息的正确性验证:博弈论的对等一致性机制,这些机制的总体思路是通过“匹配”多个参与者提供的信息来奖励代理,同时阻止任何合谋。
- 三种基本对等一致性机制:
- The Output Agreement (OA) Mechanism: 只有当一个代理对一个问题的回答与同一个问题的对等代理的回答相匹配时,才能获得1个单位的奖励。代理对一个问题的报酬是与所有对等代理匹配获得的报酬的平均值。代理人的最终报酬是她回答的所有问题的平均报酬。
- The Dasgupta and Ghosh (DG) Mechanism: 如果一个问题的答案与同一问题的同伴的答案相匹配,那么代理将获得1个单位的奖励;如果她的答案与非常见问题的同伴的答案相匹配,那么代理将获得1个单位的惩罚。该机制要求两个代理,谁是对等的,也必须有一些非共同的问题,是由其中一人回答,但不是由双方。最终的回报是计算平均为OA机制中所描述的。
- The Peer Truth Serum for Crowdsourcing (PTSC): 主要思想还是比较答案出现的频次来分辨答案的正误。
- Commit-Reveal Protocol: (用于保证每个信息提交方的提交信息不被其他代理所看见)
- Commit: An agent writes her commitment k e c c a k 256 ( y ; k ) keccak256(y;k) keccak256(y;k)on the chain, where y y y is the agent’s answer for a given question and k k k is her secret key.
- Reveal: 一旦所有选择了问题的代理都完成了提交问题的承诺或承诺阶段到期,他们就可以重新公开各自的密钥和答案。如果代理的承诺与她透露的答案相匹配,答案就写在链上,否则就被丢弃。
二、总结
- 什么是oracle:智能合约链外输入的提供者。可以拿天气晴还是雨作比方,最后实际的结果就是oracle,用可信的第三方来公布答案,比如谷歌天气? 还有一种情况是主观的事务,比如人的满意度
- oracle分类:
- Software Oracles(软件): 在线数据库、服务器、网站
- Hardware Oracles(硬件): 电子传感器、物联网、条形码/QR扫描仪、RFID标签、机器人
- Human Oracles: 响应突发事件查询并提供手动输入的human oracles
- Computation Oracles: However, oracles can also be used to perform arbitrary “off-chain” computation solution, afunction that can be especially useful given Ethereum’s inher-ent block gas limit and comparatively expensive computationcost (链上计算消耗大的事务放在链下计算)
- Inbound/Outbound Oracles: Inbound oracles transmit information from external sourcesto smart contracts, while outbound oracles send informationfrom smart contracts to the external world.
- Contract-specific Oracles: A contract-specific oracle is one that is designed to beused by a single smart contract. This means that if one wantsto deploy several smart contracts, a proportionate number ofcontract-specific oracles have to be developed.
- Consensus-based Oracles(基于共识): For example youcould take the average of 5 oracles. Or, 5 out of 7 oracles candetermine the outcome of an event.
- 本文提出的解决oracle的可信度的方法
- 机器学习方法解决oracle的可信度 : 相似性学习
- 数据共享链
- 分片的方法去解决
- 拆分智能合约,可以绕过合约大小的限制,实现复杂的功能。
- 如何利用链上业务制约链下业务,如何快速使用链下业务结果;
sybil攻击