Blockchain: The Oracle Problems

C4Media
C4MediaMarketing Manager at C4Media
The Oracle Problem
Honest reporting in P2P networks, when everyone
has an incentive to lie, and you don’t even know how many
people there really are.
Paul Sztorc
QCON London
March 8, 2017
InfoQ.com: News & Community Site
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
blockchain-oracle-problems
• Over 1,000,000 software developers, architects and CTOs read the site world-
wide every month
• 250,000 senior developers subscribe to our weekly newsletter
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• 2 dedicated podcast channels: The InfoQ Podcast, with a focus on
Architecture and The Engineering Culture Podcast, with a focus on building
• 96 deep dives on innovative topics packed as downloadable emags and
minibooks
• Over 40 new content items per week
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
Presented at QCon London
www.qconlondon.com
Goal / Overview
• Goal: Take a problem, and contrast the
traditional approach from the blockchain
approach.
Overview:
1. Thesis / Takeaways
2. The P2P Oracle Problem
3. Three Categories of Design Failure
4. Conclusion
Message / Takeaways
1. Blockchain = Less trust = everything is harder.
2. Programmers vs. Contract-Authors : Dev objective is to
enable the user to do more, contracts are about forcing
the user to opt-into less. Oracle can fail as a result of
actions that users are allowed to take:
1. …too easy for user to assume two identities / make bribe.
2. …too easy for the service to be “too” popular.
3. …too easy for rivals to enter and ‘steal’ the service.
3. In the blockchain world, code is built upon a
foundation of incentives.
What is the Oracle Problem?
What the heck is
my exchange rate
these days,
anyway?
It’s £1000/BTC.
…hello? Hello?!
Blockchain is ignorant of ‘real world’ data.
Needs to be told this data, by an “oracle”.
An Example: Betting on Brexit
We will remain. We will
leave.
500 quid?
Fine.
Now, in the present, we know that the outcome was = “Leave”. They settle up.
Our purpose: automate this process via computer. They put money into a box, but…
Much earlier, in the past…
What is the Oracle Problem?
What the heck is
my exchange rate
these days,
anyway?
It’s £1000/BTC.
…hello? Hello?!
The Blockchain is ignorant of ‘real world’ data.
Stated Clearly: Guarantee the box is worth X to Arthur (|a), and Y to Beatrix
(|b). And we want to make this guarantee, when they are putting in the money.
Why solve this problem?
Cool = “something useful/valuable” happens, conditional on
events in the real world – finance, insurance, IoT, ….
We want “smart contracts” (ie, self-executing). We don’t want
to bother the courts with this – we want automation.
In Non-Blockchain World, Solution is Easy
Some free service that OCRs
images and gives you JSON.
Reminder: Blockchain Features
Good Bad
• Automatic.
• Immune to tampering.
• Censor-resistant.
• No inherent identities.
• Every user must be able to
validate entire history.
• Total consensus on the
unique valid history, down
the last byte.
Every Node Must Be Able to Verify Entire
Blockchain History, At All Times
Time
• Different answer reported,
at different time.
• Or, Google goes out of
business.
• Or, policy changes / great
firewall.
• Different answer reported,
at different time.
• Or, Google goes out of
business.
• Or, policy changes / great
firewall.
Every Node Must Be Able to Verify Entire
Blockchain History, At All Times
Time
You CAN prove “What Google said today”. You just
Google-it-today, yourself, and check x’==x.
You CANNOT prove “What Google said yesterday”,
because you would need to time-travel to
yesterday in order to Google it then, and verify it.
Also: Great Firewall of China, User-Specific results,
sign-in, time of day  all this interferes with the
requirement of total “all bytes” consensus.
Satoshi Planned for 100+ Years
Final BTC: Year ~2140
Part 2 – Trying to solve the
problem.
Limited to this
example, for clarity:
• A] One TTP reporter.
• B] Competing Reporters
• C] Pseudo-corporation.
(small sample of attempts)
Multi-signature (2010)
DataFeed Subscription (2014)
(2014)
(2015)
Must be self-contained -- We’ll need
Escrow, and “Reports” – but how?
[A] Multisignature
2 of 3. If there is a dispute, Charles “reporter” will break the tie.
(Unspoken: because Charles will always resolve correctly, there will, in practice,
be no disputes, and thus, no need to bother Charles.)
[A] Multisignature
2 of 3. If there is a dispute, Charles will break the tie.
(Unspoken: because Charles will always resolve correctly, there will, in practice,
be no disputes, and thus, no need to bother Charles.)
[A] Multisignature
2 of 3. If there is a dispute, Charles will break the tie.
(Unspoken: because Charles will always resolve correctly, there will, in practice,
be no disputes, and thus, no need to bother Charles.)
Bribe.
Arthur can offer
Charles up to
1000 quid.
[A] Multisignature
2 of 3. If there is a dispute, Charles will break the tie.
(Unspoken: because Charles will always resolve correctly, there will, in practice,
be no disputes, and thus, no need to bother Charles.)
Bribe.
Arthur can offer
Charles up to
1000 quid.
Charlies “theft” decision is worth 1000 quid. This is inherent to the
oracle problem -- an opportunity cost of theft equal, at least, to the
amount of money controlled by the oracle.
The multisignature “solution” is to transfer that burden from Arthur (its
origin) to Charlie, and simply hope that Charlie and Arthur cannot
coordinate.
(The oracle problem is  how we manage this cost.)
[B] “Competing” Reporters
1. Give up on identity: abstracts the identities into roles (users and reporters).
2. Reporters collect fees on an ongoing basis (per report, per …).
3. User can choose their reporter: competitive marketplace provides incentive to get-
and-keep a good reputation. Bad reputation = no longer chosen = loses ongoing fees.
Reporter 2
Reporter 3
Reporter 1
User Chooses One
User(s)
1: Attack Payoff Today
Conform
Attack
TIME Today + 1 Day + 2 Days + 3 Days + 4 Days + 5 Days + 6 Days
Competing Reporters: The Assumption
3: Time-Discounting
(NPV “Funnel”,
Concern for the future)
2: Payoffs in Future
Triple Uncertainty
• The Attack Payoff Today (we want low) can skyrocket:
 As a market becomes unexpectedly popular.
 Marketing / Hedged-”Chandelier Trades” by Reporters themselves.
• No reliable way of estimating market’s future popularity.
• The Future Payoffs (we want high) can collapse on news/rumors :
 About reporter-industry-competitiveness (more people joining the industry,
higher-quality offerings). Econ theory -> “No Rent”.
 About the future of the protocol (more popular alternative coming out, critical
vulnerability found).
• The reporter’s concern for the future (we want high) can decrease:
 With capricious Reporter preferences (we cannot guarantee to Traders that
Reporters have psychologically stable preferences).
 Reporter hacked / faux-hacked / diagnosed with terminal illness.
 With Reporter retirement-plans (“I’ve been doing this for a while, and I just don’t
want to do it anymore”). Reporter dies -> ?
Triple Uncertainty
• The Attack Payoff Today (we want low) can skyrocket:
 As a market becomes unexpectedly popular.
 Marketing / Hedged-”Chandelier Trades” by Reporters themselves.
• No reliable way of estimating market’s future popularity.
• The Future Payoffs (we want high) can collapse on news/rumors :
 About reporter-industry-competitiveness (more people joining the industry,
higher-quality offerings). Econ theory -> “No Rent”.
 About the future of the protocol (more popular alternative coming out, critical
vulnerability found).
• The reporter’s concern for the future (we want high) can decrease:
 With capricious Reporter preferences (we cannot guarantee to Traders that
Reporters have psychologically stable preferences).
 Reporter hacked / faux-hacked / diagnosed with terminal illness.
 With Reporter retirement-plans (“I’ve been doing this for a while, and I just don’t
want to do it anymore”). Reporter dies -> ?
 opportunity cost of theft equal to the amount of the losing bet.
(potentially large, if many users)
 A fee we extract, based on the utility of the service.
(better, we *are* compensated for honesty, this time)
A new psychological parameter, specific to this solution-attempt.
(unreliable)
Net result: better, but too uncertain.
[C] Pseudo-corporation
4) “Talebian” Robustness
• “Fail quickly and safely” (instead of “we never fail”).
• Bad Voters, Voter-Cartels, and Monopolist Voters can
each help (not hurt), up to a certain (high) point.
1) Make Reputation itself Tradeable
• Pseudo-corporation which exists to prove
its consistency within and across time.
• Collects $ to power the mechanism.
2) SVD Cross-Validation
• Statistical technique: seeks importance.
• Gleans truth, measures conformity.
3) Strategic Use of Time
• Funds can be ‘locked’ across time.
• Yet info-search-costs constantly fall.
• Net effect: time penalizes attackers only.
TRUST
Corporation Model Breaks Sometimes
Multiple oracles
To Purchase Quality, Need pseduo-“©”
To Purchase Quality, Need pseduo-“©”
In this case, we successfully spread the opportunity cost of theft
widely over many people, and over a long time period.
Problem is we ensured that the maximum reward these people
could receive was zero.
In turn, the “shares” of the Honest Corporation were worth NPV(0)
= 0, meaning that it is trivial to purchase all the shares and attack.
Takeaways
1. Blockchain = Less trust = everything is harder.
2. Programmers vs. Contract-Authors : Dev objective is to
enable the user to do more, contracts are about forcing
the user to opt-into less. Oracle can fail as a result of
actions that users are allowed to take:
1. …too easy for user to assume two identities / make bribe.
2. …too easy for the service to be “too” popular.
3. …too easy for rivals to enter and ‘steal’ the service.
3. In the blockchain world, code is built upon a
foundation of incentives.
Conclusion
• I hope that you’ve learned a little about the P2P
Oracle, and why it is so much more difficult than
the API call.
• And, in turn, about blockchain.
• Thank you for your attention.
Appendix
Scope: Some widely known info.
Universe of Knowledge
Everyone knows.
Search Costs /
A few experts know. No one knows.
Already too difficult
low high
Ability to Convey: low high
High volume of bets, “passionate” contention. Not contentious – no one cares.
To move from brains,
to the blockchain.
Function of fees, …
Diffusion Costs:
Three Fundamental Problems
1. Opportunity Cost of Honesty – Imagine that payment M is conditional
on an event, and that event either must happen or not happen (ie, we
live in only one reality), then there will be one “winner” and one “loser”
to the payment. The loser always has an incentive not to cooperate, and,
in fact, to pay
2. No Identities / “Nothing at Stake” / Free Resurrection – Classic Internet
Negative Reputation Problem, in the real world you can punish /
imprison / assassinate people who misbehave. On the internet, you
cannot.
3. Principal-Agent Problem – The decision-maker (agent) will not care as
much about the decision as the people who are affected by it
(principals), unless they are the same person. In a 1v1 dispute, this gets
frustrating as it seemingly leads either to corruption or to neglect.
Bitcoin Upgrade
Upgrade, by adding errors?!
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
blockchain-oracle-problems
1 of 35

Recommended

Streaming a Million Likes/Second: Real-Time Interactions on Live Video by
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoC4Media
2.5K views171 slides
Next Generation Client APIs in Envoy Mobile by
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileC4Media
845 views107 slides
Software Teams and Teamwork Trends Report Q1 2020 by
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020C4Media
530 views11 slides
Understand the Trade-offs Using Compilers for Java Applications by
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsC4Media
494 views59 slides
Kafka Needs No Keeper by
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No KeeperC4Media
579 views127 slides
High Performing Teams Act Like Owners by
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like OwnersC4Media
409 views75 slides

More Related Content

More from C4Media

Shifting Left with Cloud Native CI/CD by
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDC4Media
299 views77 slides
CI/CD for Machine Learning by
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine LearningC4Media
355 views70 slides
Fault Tolerance at Speed by
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at SpeedC4Media
286 views80 slides
Architectures That Scale Deep - Regaining Control in Deep Systems by
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsC4Media
323 views70 slides
ML in the Browser: Interactive Experiences with Tensorflow.js by
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsC4Media
1.7K views99 slides
Build Your Own WebAssembly Compiler by
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerC4Media
297 views65 slides

More from C4Media(20)

Shifting Left with Cloud Native CI/CD by C4Media
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
C4Media299 views
CI/CD for Machine Learning by C4Media
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
C4Media355 views
Fault Tolerance at Speed by C4Media
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
C4Media286 views
Architectures That Scale Deep - Regaining Control in Deep Systems by C4Media
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
C4Media323 views
ML in the Browser: Interactive Experiences with Tensorflow.js by C4Media
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
C4Media1.7K views
Build Your Own WebAssembly Compiler by C4Media
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
C4Media297 views
User & Device Identity for Microservices @ Netflix Scale by C4Media
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
C4Media1.2K views
Scaling Patterns for Netflix's Edge by C4Media
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
C4Media588 views
Make Your Electron App Feel at Home Everywhere by C4Media
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
C4Media587 views
The Talk You've Been Await-ing For by C4Media
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
C4Media250 views
Future of Data Engineering by C4Media
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
C4Media1.7K views
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More by C4Media
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
C4Media842 views
Navigating Complexity: High-performance Delivery and Discovery Teams by C4Media
Navigating Complexity: High-performance Delivery and Discovery TeamsNavigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery Teams
C4Media449 views
High Performance Cooperative Distributed Systems in Adtech by C4Media
High Performance Cooperative Distributed Systems in AdtechHigh Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in Adtech
C4Media269 views
Rust's Journey to Async/await by C4Media
Rust's Journey to Async/awaitRust's Journey to Async/await
Rust's Journey to Async/await
C4Media902 views
Opportunities and Pitfalls of Event-Driven Utopia by C4Media
Opportunities and Pitfalls of Event-Driven UtopiaOpportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven Utopia
C4Media297 views
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day by C4Media
Datadog: a Real-Time Metrics Database for One Quadrillion Points/DayDatadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
C4Media1.6K views
Are We Really Cloud-Native? by C4Media
Are We Really Cloud-Native?Are We Really Cloud-Native?
Are We Really Cloud-Native?
C4Media355 views
CockroachDB: Architecture of a Geo-Distributed SQL Database by C4Media
CockroachDB: Architecture of a Geo-Distributed SQL DatabaseCockroachDB: Architecture of a Geo-Distributed SQL Database
CockroachDB: Architecture of a Geo-Distributed SQL Database
C4Media968 views
A Dive into Streams @LinkedIn with Brooklin by C4Media
A Dive into Streams @LinkedIn with BrooklinA Dive into Streams @LinkedIn with Brooklin
A Dive into Streams @LinkedIn with Brooklin
C4Media374 views

Recently uploaded

PharoJS - Zürich Smalltalk Group Meetup November 2023 by
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023Noury Bouraqadi
120 views17 slides
RADIUS-Omnichannel Interaction System by
RADIUS-Omnichannel Interaction SystemRADIUS-Omnichannel Interaction System
RADIUS-Omnichannel Interaction SystemRADIUS
15 views21 slides
Melek BEN MAHMOUD.pdf by
Melek BEN MAHMOUD.pdfMelek BEN MAHMOUD.pdf
Melek BEN MAHMOUD.pdfMelekBenMahmoud
14 views1 slide
DALI Basics Course 2023 by
DALI Basics Course  2023DALI Basics Course  2023
DALI Basics Course 2023Ivory Egg
14 views12 slides
Uni Systems for Power Platform.pptx by
Uni Systems for Power Platform.pptxUni Systems for Power Platform.pptx
Uni Systems for Power Platform.pptxUni Systems S.M.S.A.
50 views21 slides
Emerging & Future Technology - How to Prepare for the Next 10 Years of Radica... by
Emerging & Future Technology - How to Prepare for the Next 10 Years of Radica...Emerging & Future Technology - How to Prepare for the Next 10 Years of Radica...
Emerging & Future Technology - How to Prepare for the Next 10 Years of Radica...NUS-ISS
16 views28 slides

Recently uploaded(20)

PharoJS - Zürich Smalltalk Group Meetup November 2023 by Noury Bouraqadi
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023
Noury Bouraqadi120 views
RADIUS-Omnichannel Interaction System by RADIUS
RADIUS-Omnichannel Interaction SystemRADIUS-Omnichannel Interaction System
RADIUS-Omnichannel Interaction System
RADIUS15 views
DALI Basics Course 2023 by Ivory Egg
DALI Basics Course  2023DALI Basics Course  2023
DALI Basics Course 2023
Ivory Egg14 views
Emerging & Future Technology - How to Prepare for the Next 10 Years of Radica... by NUS-ISS
Emerging & Future Technology - How to Prepare for the Next 10 Years of Radica...Emerging & Future Technology - How to Prepare for the Next 10 Years of Radica...
Emerging & Future Technology - How to Prepare for the Next 10 Years of Radica...
NUS-ISS16 views
SAP Automation Using Bar Code and FIORI.pdf by Virendra Rai, PMP
SAP Automation Using Bar Code and FIORI.pdfSAP Automation Using Bar Code and FIORI.pdf
SAP Automation Using Bar Code and FIORI.pdf
handbook for web 3 adoption.pdf by Liveplex
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdf
Liveplex19 views
How the World's Leading Independent Automotive Distributor is Reinventing Its... by NUS-ISS
How the World's Leading Independent Automotive Distributor is Reinventing Its...How the World's Leading Independent Automotive Distributor is Reinventing Its...
How the World's Leading Independent Automotive Distributor is Reinventing Its...
NUS-ISS15 views
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor... by Vadym Kazulkin
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...
Vadym Kazulkin75 views
AI: mind, matter, meaning, metaphors, being, becoming, life values by Twain Liu 刘秋艳
AI: mind, matter, meaning, metaphors, being, becoming, life valuesAI: mind, matter, meaning, metaphors, being, becoming, life values
AI: mind, matter, meaning, metaphors, being, becoming, life values
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV by Splunk
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV
Splunk88 views
Future of Learning - Khoong Chan Meng by NUS-ISS
Future of Learning - Khoong Chan MengFuture of Learning - Khoong Chan Meng
Future of Learning - Khoong Chan Meng
NUS-ISS33 views
Black and White Modern Science Presentation.pptx by maryamkhalid2916
Black and White Modern Science Presentation.pptxBlack and White Modern Science Presentation.pptx
Black and White Modern Science Presentation.pptx
maryamkhalid291614 views
Special_edition_innovator_2023.pdf by WillDavies22
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdf
WillDavies2216 views
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software225 views
Attacking IoT Devices from a Web Perspective - Linux Day by Simone Onofri
Attacking IoT Devices from a Web Perspective - Linux Day Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day
Simone Onofri15 views

Blockchain: The Oracle Problems

  • 1. The Oracle Problem Honest reporting in P2P networks, when everyone has an incentive to lie, and you don’t even know how many people there really are. Paul Sztorc QCON London March 8, 2017
  • 2. InfoQ.com: News & Community Site Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ blockchain-oracle-problems • Over 1,000,000 software developers, architects and CTOs read the site world- wide every month • 250,000 senior developers subscribe to our weekly newsletter • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • 2 dedicated podcast channels: The InfoQ Podcast, with a focus on Architecture and The Engineering Culture Podcast, with a focus on building • 96 deep dives on innovative topics packed as downloadable emags and minibooks • Over 40 new content items per week
  • 3. Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide Presented at QCon London www.qconlondon.com
  • 4. Goal / Overview • Goal: Take a problem, and contrast the traditional approach from the blockchain approach. Overview: 1. Thesis / Takeaways 2. The P2P Oracle Problem 3. Three Categories of Design Failure 4. Conclusion
  • 5. Message / Takeaways 1. Blockchain = Less trust = everything is harder. 2. Programmers vs. Contract-Authors : Dev objective is to enable the user to do more, contracts are about forcing the user to opt-into less. Oracle can fail as a result of actions that users are allowed to take: 1. …too easy for user to assume two identities / make bribe. 2. …too easy for the service to be “too” popular. 3. …too easy for rivals to enter and ‘steal’ the service. 3. In the blockchain world, code is built upon a foundation of incentives.
  • 6. What is the Oracle Problem? What the heck is my exchange rate these days, anyway? It’s £1000/BTC. …hello? Hello?! Blockchain is ignorant of ‘real world’ data. Needs to be told this data, by an “oracle”.
  • 7. An Example: Betting on Brexit We will remain. We will leave. 500 quid? Fine. Now, in the present, we know that the outcome was = “Leave”. They settle up. Our purpose: automate this process via computer. They put money into a box, but… Much earlier, in the past…
  • 8. What is the Oracle Problem? What the heck is my exchange rate these days, anyway? It’s £1000/BTC. …hello? Hello?! The Blockchain is ignorant of ‘real world’ data. Stated Clearly: Guarantee the box is worth X to Arthur (|a), and Y to Beatrix (|b). And we want to make this guarantee, when they are putting in the money.
  • 9. Why solve this problem? Cool = “something useful/valuable” happens, conditional on events in the real world – finance, insurance, IoT, …. We want “smart contracts” (ie, self-executing). We don’t want to bother the courts with this – we want automation.
  • 10. In Non-Blockchain World, Solution is Easy Some free service that OCRs images and gives you JSON.
  • 11. Reminder: Blockchain Features Good Bad • Automatic. • Immune to tampering. • Censor-resistant. • No inherent identities. • Every user must be able to validate entire history. • Total consensus on the unique valid history, down the last byte.
  • 12. Every Node Must Be Able to Verify Entire Blockchain History, At All Times Time • Different answer reported, at different time. • Or, Google goes out of business. • Or, policy changes / great firewall.
  • 13. • Different answer reported, at different time. • Or, Google goes out of business. • Or, policy changes / great firewall. Every Node Must Be Able to Verify Entire Blockchain History, At All Times Time You CAN prove “What Google said today”. You just Google-it-today, yourself, and check x’==x. You CANNOT prove “What Google said yesterday”, because you would need to time-travel to yesterday in order to Google it then, and verify it. Also: Great Firewall of China, User-Specific results, sign-in, time of day  all this interferes with the requirement of total “all bytes” consensus.
  • 14. Satoshi Planned for 100+ Years Final BTC: Year ~2140
  • 15. Part 2 – Trying to solve the problem. Limited to this example, for clarity:
  • 16. • A] One TTP reporter. • B] Competing Reporters • C] Pseudo-corporation. (small sample of attempts) Multi-signature (2010) DataFeed Subscription (2014) (2014) (2015) Must be self-contained -- We’ll need Escrow, and “Reports” – but how?
  • 17. [A] Multisignature 2 of 3. If there is a dispute, Charles “reporter” will break the tie. (Unspoken: because Charles will always resolve correctly, there will, in practice, be no disputes, and thus, no need to bother Charles.)
  • 18. [A] Multisignature 2 of 3. If there is a dispute, Charles will break the tie. (Unspoken: because Charles will always resolve correctly, there will, in practice, be no disputes, and thus, no need to bother Charles.)
  • 19. [A] Multisignature 2 of 3. If there is a dispute, Charles will break the tie. (Unspoken: because Charles will always resolve correctly, there will, in practice, be no disputes, and thus, no need to bother Charles.) Bribe. Arthur can offer Charles up to 1000 quid.
  • 20. [A] Multisignature 2 of 3. If there is a dispute, Charles will break the tie. (Unspoken: because Charles will always resolve correctly, there will, in practice, be no disputes, and thus, no need to bother Charles.) Bribe. Arthur can offer Charles up to 1000 quid. Charlies “theft” decision is worth 1000 quid. This is inherent to the oracle problem -- an opportunity cost of theft equal, at least, to the amount of money controlled by the oracle. The multisignature “solution” is to transfer that burden from Arthur (its origin) to Charlie, and simply hope that Charlie and Arthur cannot coordinate. (The oracle problem is  how we manage this cost.)
  • 21. [B] “Competing” Reporters 1. Give up on identity: abstracts the identities into roles (users and reporters). 2. Reporters collect fees on an ongoing basis (per report, per …). 3. User can choose their reporter: competitive marketplace provides incentive to get- and-keep a good reputation. Bad reputation = no longer chosen = loses ongoing fees. Reporter 2 Reporter 3 Reporter 1 User Chooses One User(s)
  • 22. 1: Attack Payoff Today Conform Attack TIME Today + 1 Day + 2 Days + 3 Days + 4 Days + 5 Days + 6 Days Competing Reporters: The Assumption 3: Time-Discounting (NPV “Funnel”, Concern for the future) 2: Payoffs in Future
  • 23. Triple Uncertainty • The Attack Payoff Today (we want low) can skyrocket:  As a market becomes unexpectedly popular.  Marketing / Hedged-”Chandelier Trades” by Reporters themselves. • No reliable way of estimating market’s future popularity. • The Future Payoffs (we want high) can collapse on news/rumors :  About reporter-industry-competitiveness (more people joining the industry, higher-quality offerings). Econ theory -> “No Rent”.  About the future of the protocol (more popular alternative coming out, critical vulnerability found). • The reporter’s concern for the future (we want high) can decrease:  With capricious Reporter preferences (we cannot guarantee to Traders that Reporters have psychologically stable preferences).  Reporter hacked / faux-hacked / diagnosed with terminal illness.  With Reporter retirement-plans (“I’ve been doing this for a while, and I just don’t want to do it anymore”). Reporter dies -> ?
  • 24. Triple Uncertainty • The Attack Payoff Today (we want low) can skyrocket:  As a market becomes unexpectedly popular.  Marketing / Hedged-”Chandelier Trades” by Reporters themselves. • No reliable way of estimating market’s future popularity. • The Future Payoffs (we want high) can collapse on news/rumors :  About reporter-industry-competitiveness (more people joining the industry, higher-quality offerings). Econ theory -> “No Rent”.  About the future of the protocol (more popular alternative coming out, critical vulnerability found). • The reporter’s concern for the future (we want high) can decrease:  With capricious Reporter preferences (we cannot guarantee to Traders that Reporters have psychologically stable preferences).  Reporter hacked / faux-hacked / diagnosed with terminal illness.  With Reporter retirement-plans (“I’ve been doing this for a while, and I just don’t want to do it anymore”). Reporter dies -> ?  opportunity cost of theft equal to the amount of the losing bet. (potentially large, if many users)  A fee we extract, based on the utility of the service. (better, we *are* compensated for honesty, this time) A new psychological parameter, specific to this solution-attempt. (unreliable) Net result: better, but too uncertain.
  • 25. [C] Pseudo-corporation 4) “Talebian” Robustness • “Fail quickly and safely” (instead of “we never fail”). • Bad Voters, Voter-Cartels, and Monopolist Voters can each help (not hurt), up to a certain (high) point. 1) Make Reputation itself Tradeable • Pseudo-corporation which exists to prove its consistency within and across time. • Collects $ to power the mechanism. 2) SVD Cross-Validation • Statistical technique: seeks importance. • Gleans truth, measures conformity. 3) Strategic Use of Time • Funds can be ‘locked’ across time. • Yet info-search-costs constantly fall. • Net effect: time penalizes attackers only. TRUST
  • 26. Corporation Model Breaks Sometimes Multiple oracles
  • 27. To Purchase Quality, Need pseduo-“©”
  • 28. To Purchase Quality, Need pseduo-“©” In this case, we successfully spread the opportunity cost of theft widely over many people, and over a long time period. Problem is we ensured that the maximum reward these people could receive was zero. In turn, the “shares” of the Honest Corporation were worth NPV(0) = 0, meaning that it is trivial to purchase all the shares and attack.
  • 29. Takeaways 1. Blockchain = Less trust = everything is harder. 2. Programmers vs. Contract-Authors : Dev objective is to enable the user to do more, contracts are about forcing the user to opt-into less. Oracle can fail as a result of actions that users are allowed to take: 1. …too easy for user to assume two identities / make bribe. 2. …too easy for the service to be “too” popular. 3. …too easy for rivals to enter and ‘steal’ the service. 3. In the blockchain world, code is built upon a foundation of incentives.
  • 30. Conclusion • I hope that you’ve learned a little about the P2P Oracle, and why it is so much more difficult than the API call. • And, in turn, about blockchain. • Thank you for your attention.
  • 32. Scope: Some widely known info. Universe of Knowledge Everyone knows. Search Costs / A few experts know. No one knows. Already too difficult low high Ability to Convey: low high High volume of bets, “passionate” contention. Not contentious – no one cares. To move from brains, to the blockchain. Function of fees, … Diffusion Costs:
  • 33. Three Fundamental Problems 1. Opportunity Cost of Honesty – Imagine that payment M is conditional on an event, and that event either must happen or not happen (ie, we live in only one reality), then there will be one “winner” and one “loser” to the payment. The loser always has an incentive not to cooperate, and, in fact, to pay 2. No Identities / “Nothing at Stake” / Free Resurrection – Classic Internet Negative Reputation Problem, in the real world you can punish / imprison / assassinate people who misbehave. On the internet, you cannot. 3. Principal-Agent Problem – The decision-maker (agent) will not care as much about the decision as the people who are affected by it (principals), unless they are the same person. In a 1v1 dispute, this gets frustrating as it seemingly leads either to corruption or to neglect.
  • 34. Bitcoin Upgrade Upgrade, by adding errors?!
  • 35. Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ blockchain-oracle-problems