SlideShare a Scribd company logo
1 of 35
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

More Related Content

More from C4Media

Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDC4Media
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine LearningC4Media
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at SpeedC4Media
 
Architectures That Scale Deep - Regaining Control in Deep Systems
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
 
ML in the Browser: Interactive Experiences with Tensorflow.js
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
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerC4Media
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleC4Media
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeC4Media
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereC4Media
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing ForC4Media
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data EngineeringC4Media
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
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 MoreC4Media
 
Navigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsNavigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsC4Media
 
High Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechHigh Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechC4Media
 
Rust's Journey to Async/await
Rust's Journey to Async/awaitRust's Journey to Async/await
Rust's Journey to Async/awaitC4Media
 
Opportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven UtopiaOpportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven UtopiaC4Media
 
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
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/DayC4Media
 
Are We Really Cloud-Native?
Are We Really Cloud-Native?Are We Really Cloud-Native?
Are We Really Cloud-Native?C4Media
 
CockroachDB: Architecture of a Geo-Distributed SQL Database
CockroachDB: Architecture of a Geo-Distributed SQL DatabaseCockroachDB: Architecture of a Geo-Distributed SQL Database
CockroachDB: Architecture of a Geo-Distributed SQL DatabaseC4Media
 
A Dive into Streams @LinkedIn with Brooklin
A Dive into Streams @LinkedIn with BrooklinA Dive into Streams @LinkedIn with Brooklin
A Dive into Streams @LinkedIn with BrooklinC4Media
 

More from C4Media (20)

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

Recently uploaded

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Recently uploaded (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

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