SlideShare a Scribd company logo
1 of 43
D O C U M E N T C O I N
C RY P T O C U R R E N C Y F O R T H E G I F T E C O N O M Y
Chris Anderson
@jchris
jchris@gmail.com
QCon London 2016
InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• News 15-20 / week
• Articles 3-4 / week
• Presentations (videos) 12-15 / week
• Interviews 2-3 / week
• Books 1 / month
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
document-coin
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
TA K E H O M E L E S S O N S
• Blockchain without global consensus is interesting
• WebCrypto APIs will bring innovation to blockchain
applications
• Application developers not cryptographers?!?
• IETF JOSE means standardized implementations
T H E D O Y L E O W L
https://www.flickr.com/photos/ultimatekiwi/5154416336/
I D E O L O G Y
B A C K G R O U N D A S S U M P T I O N S
L E G I B I L I T Y
W H E R E W O U L D Y O U R A T H E R L I V E ?
VA L U E
H O W W E K N O W S O M E T H I N G I S I M P O R TA N T
I N E Q U A L I T Y
9 9 % O F P E O P L E H A V E 6 0 % O F T H E W E A LT H
P R O G R E S S I V I S M
A D J U S T I N G T H E C U R V E
G L O B A L PA R T I A L O R D E R I N G
D O W E N E E D I T ?
P I R A H Ã
W E C A N L I V E W I T H O U T N U M B E R S
G I F T E C O N O M Y
C A N W E S C A L E I T ?
S U B J E C T I V E VA L U E
E V E RY O N E S E E S A D I F F E R E N T PA R T I A L O R D E R I N G
W E B O F T R U S T
P R I O R A R T
C E R T I F I C AT E A U T H O R I T Y
W H O WA T C H E S T H E WA T C H E R S ?
N O W W E H AV E N P R O B L E M S
K E Y S I G N I N G PA R T Y
O B J E C T B L O C K C H A I N
• Blockchain allows us to create digital objects
• Heirlooms
• Gamify the web of trust
I N T E R N E T T H I N G S
F R O M C L A S S E S T O I N S TA N C E S
G I V E T R E E
• Per document blockchain
• Don’t wait for global consensus
• Data provenance structures allows the tracking of how
ownership of a piece of data got to you
• TODO: Encrypt the content of the coins.
G I V E T R E E
s(A1)
mint
B1
s(mint)
A1
Child nodes are signed
by the keys encoded as
owner of parent blocks.
A2
VA L I D AT E T H E G I V E T R E E
• Verify the root content hash and mint signature match
the unique coin id.
• For each child in the tree, verify that the signature is
correct and comes from the public key listed in the
parent block.
• Application level policy can flag branches of the tree
that exceed a give limit. Physical objects are
simulated with a give limit of one.
G I V E T R E E
to (Maude keys)
on (content hash)
signed (Maude)
mint
mintMaude
G I V E T R E E
to (The Dude)
on (parent hash)
signed (Maude)
mint
s(mint)
A1
A1
Maude
The Dude
G I V E T R E E
to (Donny keys)
on (parent hash)
signed (The Dude)
s(A1)
mint
s(mint)
B1
A1
B1
Maude
The Dude
Donny
G I V E T R E E
to (Walter keys)
on (parent hash)
signed (The Dude)
s(A1)
mint
s(mint)
B2
A1
B1 B2
"It went OK, the old
man told me to take
any rug in the house."
Maude
The Dude
Donny Walter
G I V E T R E E
to (Walter keys)
on (parent hash)
signed (The Dude)
s(A1)
mint
s(mint)
B1
A1 A2
B1 B2
Maude
The Dude
Donny Walter
Bunny
G I V E T R E E
to (Larry keys)
on (parent hash)
signed (Bunny)
s(A1)
mint
s(A2)
s(mint)
C1
A1 A2
B1 B2 C1
Maude
The Dude
Donny Walter
Bunny
Larry
L I M I TAT I O N S
• The model, even if perfectly implemented, isn’t
designed to prevent double spending, just to detect
it.
• Research project, currently only dealing with public
content and signatures.
• Haven’t implemented the Bill Murray rule yet.
• Want multi-sig mint blocks
I M P L E M E N TAT I O N
• Cisco’s JOSE https://github.com/cisco/node-jose
• Prova test runner http://github.com/azer/prova
• Recursion!
P R O VA
T E S T I N T H E B R O W S E R W I T H O U T A N Y B U I L D S C R I P T S
P R O VA
A U T O M A G I C A L R E L O A D A N D R U N
C I S C O N O D E - J O S E
E A S Y A N D C O N S I S T E N T W R A P P E R A R O U N D W E B C RY P T O
VA L I D AT E A C O I N
• Validate the root of the Give Tree
• Coin ID is correct
• Content signature matches
• Recursively validate all child nodes
• Give limit policy violations are business errors, not
validation errors
VA L I D AT E T H E R O O T
VA L I D AT E T H E R O O T
VA L I D AT E C H I L D R E N
Empty Callback!
VA L I D AT E C H I L D R E N
Recursion!
N E X T S T E P S
• Encrypted content
• PouchDB storage & sync
• Photo sharing application
• Public key graph browser
… P R O F I T
• Distributed PKI
• Illustrate to users the value
of partial disclosure
• Ecosystem interop
• Native HTML5 blockchain
• Platform for p2p social apps
C O N C L U S I O N
• We are the world
computer, build expressive
software
• Blockchain assumptions
can be inverted
• There is more room for
innovation than we think
D O C U M E N T C O I N
C RY P T O C U R R E N C Y F O R T H E G I F T E C O N O M Y
Chris Anderson
@jchris
jchris@gmail.com
QCon London 2016
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations
/document-coin

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

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 

Recently uploaded (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

Hash Histories - Toy Blockchains for Great Danger

  • 1. D O C U M E N T C O I N C RY P T O C U R R E N C Y F O R T H E G I F T E C O N O M Y Chris Anderson @jchris jchris@gmail.com QCon London 2016
  • 2. InfoQ.com: News & Community Site • 750,000 unique visitors/month • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • News 15-20 / week • Articles 3-4 / week • Presentations (videos) 12-15 / week • Interviews 2-3 / week • Books 1 / month Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ document-coin
  • 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. TA K E H O M E L E S S O N S • Blockchain without global consensus is interesting • WebCrypto APIs will bring innovation to blockchain applications • Application developers not cryptographers?!? • IETF JOSE means standardized implementations
  • 5. T H E D O Y L E O W L https://www.flickr.com/photos/ultimatekiwi/5154416336/
  • 6. I D E O L O G Y B A C K G R O U N D A S S U M P T I O N S
  • 7. L E G I B I L I T Y W H E R E W O U L D Y O U R A T H E R L I V E ?
  • 8. VA L U E H O W W E K N O W S O M E T H I N G I S I M P O R TA N T
  • 9. I N E Q U A L I T Y 9 9 % O F P E O P L E H A V E 6 0 % O F T H E W E A LT H
  • 10. P R O G R E S S I V I S M A D J U S T I N G T H E C U R V E
  • 11. G L O B A L PA R T I A L O R D E R I N G D O W E N E E D I T ?
  • 12. P I R A H Ã W E C A N L I V E W I T H O U T N U M B E R S
  • 13. G I F T E C O N O M Y C A N W E S C A L E I T ?
  • 14. S U B J E C T I V E VA L U E E V E RY O N E S E E S A D I F F E R E N T PA R T I A L O R D E R I N G
  • 15. W E B O F T R U S T P R I O R A R T
  • 16. C E R T I F I C AT E A U T H O R I T Y W H O WA T C H E S T H E WA T C H E R S ?
  • 17. N O W W E H AV E N P R O B L E M S K E Y S I G N I N G PA R T Y
  • 18. O B J E C T B L O C K C H A I N • Blockchain allows us to create digital objects • Heirlooms • Gamify the web of trust
  • 19. I N T E R N E T T H I N G S F R O M C L A S S E S T O I N S TA N C E S
  • 20. G I V E T R E E • Per document blockchain • Don’t wait for global consensus • Data provenance structures allows the tracking of how ownership of a piece of data got to you • TODO: Encrypt the content of the coins.
  • 21. G I V E T R E E s(A1) mint B1 s(mint) A1 Child nodes are signed by the keys encoded as owner of parent blocks. A2
  • 22. VA L I D AT E T H E G I V E T R E E • Verify the root content hash and mint signature match the unique coin id. • For each child in the tree, verify that the signature is correct and comes from the public key listed in the parent block. • Application level policy can flag branches of the tree that exceed a give limit. Physical objects are simulated with a give limit of one.
  • 23. G I V E T R E E to (Maude keys) on (content hash) signed (Maude) mint mintMaude
  • 24. G I V E T R E E to (The Dude) on (parent hash) signed (Maude) mint s(mint) A1 A1 Maude The Dude
  • 25. G I V E T R E E to (Donny keys) on (parent hash) signed (The Dude) s(A1) mint s(mint) B1 A1 B1 Maude The Dude Donny
  • 26. G I V E T R E E to (Walter keys) on (parent hash) signed (The Dude) s(A1) mint s(mint) B2 A1 B1 B2 "It went OK, the old man told me to take any rug in the house." Maude The Dude Donny Walter
  • 27. G I V E T R E E to (Walter keys) on (parent hash) signed (The Dude) s(A1) mint s(mint) B1 A1 A2 B1 B2 Maude The Dude Donny Walter Bunny
  • 28. G I V E T R E E to (Larry keys) on (parent hash) signed (Bunny) s(A1) mint s(A2) s(mint) C1 A1 A2 B1 B2 C1 Maude The Dude Donny Walter Bunny Larry
  • 29. L I M I TAT I O N S • The model, even if perfectly implemented, isn’t designed to prevent double spending, just to detect it. • Research project, currently only dealing with public content and signatures. • Haven’t implemented the Bill Murray rule yet. • Want multi-sig mint blocks
  • 30. I M P L E M E N TAT I O N • Cisco’s JOSE https://github.com/cisco/node-jose • Prova test runner http://github.com/azer/prova • Recursion!
  • 31. P R O VA T E S T I N T H E B R O W S E R W I T H O U T A N Y B U I L D S C R I P T S
  • 32. P R O VA A U T O M A G I C A L R E L O A D A N D R U N
  • 33. C I S C O N O D E - J O S E E A S Y A N D C O N S I S T E N T W R A P P E R A R O U N D W E B C RY P T O
  • 34. VA L I D AT E A C O I N • Validate the root of the Give Tree • Coin ID is correct • Content signature matches • Recursively validate all child nodes • Give limit policy violations are business errors, not validation errors
  • 35. VA L I D AT E T H E R O O T
  • 36. VA L I D AT E T H E R O O T
  • 37. VA L I D AT E C H I L D R E N Empty Callback!
  • 38. VA L I D AT E C H I L D R E N Recursion!
  • 39. N E X T S T E P S • Encrypted content • PouchDB storage & sync • Photo sharing application • Public key graph browser
  • 40. … P R O F I T • Distributed PKI • Illustrate to users the value of partial disclosure • Ecosystem interop • Native HTML5 blockchain • Platform for p2p social apps
  • 41. C O N C L U S I O N • We are the world computer, build expressive software • Blockchain assumptions can be inverted • There is more room for innovation than we think
  • 42. D O C U M E N T C O I N C RY P T O C U R R E N C Y F O R T H E G I F T E C O N O M Y Chris Anderson @jchris jchris@gmail.com QCon London 2016
  • 43. Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations /document-coin