Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
David Birch - AI and the Blockchain
1. @dgwbirch Please copy and distribute (last updated 22 June 2019) 1
AI and the
Blockchain
How exactly will they
work together?
Dutch Blockchain Innovation
Conference
June 2019
AI will probably most likely lead to the end of
the world, but in the meantime, there'll be
great companies - Sam Altman
2. @dgwbirch Please copy and distribute (last updated 22 June 2019) 2
David G.W. Birch
author, advisor and
commentator
Global top 15 favourite sources of business information (Wired
Magazine);
London FinTech Top 10 most influential commentators (City A.M.);
Top five leader in IDentity (Rise);
Top 10 Twitter account followed by innovators, alongside Bill Gates
and Richard Branson (PR Daily);
Top 10 most influential voices in banking (Financial Brand);
Europe’s most influential commentator on emerging payments (Total
Payments);
Emerging Payments Association contributor of the year.
3. @dgwbirch Please copy and distribute (last updated 22 June 2019) 3
Agenda
A few ideas about AI and the blockchain
Where do blockchains actually need AI?
So here’s the business idea
4. @dgwbirch Please copy and distribute (last updated 22 June 2019) 4
Wow. AI.
Blockchain.
I mean wow there is nothing the blockchain cannot do so
with artificial intelligence as well it will be, like, amazing
6. @dgwbirch Please copy and distribute (last updated 22 June 2019) 6
Wow.
Blockchain. Amazing.
7. @dgwbirch Please copy and distribute (last updated 22 June 2019) 7
Wow.
Blockchain and AI. Amazing.
8. @dgwbirch Please copy and distribute (last updated 22 June 2019) 8
OK.
Meanwhile, back in the real world…
9. @dgwbirch Please copy and distribute (last updated 22 June 2019) 9
Hello.
“Smart” “Contracts”
10. @dgwbirch Please copy and distribute (last updated 22 June 2019) 10
Hello.
“Smart” “Contracts”
April 2019
11. @dgwbirch Please copy and distribute (last updated 22 June 2019) 11
Hello.
“Smart” “Contracts”
May 2019
12. @dgwbirch Please copy and distribute (last updated 22 June 2019) 12
Hello.
“Smart” “Contracts”
June 2019
13. @dgwbirch Please copy and distribute (last updated 22 June 2019) 13
“Hello world”
“How to build your first Hyperledger App” tutorial, chainhero.io
14. @dgwbirch Please copy and distribute (last updated 22 June 2019) 14
People are really
bad at writing code
I mean really bad
14
15. @dgwbirch Please copy and distribute (last updated 22 June 2019) 15
But humans are really bad at coding without error. Programs that can’t be fixed once
they’re deployed need formal methods, functional programming and preferably a non-
Turing-complete language. You need to program like NASA programming spacecraft.
Programs that cannot be allowed to have bugs … can’t be bodged by an average
JavaScript programmer used to working in an iterative Agile manner. And particularly not
a programmer who’s copying and pasting code like they’re still doing web site front ends
and hitting StackOverflow for cribs.
David Gerrard “Attack of the 50ft Blockchain”.
16. @dgwbirch Please copy and distribute (last updated 22 June 2019) 16
…the quality of these projects is terrible, and here I’m not talking about any specific
projects. Projects in general on blockchain have lots of bugs. People copy/paste the
code from Open Zeppelin. They don’t even read the code. They copy the wrong code all
the time. Every one of them is hackable. A lot of people have the perspective, “Well,
we’ll fix it later.” But you really should be doing things correctly the first time if you’re
touching blockchain.
William Entriken, the lead author of the ERC-721 standard in “The Tokenizer” on 20th
May 2019
20. @dgwbirch Please copy and distribute (last updated 22 June 2019) 20
Strategy
Get robots to do the hard stuff
20
21. @dgwbirch Please copy and distribute (last updated 22 June 2019) 21
So Get a Machine
Let the robots write
‘smart” ”contracts”
2
1
22. @dgwbirch Please copy and distribute (last updated 22 June 2019) 22
AI and the Blockchain
22
AI
Very good at learning
to do things that are
boring and
uncreative, like
programming
Blockchain
The real opportunities
aren’t the in
consensus computer
but the consensus
applications
Apps
Get AI to turn real
business ideas into
consensus
applications
23. @dgwbirch Please copy and distribute (last updated 22 June 2019) 23
in the future, everyone will be famous for fifteen megabytes
engage 15Mb Ltd.
post 1 Armadale Road, Woking, Surrey GU21 3LB, UK
call +44 1483 834631
contact dave@15Mb.ltd
visit www.15Mb.ltd
follow @dgwbirch
comment blog.dgwbirch.com
connect https://www.linkedin.com/in/dgwbirch/
order amazon.co.uk “Before Babylon, Beyond Bitcoin”
Editor's Notes
There is a character flaw in some people (eg, me) which means when they see something that is obviously wrong on Twitter they feel compelled to comment. This is why I couldn’t stop myself from posting a few somewhat negative comments about an “infographic” on the connection between AI and the blockchain, even though I could have jut ignored the odd combination of cargo cult mystical thinking and near-random jumble of concepts and gone about my day.
The particular graphic made a number of points, none of which are interesting enough to enumerate here, but at its heart is the basic view set out, here for example, that blockchain and AI are at the opposite ends of a technology spectrum: one fostering centralised intelligence on closed data platforms, the other promoting decentralised applications in an open-data environment.
Neither of these things is true. Whether an AI is centralised or decentralised is tangential to whether it uses centralised or distributed data, and whether “blockchain” is used by centralised or decentralised applications is tangential to whether those applications use AI. What is important to remember is that decentralised consensus applications running on some form of shared ledger technology can only access consensus data that is stored on that ledger (obviously, otherwise you couldn’t be sure that all of the applications would return the same results). An AI designed to, for example, optimise energy use in your home would requires oracles to read data from all of your devices and place it on the ledger and then another set of factotums to read new settings from the ledger and update the device settings. What’s the point? Why not just have the AI talk to the devices?
There is, however, one part of the shared ledger ecosystem that might benefit considerably from a shift to AI and this is the consensus applications themselves. People are very bad at writing code, by and large, and as the wonderful David Gerard wrote about the chapter “Smart contracts, stupid books” in his must-read “Attack of the 50 foot blockchain”, “programs that cannot be allowed to have bugs … can’t be bodged by an average JavaScript programmer used to working in an iterative Agile manner… And you can even deploy fully-audited code that you’ve mathematically proven is correct — and then a bug in a lower layer means you have a security hole anyway. And this has already happened”.
It seems to me that one thing we might expect AIs to do better than people is to write code. Researchers from Oak Ridge National Laboratory in the US foresee AI taking over code creation from humans. They say that machines, rather than humans, "will write most of their own code by 2040”. They’ve started already. AutoML was developed by Google as a solution to the lack of top-notch talent in AI programming. There aren’t enough cutting edge developers to keep up with demand, so the team came up with a machine learning software that can create self-learning code… Even scarier, AutoML is better at coding machine-learning systems than the researchers who made it.
Programs that cannot be allowed to have bugs … can’t be bodged by an average JavaScript programmer used to working in an iterative Agile manner. And particularly not a programmer who’s copying and pasting code like they’re still doing web site front ends and hitting StackOverflow for cribs.
And you can even deploy fully-audited code that you’ve mathematically proven is correct — and then a bug in a lower layer means you have a security hole anyway. And this has already happened.
Remember that not even Gavin Wood — the Ph.D computer scientist who wrote the Ethereum protocol specification — could write a smart contract safely enough not to lose hundreds of millions of dollars of his startup’s ICO funds in the Parity wallet disaster last November.
TT: What are the primary obstacles for this to happen and for the full potential of this to be realized?
A second barrier is that the quality of these projects is terrible, and here I’m not talking about any specific projects. Projects in general on blockchain have lots of bugs. People copy/paste the code from Open Zeppelin. They don’t even read the code. They copy the wrong code all the time. Every one of them is hackable. A lot of people have the perspective, “Well, we’ll fix it later.” But you really should be doing things correctly the first time if you’re touching blockchain. A way to fix that is by having a bug bounty and having a lot of money in your bug bounty; that’s how you ensure your product is high quality. You track people to have them break your project to tell you.
interview with William Entriken, the lead author of the ERC-721 standard in “The Tokenizer” on 20th May 2019.
Abstract—Programming trends suggest that software development will undergo a radical change in the future: the combination of machine learning, artificial intelligence, natural language processing, and code generation technologies will improve in such a way that machines, instead of humans, will write most of their own code by 2040. This poses a number of interesting challenges for scientific research, especially as the hardware on which this machine-generated code will run becomes extremely heterogeneous. Indeed, extreme heterogeneity might drive the creation of this technology because it will allow humans to cope with the difficulty of programming different devices efficiently and easily.
Abstract—Programming trends suggest that software development will undergo a radical change in the future: the combination of machine learning, artificial intelligence, natural language processing, and code generation technologies will improve in such a way that machines, instead of humans, will write most of their own code by 2040. This poses a number of interesting challenges for scientific research, especially as the hardware on which this machine-generated code will run becomes extremely heterogeneous. Indeed, extreme heterogeneity might drive the creation of this technology because it will allow humans to cope with the difficulty of programming different devices efficiently and easily.
Abstract—Programming trends suggest that software development will undergo a radical change in the future: the combination of machine learning, artificial intelligence, natural language processing, and code generation technologies will improve in such a way that machines, instead of humans, will write most of their own code by 2040. This poses a number of interesting challenges for scientific research, especially as the hardware on which this machine-generated code will run becomes extremely heterogeneous. Indeed, extreme heterogeneity might drive the creation of this technology because it will allow humans to cope with the difficulty of programming different devices efficiently and easily.
When we’re talking about “smart” “contracts” though we’re not talking superhuman programming feats, we’re really talking about messing around with Java and APIs. Luckily, last year a new deep learning, software coding application that can help human programmers navigate Java and APIs. The system—called BAYOU—was developed at Rice University with funding from the US Department of Defense's Defense Advanced Research Projects Agency (DARPA) and Google. It trained itself by studying millions of lines of human-written Java code from GitHub, and draws on that to write its own code.
Putting two and two together then, I think I can see that if there is an interesting and special connection between AI and “blockchain” then it’s not about using the blockchain as a glorified Excel spreadsheet that AIs share between themselves, it’s about writing the apps for those shared ledgers.