Devreal

SF Scala: Dmitry Meshkov interview

SF Scala: Dmitry Meshkov interview

Recording: SF Scala: Dmitry Meshkov interview

hello everybody I'm Alexi crabber of the organizer of SF Scala and also the new metal called SF in tech and blockchain developers and here we are their second SF in tech on location of marquita which is a payment company out of Auckland it's a beautiful space as you'll see and here with us we have mid ramesh cove who is co-founder of argo platform a new platform for cryptocurrencies and also the developer of score X location implementation written scholar welcome to misery yeah hi everybody so the middle you just give a talk at Cesc conference in Berkley can you tell us what brings you to Berkley and what did you describe in your talk there yeah yeah so CA C is a conference about crypt economics it's a crypt Economic Security Conference and well mainly I'm here because a lot of interesting people are also here as I think the main idea of all of this conference to make some networking and to collaborate to discuss something as far as I know it's the first conference about economics in cryptocurrencies in a topic of security so it's not just you know general economic speech it's more scientific [Music] conference and my talk there was about our new economic model we are going to implement it in our NGO it's still in progress so it's not a final version but here mine I may start a bit at at all that tell you a bit about our our NGO platform maybe yeah so you know we we have a score ox framework we I mean me and Alex Jeremiah who created this framework its main idea was to implement some interesting features it's a model of framework so you can implement just one feature and have all other features for free and we cooperate it with a vhk company that is a research company so we have implemented quite a lot of prototypes for different scientific ideas found some bottleneck there and now we decided that we have quite a lot of interesting idea that due to not to be implemented in a new blockchain so we are going to implement a lot of different ideas that should complement each other and one part of this Erika platform is a economy model so for now it's not well discussed topic actually so most of cryptocurrencies just copy Bitcoin stuff without any research and update and our idea is to make every aspect of blockchain at least a bit better at least we should make some research and choose the best parameters here mm-hmm interesting and so and also you in addition to having this kind of advanced Cal implementation you also develop this efficient memory data structures right that let you keep the state of the yeah so you talk about our authenticated data structure right it's not actually even so efficient its idea is a bit different it's authenticated so you can put any data to this data structure and you can provide the proof for some element in this data structure that it exists in a proof but it was well known before us but in addition we can provide the proof of modification so we have some value see now a data structure and you can provide the proof you changed this value to a new value and you changed nothing miles so it's a symmetric design there is a proven and there is a verifier and proved accretes proofs that he updates some well using his data structure and the only thing where if I should keep in his local storage is just 32 bytes of hash hash of this data structure he can verify everything without any trust to anybody and that's extremely important for untrusted distributed blockchains systems like a Bitcoin because this list data structure it's possible to provide the proof for example that transaction is correct that the sender actually have this money so the one of our ideas of occupied from is to create a symmetric design to provide proofs for everything and us verify can download just a small small piece of data to your mobile phone like 100 kilobytes and you can verify everything without any trust to to anyone interesting interesting and you mentioned I think you mentioned another number like one hundred eighty two gigabytes which is the total Qi bytes you're right kilobytes okay your voice is different okay so you don't need you basically don't need the whole blockchain that's yeah yeah only needs from the whole block chain that is a few hundred kilobytes you all right sorry so all you need is just this small piece one hundred kilobytes it's it's very small actually you can download it on your mobile phone it's less than any code and you can start work with this blockchain without any trust that is absolutely new feature now because in existing block chains it's impossible to do such as hey you should download quite a lot of data mmm to start transaction creation for example in Bitcoin or he theorem and actually this leads to wallet centralization a lot of users don't like to download this big data set to the devices they prefer to use web wallets they they think that it's okay to trust this web wallet the developers but sometimes this leads to big steals we have an example from a theorem classic when the most popular web wallet was compromised and the attackers stilled a lot of private keys a lot of money and actually he can steal money and show you as if you still have this money on your balance so you open the balance you see 50 theorem on your balance but actually you don't have right because it's just a web interface that shows you something but you can check that it's also correct information interesting this is great so so so I'm curious right like so you guys published the research paper of this and so anybody can take an implement so well I can curse folks at the conference percent like they're gonna use the this data structures right so so I mean how does this space work right first of all the stuff that was not the block chains right so we should want to compete with and you publish your key results in open how do you think you're gonna compete what is your competitive advantage well first of all I should note maybe my and not only my the whole idea about this area is that everything should be open to open source no research should be open that's as far as I can see it the only way in decentralized system because it's a nonsense cryptocurrency has a closed codes because there may be some backdoors and so on in each total protocol should be known some papers should be known it's much better to have them published on some pure buuuut conference like thermos for example if published these have a paper about authenticated data structure financial cryptography conference we have some feedback from interviewer and it's very important for security reasons so how the people should check that your ID is correct right there are now holes here there are no problems with that and another you mentioned other guys that are going to implement the same stuff actually I like it absolutely like this I mainly now blockchain industry is like not a competition between different block chains I think but it's mock competition between block chains as as a whole the community be to classical banks to fiat money and so on so I don't feel very big you know convention yeah it's not a problem to have the same features and different block chains work change collaborate and that's also what I like in this area because different team collaborate share their experience share ideas it's very open space to discuss them ideas and so on cool so you were a physicist yeah so can you tell us how do we get from physics to walk chain well actually it took me few steps not just one so yeah I graduated from Moscow State University from physical departments in it and then I become to be a PhD student and Moscow Institute of chemical physics and I completed my PhD there but mainly I was my scientific area was a computer simulation so I wrote programs I made some simulations of chemical processes well my specialization was in a macromolecule astronomers all this stuff is actually quite interesting because for example bro blockchain growth is very similar to polymer growth mm-hmm so when you create a polymer is almost the same as when you create block chains mm-hmm but it's not a topic here so I was a developer I was a student a PhD student and then I worked in a few just IT companies as a record developer and when I you know left my last regular job maybe from my previous life actually it was quite boring for me all this I never stayed in one place for more than a year and I decided to make some stop and to research what I interesting topics away in an area and then I decided to study blockchain said it was an interesting topic for me but it was someone on background and I know I know that there is Bitcoin it is something interesting but I have no time to study how does it work right when I get some time I decided to research this to understand how does it work and that's actually how I found Scottish project and my current Kovach and co-founder of ergo plate from Alexander to promote and so I found good source cover frameworks where you can play and you know prototypes and blockchain so you can easily play with scour and to study blockchain on example so it was quite easy for me to maybe read some papers while original Bitcoin paper is quite easy it's quite good written actually read it if you haven't done this yet but an example it's much much more interesting and much better and yeah now I'm turned a half years from that point and I'm still interested in this area and it's still cool and I still like it yeah it's super exciting and so can you tell us I mean I come from the same background but you know a lot of folks maybe I don't know why is it good like you know if you basically go to University in Russia and study physics why well-prepared for Bitcoin space what are the skills they teach you that make it easier for you to do this kind of stuff well it's not so easy question actually but yeah you know even on my first year of my education in Moscow State University there was a point from our from staff of universe that there are like four hundred people on first year actually well now country do not need four hundred physicists a year but their education model change they did not prepare four hundred physicists a year they prepare for four hundred educated people a year okay so you should be able to learn anything that's maybe the main you know skill you get from Moscow State University in the physical Department so you are ready to learn anything you can read papers you can understand how it work without any any help I think yeah that was the main the main point why it was quite easy to follow blockchain stuff and to start working in the science they actually so I have some papers in blockchain area look not not just a developer and my researcher also probably some math right yeah yeah sure you need the different stuff and the math is quite important and actually physics is also quite important at provide you you know some high-level overview of some intuition how this should barking should work and Methodism or strict no I remember this you know from you know also from physics and math right I came in I forgot like half of this or more but you know don't surprise me when people who got purely Commerce's education they print floating-point numbers with 18 significant digits I'm like you know you could round it to three right there you've got all of the three digits and almost nobody does this Yeah right so I'm like you know we don't really need this because it you know it like just takes place on the screen right but a lot of people do that and I think that's a sign right physics can teach you a lot visual stuff right so how did you get it to scholar ye scholar actually it's also quite an interesting question and it's not so easy but before Scour I tried quite a lot of languages actually mine main language was PHP and actually well it's possible to write good problem programs on PHP I understood this and my one of my jobs well it's possible actually it's but well it's easy to write some small script on peach pits much it's done for this stuff it's for personal home pages right yeah and it's good for for this stuff but when you create some big yeah so but when you create some big website API application and so on it became much much more much difficult to use BB and once you know I was on a conference in Russia DEFCON conference it's about like web development and when I was on this conference I understood that I know everything they these people from stage talking about and I'm not just now which I usually it's and so on if I feel that I'm like close to my limits in this area and now accidentally I found a very good class on Coursera from our senators key okay everyone now this course yeah I remember the first day I found it usually I don't like courses on Coursera it's very hard to me to follow all the steps and I decided to start to learn it a bit before course that to have some you know free space if I will be busy and and so on and I started to watch election from a previous course and I watched all of them in two days so all the crucial two days I was very excited I absolutely liked it it was impossible to touch me from computer when I walked my when I watched these videos yeah I absolutely liked it then I perform two exercises and it's where is the best online course I've ever seen and I laughed scholars as a programming language and I changed my job to start ask our developer yeah and after that I left from this job at scale developer and become developed from in a blockchain area that's really really cool so I think we're gonna be you know about the robot so I a location in Alaska like who you you'll give a talk about score X and learn more about it but what is kind of the key reason why should people do blockchain Scala why is in score X like why is it a good or started off like you know have another setup toppled speaking later today and it took you know score x2 is the foundation you know and like you know he just learned about the dress like I wrote people who are rarely commented but why should more people choose blockchain implementation in Scala yeah so there are two different questions first is about kawaii you know it's never when it's so very very hard to fig fix any bugs so if you have a distributed system it's almost impossible to make release in a short period if you have a bug you you have a problems right if it will be exploited so you might fix your own node but there are other notes on other area and you need the majority of nodes to be updated you okay you can connect them but anyway you have mineral-rich of nodes and you do not want to have a chain split because if you make any changes to codes it may lead to change split if you have a bug this my links this may lead to a situation when part of your part of this nodes and cryptocurrency follow one chain and they accept this transaction and another part did not accept these transactions they burn each other and you have actually two different chains and so in in blockchain area securities the the first topic absolutely the first topic and you should write as accurate code as possible well Scala is quite a good choice for for this reasons it's at least and I'll have static types is not good types it have some functional features at least the a you may write it in a different style so from my point of view it's for example much better than C and C bar plus that is still very popular in cryptocurrencies area mainly because bitcoin is written in C language those mines yeah yeah it's very difficult to follow this course it's not even a C++ just to see some assembler and it's actually but yeah it's very if it was difficult to follow this secrets in Bitcoin and it's quite you know well-known property the more code of lines you have more box you have yes it's it's not a strict property but actually it works and so my point here is that it's much better to spend more time for development so maybe even but but but make more stable product with Oh as possible box yeah that's like a few lines of code right let's go I think the toppled mentioned is in the block you guys have 4,000 lines yeah but well you know it's not a property fall for all of block chains it's possible to to write different implementations yes yeah but score rocks yeah it's very very small and our idea is to keep everything simple to be able to overview all the codes in your mind to keep it all and you mind like to understand the main patterns architecture and so on so yeah now we come to the second questions about quarks why why should they actually use curves so skirts was created for prototyping actually it's its main idea when it was created was to allow people to prototype some parts of blockchain and we worked with large gain we implemented quite a lot of scientific papers found problems with them because unfortunately it's quite a common situation there is a gap between you know research and between to your theory and practice so we have academic researchers that may produce very good papers provably secure and so on but practice you can find that then impractical at all its it's impossible to implement it in the current step there is some assumption that network is synchronous and you can spend the same tiny amount of data through your network but it's not true actually on the other hand the the ROC quite a lot of implementations in cryptocurrencies also quite ad hoc without any base knowledge behind them and you know cryptography and in cryptocurrencies it doesn't work when you create something and you tell I don't see any attacks to it and that's why it's secure if you don't see any attacks to eat after some time someone might found them right so the approach people from cryptography use is to provide the proof of security that any kind of attack that are possible in some assumptions for sure it's very important to follow these assumptions and understand what what are they but like in Bitcoin there is proof in some assumptions here that if less than 50% of nodes are controlled by the adversary they may do anything they they want absolutely anything they can't compromise the systems right it will be secure and it's strong mathematical proof that of security so my maybe advice for you if you are going to implement any cryptocurrency don't do it just it that's I should mention here might be another good cool some Coursera from den Banach about cryptography mm-hmm it's also very very good course and it's mine you know ideas don't do any crypto do not invent anything right and the same you should the same approach you should implement in cryptocurrencies there are a lot of implementations and usually you don't need your own blockchain for your features it's possible too aren't you Owen talking on different platforms it's possible to use any blockchain as a data base and so on so in most of cases you do not need your own blockchain you don't do not need to implement it by your own just use some existing blockchain but yeah I research them out to score access so it's simple and it was his idea was to prototype some to prototype some scientific ideas and done quite a lot of them and now it's not just prototyping framework because there are existing production implementation of nodes based on score ox first one I should not he is waves platform it's created by our good friends actually that uses quarks of basics and now it's one of the most popular cryptocurrencies in Russia and the second production blockchain implementation I should mention here is a mightiest client for film classic it's also based on some score ox ID it's it do not forc it's not a fork of score ox and it do not use it directly the our code is a library but it's inspired by score ax it took quite a lot of parts from it and it's follows where they main architecture here and yeah so now we are going to implement our own products blockchain elbow and based on scourge so it's now not just a framework for prototyping but framework for production block chains we hope at least what's super exciting so thank you much for sharing this and we're looking forward to your mettle yeah thank you