1. 1
Blockchain is for Robots
i.e not for Humans
Igor Artamonov
ETCDEV
Atlanta, GA, 2018
2. 2
Software engineer, distributed systems, data
processing, security, Java
Followed Ethereum Classic blockchain when
Ethereum ETH made the fork in 2016, which
violated base principles of public blockchain.
Founder of ETCDEV, a leading Ethereum Classic
development company with a strong focus on
decentralized computing providing long term
support for the ETC blockchain.
Igor Artamonov
3. Going to talk about what is
blockchain, smart contracts,
IoT
3
5. 5
Token
• A code that keeps track of a balance of its users
• User A can send X tokens to user B
• getBalance(A)
• transfer(A, B, X) ->
• balance A minus X
• balance B add X
8. A function that operates data
stored on blockchain.
No UI, no external
dependencies, just blockchain.
8
9. 9
"A smart contract is a computer protocol intended to
digitally facilitate, verify, or enforce the negotiation or
performance of a contract.»
From Wikipedia
Smart contracts were first proposed by Nick Szabo,
who coined the term in 1994
11. 11
Insurance
You pay to a Smart Contract and in the event of a
covered loss you get compensation from that contract.
But the event happens offline, people are trusted
parties in that schema. And then can talk to each other
w/o blockchain
14. Most of the people understand Smart Contract in
legal terms.
Not always true, sometimes it is just a code
executed on blockchain.
In many cases humans are not involved. In most
cases there are no legal agreement and it’s not
enforceable.
14
15. Smart Contracts is a program executed on
blockchain, but the term «Contract» influenced the
industry too much, everyone is trying to issue a
token or make some legal agreement on blockchain
now :(
IBM Hyperledger has term «chaincode» which
maybe better represents the idea
15
27. Sometimes to move into one
directions you need to be
limited in may other directions
27
28. 28
Ethereum Virtual machine is close to mathematical function, code executed in it
will always produce exactly same result for same inputs, and it works in a fully
isolated environment.
It’s a fully deterministic, architecture neutral, portable and secure.
Can recover from issues, data loss. Easy to debug. Easy to build fault tolerant
systems.
29. 29
SputnikVM
A standalone & embeddable EVM, compatible
with most of Ethereum based blockchains. IoT
is one of the main targets
Open Source, Apache 2
31. Hardware Difference
31
Basically what what proposed by JVM, a developer shouldn’t care about
underlying hardware.
A developer writes, tests and debugs code using one OS + hardware, run on
another platform and it works in exactly same way
44. Hardware + OS
44
It’s hard to write code for different hardware (and operating system)
Easier to outsource as much as possible to a central server with more
comfortable environment
EVM can be that comfortable environment to execute business logic
45. Security
45
Security is hard, especially when device is not under your control
Easier to have central server with all security stuff
Blockchain is designed for insecure environments
46. Updates
46
End users never do updates, automatic updates are hard
Central server is always up-to-date
Smart contract based logic easier to update
48. 48
• Separate blockchain for a network of devices, maybe private and isolated,
maybe a sidechain
• Proof-of-Work is too expensive for such kind of applications, so some trusted
setup
• Some devices can’t afford a full node, but can be powerful enough to send
transactions to the network
• With trusted local network you can listen to events on EVM running on another
device