DAPPCON 2018: Golem: Current Status, Challenges and the Way Ahead - Aleksandra Skrzypczak (Golem)
DappCon 2018 · July 2018 · 15:52
Aleksandra Skrzypczak of Golem reviews the decentralized computing network's status at DappCon 2018, covering the challenges the project has faced and its roadmap going forward. The talk situates Golem's marketplace for shared computing power within the broader landscape of decentralized applications built on Ethereum.
Speakers
Topics
From DappCon 2018, hosted by Dappcon Berlin.
Transcript
hello I'm Alex and his cryptic and co-founder of golem and I'm here to tell you about the current state of the project what are we working on right now and what you can expect from us in the future so like the most interesting parties in the middle of this talk so stay with me look like so what's the column one is the centralized market for computing power so if you're like a developer or professional that needs to run a huge computation you can rent computers from our network instead of paying for this huge cloud provider and if you like normal users with powerful machine that is online all the time anyway you can show it with our network and turns on some tokens for it so where are
we we're live on my nuts in Seville with the first use case which is blender and the ring and the hawaii's there are like six two thousand hundreds of nodes connected to the network that blender artists can use it's a better stage it's better because we're still missing one service which is called constant and it's used only in a case of config between a crystal and provider there are five fused cases that needs to be implemented three of them are already on test nuts miss the last major release and two additional use cases are implemented when they are just passing
security and scalability tests we've collected stats from the user to improve the weeks and add new features for example recently you can choose what kind of computers you want work with for example just real computers that like that are like two times more powerful than your machine and we're working on adding GPIO support two alternative implementations in our repository and NVIDIA by Nvidia docker based implementation should go by thing like next few weeks that's how how our application looks
like if you haven't tried yet I encourage you to go to Collinwood Network find the download instruction instantly and just play with it we've got Windows Linux and Mac OS version and we're trying to make it more and more user friendly with every version for example you can see this improved task list where you can check more stats that was added in he's going to be added to the next three days okay so what else are we working on verification when someone hears the word golem the first question they usually ask is how are you going to verify the computation and that's actually pretty good question and there's no is the
answer especially that like in the world that we were living it's not deterministic in a blockchain space we used deterministic smart contacts and we want to use something like true--but algorithm where we can compare the data bit by bit and first there's one difference one bit of difference than one of the solution is wrong but it like in the real world it's not that simple for example in blender you can have two pictures that were rendered correctly but they are slightly different you cannot see the difference with your bare eye but if you compare the pixel RGB values you can see there is like you
know one one point difference or like there are some differences on the edges of this machine so how can we deal with it we can you use image comparison algorithm and how a CGI team used machine learning to create this decision tree and train a classifier that is using different image features to classify properly in mattresses to one that were properly under or not apart from that I'm talking about Blanda which is the first support to choose guys about the colon is not a render
farm especially it's not in blender and their farm we want to make it a generalized solution for generalized computation so we're exploring new useless space we are implementing machine learning huge guys we are implementing video transcoding we're playing with scientific computation biology cryptocurrency mining and we still looking for new use cases can be implemented so if you developer and you know I use case that man we like a good fit for Gollum please contact us we'll reach back to you we'll try to make an interview and try to figure out if it's a technical feat and if it is we can try
to create intonation together there are some grants program and just keep in mind that there are some technical boundaries like for now you cannot send too much input data so if you have input data bigger than one gigabytes is probably not a good use case for going right now also keep in mind that those 600 computers that are in the network I distributed across the globe so they're not a cluster you need computation that don't need to be synchronized so often just can be run in a completely distributed manner
okay so now that's the cool part because there was this first question how are you going to verify the computation and there is the second question how are you going to protect the data and one potential solution for both of these questions is Intel Astrix technology like for years people were working on solution to protect the host machine from the software that is run on it like the concept of protecting software from the host is still exciting you and Hydra solution might be an answer here so there is Intel technology that you can
use to make sure that no one is modifying your code no one can check the data that you execute that sounds cool right so why people are not using it in production so often for bigger application and the answer is that it's not easy to create code that can run inside and clave you have to write C++ code that is especially compiled for Asterix and to have to predict we're going to make all the system system operation system calls and replace them with the proper as3x goals so you can write small applications like that but with writing a huge part of code of code
especially if you're using some external libraries that's only difficult so how can we solve it people are working on libraries that are translating the system operation calls into Astrix calls and they're like super effective that are doing that especially cool one is called graphing and it's cool because this layer cut from adaptation layer that is making calls to patient system is especially narrow and that way we can only have this well test at well-defined holes that I'm
minimizing this interaction with untrusted environment sounds right so why people are not using that in production and the reason for that is that it's like a scientific side project and it was not production ready there were many bugs in the codes and race conditions and we tried to have multi-threading application it fails badly so our friends and partners from invisible things lab started to work in Congress on modifying heat fixing bugs and improving it in a way that allowed to finally run bigger and
multi-threading applications like bandar additionally what they funded is dr. integration and ability to make sure that the code that was executed in this we - the wrapper was really executed in the entrance so we get that a data protection and verification at the same time and you don't have to write your own code you can use arbitrary banaji just wrap it in our dr. container has prepared by invisible things up and it's working so one more time while it's important and why it can be used also in other
projects not necessarily only in Gollum you don't have to write your own C++ code you can use arbitrary Benari you can take your docker image just modify three lines and hurried from the doctor that was prepared by d2l at mine if has the described tiles that are needed to be put inside this Enclave and voila you have the same security level verification and protection of the data and data ready so why people are not using that because they haven't heard about it yet yes that's nothing that is really going to modify the blockchain space so please check this docker ok there's one but so
if you run application inside and hide this like limited memory that this that you can use it's like 128 megabytes of data and if your application requires smaller memory it will require some on fly paging that is supported by Intel but we all like reduce the efficiency of your application it's not a huge difference so if you're not using memory in a very strange way like maybe some random calls just normal input and output operation it shouldn't be more than 30% yeah we
were able to hand our blender dr. Whitley's promo video images that you some of you maybe have seen inside and life and rendering time was pretty nice okay so what else are we working from clay so if you remember our roadmap from the white paper the next stage is going to be called clay analyze application which better tasks API and we have a team of our best developers actively working on it and it's not longer come and be written in Python some of the
parts that they are creating from skeletal and they fixing the HCP it in rust marketplace so marketplace is like this central component of goal and where you magic providers and requesters and trying to achieve two different goals like for providers you want to maximize the earnings and for requesters you want to minimize the cost of the computation and minimize the time of the computation so how can we fulfill those two opposite goals and in the same way you make the market more balanced algorithm that we are using right now are really really
simple so we have this research team of scientists and mathematicians working on improved model for the marketplace we provide a selection function and task selection function I will give you a glimpse on the next slide then this side project which is called unlimited go on unlimited which is a go on that is designed for small data centers in corporate networks that allow you to form some clusters decreased trust requirements so you can have the your
company network represented from the external as one very powerful column note and inside its network you only stupid they tie in a slightly different way we are so exploring other by actual parts as cheeks and father use it of as cheeks what I forgot to mention is that with invisible things laughs we've created a for cover fan which is called - Angie so you cannot find this the container and improvements in of general - depository you can search our repository for - Angie and apart from these two issues so
replication and securing the computation it can be also potentially used for the centralizing the constant service for making constant service more efficient and also there is potential problem of liberalizing as to ich so it cannot be verified not only by Intel company but also by other people that can sign the and click OK and here for the glimpse of what the new marketplace is going to look like because right now when you're choosing to the best providers nodes it's like
first come first serve so if the note is proofing the requirements a bit like these performance requirements and have a nice price it's gonna get a task but we can better it's like this advertised on multi-armed bandit problem so we can imagine a guy in Las Vegas playing one bandits and having just a limited amount of coins and wanting to maximize his earnings so he can try different machines and use the one that he already know this has like high probability of winning and high ward or he can try new ones and building information about the probability distribution of the
computation there and there is a proposed algorithm and don't care about the the equations here like we're going to publish the white paper with this case looks like it's just an orphan for the demo of order for this talk