 Bob is going to talk about something a little bit different. State of the Union and roadmap for mobile wearables, SBCs, and IoT running Ethereum. Hello. Let's see if this works this time. Hey, hey. OK. Fantastic. Slides. So, hi. I'm Bob Somwell. 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. Various other pies. An Odroid, a project chip. And in the background there, I've got a Commodore 64 and an Atari. I'm not trying to get Ethereum to run ARM. 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 kinds 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 might be limited CPU. 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, limited storage, limited bandwidth, limited power as well. And also, the OS itself may be limited. Lots of such devices are basically single app at a time. So some kind of examples of these, wearables, 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 are. And more generally, just 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 would you care about having Ethereum 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, 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 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, boundary security is a dying paradigm. Really, you need individual nodes 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 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 blue dot, the way that that works, is you would physically touch your ring onto the blue button. That would do signing using the private key that was in this device. And really, 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 S3 smartwatch, which has been announced but not released yet. On my other wrist, I have an S2, which is pretty similar spec to it. But if you look at this, you've got a dual core ARM chip, 3 quarters of a gig of memory, 4 gig of flash storage, not only Bluetooth and Wi-Fi, but also LTE and GPS. Accelerator gyro, heart rate monitor, and so on. And I mean, the other thing that you have on this device is actually, you've got a GPU with hardware-accelerated 3D graphics on your watch. So this kind of caliber of device is obviously, 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, $9. And what you have there, again, you've got a system on a chip, an ARM device, you've got a Mali GPU, nearly as good as spec. But it's $9. If you go down lower, you're not going to run a theory on this. But expressive systems, who are Shanghai-based, this chip, you can get it for about $2. And it's about the cheapest Wi-Fi-capable device you can get. Again, 32-bit risk chip, very, very low specs. But this kind of price point and this kind of caliber of device is likely to creep up in specs to some of those higher ones over the coming years. So that kind of price point is not inconceivable for running an Ethereum-capable device in the near future. This is a quote that you know, this is a figure that you see all the time, is going to be 50 billion IoT devices by 2020. Looks like the consensus on that has come down to 30 billion, which is less. But it's still a gigantic number of machines. So you may be thinking, some of this stuff that you're saying here, Bob, I think I've heard this before. So this is Paul Brody, who was previously at IBM leading Project Adept. And here is Henning, who I believe is here later in the week. And Project Adept was unveiled in January 2015 using Telehash BitTorrent Ethereum. And there are follow-on projects which are still going here, which is really looking 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 Project Adept ones, which is basically showing this really long-term progression through from the 50s, 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 Ethereum. 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 talk to a trusted server, just sign transactions, and talk to a trusted server. I think that's the integration route that you're going to see on a lot of mobile devices. But like Client is a big, big step up to it from that, which is really then running as a standalone node that is not assuming trust, and then up through full node and archival. But as we've heard, Ethereum like Client, really, really close now. For myself, the question of why C++ for resource constrained devices, why am I even bothering doing this? Why am I even looking at this rather than just the get implementation? And really, the reason is that if you look at the gains that we're getting from Moore's Law, they are slowing down. 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 going to become very, very important in the coming years. And what Amdahl's Law is saying is that not everything that there is can be parallelized to an infinite degree. Programs do have 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 adding more cores. And it's a fact, really, that for the majority of general-purpose programs, that constant is probably really quite low. You see on PCs, there's very few apps that can take advantage of 4, 8, 16 cores. You just end up with multiple apps running in parallel. So what that means is raw performance does ultimately matter. You see now also compiler settings optimizing for power usage that where you're running from batteries, actually, the power drain, it does matter. Also, modern C++ doesn't suck anymore. 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++. They are the language which pretty much all OSes and systems programming is done in. So really, when you're looking at these very constrained devices, having the raw power of C++ does actually matter. So cross-CPP Ethereum is what I've been working on for the last year in a bit. And it's docker files and bash scripts to cross-build CPP Ethereum to ARM Linux. And we have the first successful cross-built binaries 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 like-lite 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 a number of devices have had success for this already. YOLO phone running selfish OS, also a Buntu phone, a goodly variety of single-board computers. And I'm targeting further SBCs and Tizen and Android and iOS. Very low demand, really, for X86 for Intel. ARM is where it's at. Looking beyond my work, Peter has had Go Ethereum cross-builds working for a goodly amount of time there on ARM64 and more recently on MIPS as well, interestingly. The like-client work. So Zolt will be presenting on his progress on like-client as well. And the stats here are from John Garrett on what he is seeing of that LES branch running on Raspberry Pi 3. So the binary 25 mag, the chain data only coming in at 50 mag, only using 12% of CPU and the 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 minutes there for a header sync. The smallest device that I'm aware of that we've got Ethereum running on so far is 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 LES work. So it's quite conceivable that we can have Ethereum running on something even weedia than a Raspberry Pi A and getting down to some really, really very minimal devices. And whisper. 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 gone out on slides here. I'd kind of forgotten. But Raiden is going to be very, very applicable to these kind of devices. So what are the ultimate constraints on running Ethereum on limited hardware? So yeah, I mean, the specs there on the Raspberry Pi Model A, it's a single core, only 256 mega memory, 700 megahertz. That device can run full client. The problem is that the full sync on that, it can barely keep pace. That no longer a problem though, if you're running a light client. So I mean, what are the ultimate constraints? Well, the CPU's got to be able to execute the EVM fast enough. This kind of caliber of device can do that. You've got to have enough memory. I'd imagine that's going to stay around the same, even with light 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 light client. When you're running a full node and you're having to sync from the start, the performance can really matter. 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 connection's got to be good enough. So yeah, we're going to see Ethereum 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 threads of work going on to reduce the resource needs. So we can cope now and the demands are going to get a lot lower. So it's only going to get better. Thank you so much, Bob. And there we go. Yeah, that's great. IOC will be a delight with blockchain.