# Ethereum for Resource Limited Devices

- Channel: [Devcon](https://streameth.org/devcon)
- Date: 2017-10-09
- Duration: 18:49
- Topics: blockchain, smart contracts, distributed ledger, ethereum, bob summerwill, ethereum iot, ethereum rasberry pi
- Watch: https://streameth.org/watch/yt-S7jT7IWRVlw
- YouTube: https://www.youtube.com/watch?v=S7jT7IWRVlw

## Description

Visit the https://archive.devcon.org/ to gain access to the entire library of Devcon talks with the ease of filtering, playlists, personalized suggestions, decentralized access on IPFS and more.
https://archive.devcon.org/archive/watch/2/ethereum-for-resource-limited-devices

State of the union and roadmap for mobile, wearables, SBCs and IoT running Ethereum

Speaker(s): Bob Summerwill
Skill level: Intermediate
Track: Society and Systems
Keywords: updates, roadmap, wearables, iot, mobile, resource, constraint, devices, security, java, c++, raiden, raspberry, pi, light, client

Follow us: https://twitter.com/efdevcon, https://twitter.com/ethereum
Learn more about devcon: https://www.devcon.org/
Learn more about ethereum: https://ethereum.org/ 

Devcon is the Ethereum conference for developers, researchers, thinkers, and makers. 
Devcon 2 was held in Shanghai, China on Sep 19 - 21, 2016.
Devcon is organized and presented by the Ethereum Foundation, with the support of our sponsors. To find out more, please visit https://ethereum.foundation/

## Transcript

and if Bob is going to talk about something a little bit different state of the union and roadmap for mobile wearables SBC's and IOT running aetherium hello let's see if this works this time hey hey okay fantastic slides so hi i i'm bob sim well i've most of my career has actually been in the games industry at EA sports i have been working on arm linux cross builds of the c++ client for the last year or so and then since february i've been working for the foundation as well on the c++ client and various other things this is my desk in vancouver got a Raspberry Pi here its various other PI's a no droid a project chip and in the background there I've got a Commodore 64 and an Atari I'm not trying to get a theory I'm thorough on it would be great if we could but I think they're a little bit low spec but I have been looking at mobile devices and wearables so what are resource constrained devices there's lots of different kind of constraints that you might have I mean ultimately all computing devices are constrained but really it's talking about things which are less capable than desktop machines and there's lots of different dimensions that might be happening in you know you might be limited CPU you know most desktops now 64-bit but 32 is going to be around for a long long time lots of them in these kind of devices are just single core they may be pretty low frequency as well limited memory limits its storage limited bandwidth limited power as well and also the OS itself may be limited lots of such devices are basically you know single app at a time so some kind of examples of these wearables you know be those smart rings or watches or health tracking devices mobile devices though they are very prevalent now they are very constrained compared to desktops even tablets same thing games consoles people often don't think of those as being constrained but they they are and more generally just in embedded devices lots of single board computers like Raspberry Pi and really IOT devices of all stripes is really where this stuff gets interesting so I mean why why would you care about having aetherium you know on your SmartWatch or any such device well really when you look at mobile computing I mean mobile computing now is mainstream computing for lots of people in the world their smart phone that they get is likely their first computer and really if you look at the specs on mobile devices they are of comparable specifications to what desktops were not so very long ago you've got mobile and then after that wearable taking it down a bit edge computing is a term that you'll hear more and more in the coming years really long along the theme that if you have billions and billions of devices they're not going to run client-server there's no way that you can have some you know mega farm that they're all talking to and waiting their instructions devices need to become autonomous to scale and also really along Andreas's analogy boundaries security is a dying paradigm really you need individual notes to be working on the assumption that they are in a hostile place and they need to be responsible for their own security this is not new on my right hand here I have a Java ring don't know if anyone is aware of the Java ring 1998 at the Java developer conference in 1998 this was a giveaway and what it is is a there is basically a chip in there running Java with a battery in there and the external part is actually a physical contact and it was doing public key encryption in 1998 and this is how it was envisaged it would be used lots of things that we're talking about now smart locks the the the blue dot the way that that works is you would you would physically touch your ring onto on to the blue button that would do signing using the private key that was in this device and really I mean barring the fact that you haven't got NFC at that point it's a lot of the sort of things that we're looking at now coming right up to the future this is the Samsung gear s 3 SmartWatch just being announced but not released yet on my other wrist I have a an s2 which is pretty similar spec to it but if you look at this you know you've got a you've got a dual core ARM chip 3/4 of a gig of memory 4 gig of flash storage not only Bluetooth and Wi-Fi but also LTE and GPS accelerates a gyro heart rate monitor and so on and and I mean the other thing that you have on this device is actually you've got a GPU with hardware accelerated to 3d graphics on your watch so this kind of caliber of devices obviously you know it's it's kind of top-end for that but it's indicative of how even these constrained devices are really moving up in spec but it's expensive project chip nine dollars and what you have there again you know you've got a system on a chip an arm device you've got a Mali GPU you know nearly as good as speck but it's nine dollars if you go down lower you're not gonna run a theory on this but espresso systems who are shanghai-based this chip you can get it for about for about $2 and it's it's about the cheapest kind of Wi-Fi capable device you can get you know again 32-bit risc chip I mean very very low specs but this kind of price point and this kind of caliber of device is likely to sort of creep up in specs to some of those higher ones over the coming years so you know that that kind of price point is not inconceivable for running an aetherium capable device in the near future this is a quote that you you know this is a figure that you see all the time is so you know gonna be 50 billion IOT devices by 2020 looks like the consensus on that has come down to 30 billion which is you know it's less but it's still gigantic number of machines so you might be thinking you know some of this stuff that you're saying here Bob off I think I've heard this before so this is Paul Brody who was previously at IBM leading project adept and and here is Henning who I believe is here later in the week and project depth was unveiled in January 20 2015 using Tallahassee BitTorrent and etherium and there are follow-on projects which are still going here which is really looking to to blend blockchain and IOT and these efforts are still really ongoing though the projects are changing this is still what we're all aiming for and this is a slide from one of the the project to DEP ones which is basically showing this this really long-term progression through from the 50s you know really small number of mainframes through personal computers through mobile and on and on and on and we are going to have a gigantic number of devices in the near future though who knows what the actual figures are going to be so I mean across that you've got a sliding scale of options really for aetherium you know the very easy thing to do on a very constrained device right now is basically not really to run anything on it but have it talked to a trusted server you know just sign transactions and talk to a trusted server I think that's kind of the integration route that you can see on a lot of of mobile devices but like client is a big big step up to it you know from that which is really you know it's it's it's really then running as a standalone node that is you know not assuming trust and then up through full node and archival but as we as we've heard if they're my client really really close now for myself you know the question of why C++ for resource constrained devices you know why why am I even bothering doing this why am I even looking at this rather than just you know the Geth implementation and and really the reason is that if you if you look at the the gains that were getting from Moore's Law they are slowing down you know there's only so small you can get and we're kind of getting towards the end of the line on that Amdahl's law is something which a lot of people are not aware of but it's gonna become very very important in the coming years and what what Amdahl's law is is is saying is that you know not everything that there is can be parallelized you know to an infinite degree programs do have you know critical path pieces which are serial by nature and depending on the parallel proportion that you have available you are basically capped on how much speed you can get by by adding more cores and and it's and it's a fact really that for the majority of general-purpose programs that constant it's probably really quite quite low you know you see on on PCs there's very few apps that can take advantage of you know four eight sixteen cause you just end up with multiple apps running in parallel so I mean what that means is is raw performance does ultimately matter you know you see now also compiler settings optimizing for power usage that where you're running from batteries actually the you know the power drain it does matter also modern C++ doesn't suck any more most C++ is not modern C++ but you can write C++ apps that look fairly similar to other ones but most importantly is maximum portability is C and C++ you know they are the language which pretty much all OSS and systems programming is done in so really when you when you're looking at these very constrained devices having the raw power of of C++ does actually matter so cross cpp aetherium is is what i've been working on for the last year in a bit and it's dhaka files and bash scripts to cross build cpp aetherium to to arm linux and you know we have the first successful cross built binary is in november of last year it's been largely stalled since then and especially since february when i joined the foundation and then i've been just working for the foundation on foundation things not on my own project here but very soon I will be starting on my client implementation for C++ I did receive a grant for that which I'm very grateful and I hope to actually do some work on that soon so number of devices have had success for this already Yolo phone running sailfish OS also a bun two phone a goodly variety of single board computers and I'm targeting further SBC's and Tizen and Android and iOS very low demand really for for x86 for Intel arm is where it's at looking beyond my work peter has had go aetherium cross builds working for a goodly amount of time there on on arm arm 64 and more recently on mips as well interestingly the light client work so Zolt we'll be presenting on his progress on light client as well and the stats here are from John Garrett's on what he is seeing of that le s branch running on a Raspberry Pi 3 so so the binary 25 mag the chain data only coming in at 50/50 mag only using 12 percent of CPU and the high high watermark on the RAM of 162 so I mean these figures are very much very very doable on a lot of these devices nine nine minutes therefore ahead of sync the the smallest device that I'm aware of that we've got etherium running on so far as a Raspberry Pi a which is a very very weedy device and that was full clients as well that was prior to any of this le s work so it's quite conceivable that we can that we can have etherium running on something even we do than or asbury pi a and getting down to some really really very minimal devices and whisper you know so whisper development has restarted quite recently that's also something which is going to be very applicable for these kind of devices and also Raiden I haven't got on slides here I'd kind of forgotten but Raiden is gonna be very very applicable to these kind of devices so you know what are the ultimate constraints on on running aetherium on on limited hardware so yeah I mean the specs there on the Raspberry Pi model a you know it's a single core only 256 mega memory 700 megahertz that device can run full client the problem is that the you know the full sync on that it can barely keep pace that no longer a problem though if you're running like client so I mean you know what are the ultimate constraints well the CPU is got to be able to execute the the VM fast enough you know this kind of collaborative device can do that you've got to have enough memory I'd imagine that's gonna stay around the same even with like client even through Casper as well and you need to have enough storage for blocks though the storage bottleneck there really goes away quite a lot with with like client when you're running a full node and you're having to sync from from the start the you know the performance can really matter you know having an SSD makes a huge difference but that's only really relevant if you're doing a load of work and the aim is not to do a load of work anymore and the network connections got to be good enough so yeah we're gonna see aetherium on a lot of devices and they are going to be very very weak devices and they'll be able to cope just fine there are multiple threats of work going on to reduce the resource needs so you know we we can cope now and the demands are gonna get a lot lower so it's only gonna get better thank you so much Bob and there we go yeah we'll be a delight with blockchain
