1
Blockchain is for Robots
i.e not for Humans
Igor Artamonov
ETCDEV
Atlanta, GA, 2018
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
Going to talk about what is
blockchain, smart contracts,
IoT
3
What is Smart Contract?
4
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
6
7
A function that operates data
stored on blockchain.
No UI, no external
dependencies, just blockchain.
8
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
Examples of
Legal Smart Contracts
10
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
12
Tokens
A Smart Contract provides you a
functionality of sending/receiving some
digital assets
13
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
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
Maybe it’s not for humans?
16
A machine-to-machine protocol
for communication and
agreements?
Robotics/autonomous cars/home
automation?
17
EVM
Ethereum Virtual Machine
18
JVM & Java were
invented for devices
Write Once, Run Anywhere
19
Unfortunately it was also
Write Once, Debug Everywhere
20
21
No Timezones in EVM
22
No Filesystem in EVM
23
No Networking in EVM
24
No Random Values in EVM
25
No Floating Point in EVM
26
Sometimes to move into one
directions you need to be
limited in may other directions
27
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
SputnikVM



A standalone & embeddable EVM, compatible
with most of Ethereum based blockchains. IoT
is one of the main targets
Open Source, Apache 2
What problems of IoT can be
solved or what can be improved?
30
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
What blockchain really
provides?
32
Blockchain is
extremely slow Database
33
Blockchain is
extremely slow VM
34
Using blockchain you’re paying a
high price
Price of what?
35
Decentralization
36
Centralisation in IoT???
37
38
39
40
41
42
43
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
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
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
Blockchain based design
47
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
49
50
51
52
Thank You
53
54
ETCDEV
https://etcdevteam.com
Ethereum Classic

https://joinetc.tech
Igor Artamonov
splix@etcdevteam.com
@splix
linkedin.com/in/igorartamonov/

Blockchain and IoT / Atlanta BlockChainConf