Epicenter - Learn about Crypto, Blockchain, Ethereum, Bitcoin and Distributed Technologies - Silvio Micali & Steven Kokinos: Algorand – In Pursuit of the Blockchain Trilemma

Episode Date: January 21, 2020

The blockchain trilemma is the generally accepted concept that it's not possible to scale public and permissionless blockchains without compromising on security, decentralization, or both. While the i...ndustry seems focused on building Layer 2 solutions to scale the transaction capacity of public networks, Algorand believes it has solved the trilemma, offering a network that scales without compromise to security or decentralization. Silvio Micali, Algorand's Founder and Head of Research, as well as the company's CEO, Steven Kokinos, discuss the project's background, recent protocol upgrades, and how Algorand will create a great ecosystem for developers.Topics covered in this episode:Silvio’s path from academia to blockchain entrepreneurshipWhat Algorand addresses that other blockchains don’tThe blockchain trilemma: security, decentralization, scalabilityHow Algorand mitigates risk present on other blockchainsThe TEAL smart contract language and how it's uniqueBuilding primitives: atomics swaps, asset issuance, and a smart contract language called TEALApplications and use-cases for AlgorandThe Algorand FoundationWhat’s next for AlgorandEpisode links: Algorand WebsiteWhitepaperAlgorand on TwitterAlgorand on MediumAlgorand on YouTubeAlgorand Year in Review (YouTube)Sponsors: Status: A multi-purpose communication tool that combines a peer-to-peer messenger, secure crypto wallet, and web3 browser - https://status.im/Cosmos: Compete to win 100,000 ATOM by building and running Cosmos Zones - https://cosmos.network/goz/Pepo: Meet the people shaping the crypto movement - https://pepo.com/epicenterThis episode is hosted by Sebastien Couture. Show notes and listening options: epicenter.tv/323

Transcript
Discussion (0)
Starting point is 00:00:00 This is Epicenter, Episode 323 with guests, Sylvia Macaally and Steve Coconos. Hi, welcome to Epicenter. My name is Sebastain Kutuio. Today our guests are Silvio McCalli and Steve Coconos. Respectively, they are the founder and CEO of Al-Garand. Of course, we had Sylvia on the podcast before. It was almost three years ago in February of 2017. And back then, Al-Garand was just a white paper. You'll remember that Silvio was a professor at MIT.
Starting point is 00:00:44 and he'd written this paper which described this revolutionary new blockchain consensus mechanism. And I think a lot of people, including myself, were excited to see this seasoned academic and renowned cryptographer entering the space. I think to many people, it's signified a certain level of maturity of the technology and of the ecosystem. After we ended the interview, as we often do, Mayor and I had a debrief. And I remember thinking, this is fascinating, but it doesn't seem like he's going to build this. I actually went back and listened to that conversation from three years ago, and he didn't leave many doors open to the possibility that he would actually work towards building Al-Garan. Well, sometime after that, Silvio was approached by
Starting point is 00:01:24 some colleagues, and they began working with him to transform this idea into a company. Since then, he's left MIT, and Al-Gran has grown into a company with dozens of employees. They've raised over $100 million, and they've launched the main network. One of the things which fascinates me about this story is Silvio's seamless transition. into entrepreneurship. I mean, Macailly isn't his 60s. He spent his entire career in academia. Of course, he and Sheffi Goldwasser won the Turing Award in 2012 for co-inventing ZKPs. And just like that, he left academia and he took the leap into the blockchain startup world. And he talks about it with such ease and enthusiasm. And I think this is one of his many qualities.
Starting point is 00:02:06 And I think probably most people wouldn't be able to do this at this stage in their career. So, you know, that's off to him for doing that. So in this conversation, we revisited how Algarand works. We talked about the scalability aspects and how Algran claims to solve the blockchain trilemma. We talked about VRFs and their role in the protocol and also the roles of the different participants in consensus. And Steve Kokonos, the company's CEO, helped us understand their philosophy when it
Starting point is 00:02:35 comes to building the product. Their approach to developer experience is somewhat unique, I think, if you compare it to other layer one pro. The smart contract language, teal, is a set of about 30 instructions rather than full, turn-complete programming language. And they've chosen to build some defy components right into the protocol. So things like asset issuance and atomic swaps are built right in, as opposed to leaving that open for the community to build as layers on top. So I think if you compare Al-Garan to things like Ethereum, Cosmos, and Pocodot, there are some important distinctions in terms of product
Starting point is 00:03:10 philosophy. Before we go to the interview, I'd like to tell you about our wonderful sponsors for today's episode. Societies across the globe need technology that gives them monetary independence, voice, and sovereignty. And this is the mission of the status network. It's an organization building tools and blockchain infrastructure at every layer of the tech stack. Status combines a decentralized messenger, wallet, and DAP browser into a powerful, private, secure communication tool. It uses a peer-to-peer protocol. It uses a peer-to-peer protocol and end-to-end encryption to protect your communications from third-party interference. There is no email and no phone number required to set it up, which is one of the things I love
Starting point is 00:03:49 about status. And the peer-to-peer messaging means that your messages are never sitting on a server anywhere. When you send someone a message, it goes from your phone to their phone. The crypto wallet allows you to safely send, receive, and store crypto assets. Only you hold the keys. This is a serverless wallet. And the built-in Web3 browser allows it. to navigate the growing ecosystem of decentralized applications right from your phone without being tracked.
Starting point is 00:04:16 To learn more about the Status Network and all of the components which make out this ecosystem, go to statusnetwork.com and go to status.com to go to status.com to find the beta for iOS and Android. And please join the public channel. It's hashtag Epicenter. And if you message me there, we'll send you some free S&T tokens so that you can create your own E&S domain name in status. We'd like to thank status for those support of Epicenter. We are also brought to you by Cosmos, the Internet of Blockchains. The Internet Blockchain Communications Protocol, IBC, enables a massive variety of networks to coexist, each with their own features and purpose communicating with a trustless protocol.
Starting point is 00:04:59 Now, Ethereum is obviously a massive part of this interchain, and aspects of its infrastructure will show up in many different places. One of the ways Ethereum shows up in the interchain is with the ETHER chain. Ethereum virtual machine. It's a time-tested, secure execution environment that provides properties that make it ideal for smart contracts. So if you're building a network outside of Ethereum and you want to utilize the EVM, one of the ways you can do this is with the Cosmos SDK and the included Etherment module. Eragon recently decided to run their own network that utilizes this infrastructure in order to make protocol-level decisions for their users.
Starting point is 00:05:36 This enables them to modify things like gas cost, increase throughput, and design their own token economics from the ground up. So if you're interested in learning about building application-specific and interconnected blockchains, and if you're going to Denver, you should join their workshop. It's on Wednesday, February 12th, during Biddle Week. This session will be a hands-on instructional course that uses the Cosmos SDK to build an NFT blockchain, They'll go over the process of deploying your own EVM blockchain that you can interact with via Metamask and utilizing all of your favorite Ethereum developer tools. To connect with the Cosmos team and to learn more about how you can join this workshop, go to the Cosmos form. That's at forum.com.cosmos.network and you can talk to somebody there who can tell you more about the workshop. We'd like to thank Cosmos for their supportive epicenter.
Starting point is 00:06:33 We're also brought to you by PEPO, where the crypto community comes together with short video updates and tokens of appreciation. So whether you're a crypto developer, a podcaster, an analyst, a blogger, or an enthusiast who's just interested in the space, there's never been an easier way to showcase your work, earn appreciation, and connect with the community. So Charlie Shrem is on Pepo, Alex van de Sende of the Ethereum Foundation's on Pepo, Anna George of Nois is on Peppo, and Evan Van Ness of this week in Ethereum is also on Pepo. So you can talk to these people directly and all of the other great content creators that are exclusively creating content on Pepo. What I love about Peppo is that you collect more than just likes. When you like something, when you want to show your appreciation for content, you tip people with Peppo coins. and unlike Twitter, much of the spam is eliminated because you actually have to put up Pepo coins and able to respond to videos.
Starting point is 00:07:31 Pepo is fast, it's easy to use, and you'll reimagine what's possible with crypto. I love that with Pepo, you get to see how crypto is applied to a social network that anybody can use. So to download Pepo for iOS or Android, go to pepo.com slash epicenter. That lets them know we sent you, and you can find me there. My username is at Seb 2.0. That's at S-E-B-2-P-O-N-T-0. We'd like to thank PEPO for their support of Epicenter.
Starting point is 00:08:02 And with that, here's our interview with Sylvia McAlley and Steve Koconos. I'm here with Steve Kockinos, who is the CEO of Al-Garand and Professor Sylvia Maca-Macalli, who invented Al-Gurand and is leading research at the Al-Garand company. Hi, guys. Thank you for joining me today. Hey, thanks for having us, Sebastian. Sylvia, we had you on the podcast about three years ago, and back then, Algaran was just a white paper and an idea. And I remember after the podcast thinking, I wonder if anything's going to come of this.
Starting point is 00:08:38 I wonder if someone will pick up the idea and go out and build it. Because at the time, you didn't really seem to have any ambition to do anything with this except just that it was like an interesting research exercise for you. At least that was my impression. Tell us what's that journey been like? What happened from then, which has brought and got you to where you are now, now with the company and tens of people working for you and having raised funds and everything? Somehow, my research interest has always been historical in cryptography and a Byzantine agreement and more recently mechanism design, economic mechanisms.
Starting point is 00:09:16 So somehow, finally, I learned about the Bitcoin and I felt it, was a fantastic problem, but an elegant solution. Great idea, first idea, but I thought it could do better. And by the time in which we first spoke as a bus and I felt, you know, I just wrote of a white paper. Usually my style is to publish in reviewed conferences, journals and things like that. But this time, and I really felt, you know, I wanted to put it out there a bit more in the style of the community on an electronic archive and see what feedback I got. But the feedback I got was not electronic.
Starting point is 00:09:58 Somebody knocked at the door of my office, and it was my good colleagues in systems, Nikolai Zeldovich, which is a few floors up in our building. He says, Sylvia, this stuff is too good to be true. Do you mind if we tested? And of course, I said, you know, listen, do I mind? Why should I mind? So we prepared a very rigorous test
Starting point is 00:10:20 involving actually a few other people who became now the core of the algorithm on the engineering team and we rented some I think about a thousand big service for Amazon and tried to simulate the protocol with 5,000 users at first, 10,000, 50,000, 100,000 up to 500,000.
Starting point is 00:10:44 We wanted to simulate it up to a million but we needed to find 2,000 servers, and we couldn't find any day in which 2,000 servers were available. But in any case, it was irrelevant at that point because we wanted to test the scalability of the system, and we saw that after 75,000 users, there was no added delay. So the system, surprise, surprise,
Starting point is 00:11:08 scaled as the mathematical analysis suggested. So we thought that we published the paper with Nikolai and Yossi and Derek and Jorgos and was a very proud of my first assistant paper. And at that point, you know, first it was an idea. Then there was actually an experiment. And all of a sudden I said, you know, gee, maybe the stuff works. Maybe we should form a company and develop it.
Starting point is 00:11:40 Also because I must say in the past I saw that it was really a long time which, you know, the basic ideas that I was developing, starting in 1980, on public key cryptography, it took a long time to get into society. And I decided we had to accelerate this. And so forming a company was a really a right thing. I happened to share an elevator ride with Jamie of a pillar, who would end up being one of our investors in a series A. The other one was Alberta from Union Square, Adventures, from New York.
Starting point is 00:12:20 And so, you know, we had the classical elevator pitch. Says, what are you doing? So let me tell you what you were doing. It says, oh, yeah, it sounds interesting. So we started talking a bit more. And later we decided to start an office company. And initially were 11 people, eight of which are from MIT. And one of the first good thing that Jamie did is to introduce me to Stephen.
Starting point is 00:12:42 And the rest is history. That's a hell of a journey. And so this is your first entrepreneurial experience outside of academia, I believe, right? Yes, I have some of my technology has been used by other companies, but I never left MIT to give a hand to this company. I had just a license of technology or assigned patents. And this is that it was so much fun that I really actually took first of Sabaliga. When I leave a absence from MIT to be.
Starting point is 00:13:12 part of a company has been a great ride even ever since. We launched in the blockchain in June, and last November we added another major injection of technology by doing that layer one all kinds of cool stuff, you know, atomic swaps, smart contracts, issuance of your own assets, and which usually traditionally are done by smart conscious and so therefore they are very fragile and now we did it is a very direct very secure and very fast cool and Steve how did you come to meet Sylvia and tell us a bit about your background as well yeah well I'm a serial entrepreneur so I got my start in the early days of the internet the mid-90s when I was a young guy I actually started my first company when I was still in
Starting point is 00:14:02 college and sort of built that up sold it in 2000 but you know we were we were one of the first handful of infrastructure providers back then, ended up building 10 data centers around the world and servicing some really interesting projects. From there, was a co-founder of a company called BladeLogic, which was early data center automation software. And yeah, I'd say it was sort of like a precursor to a lot of the cloud utilities that people use today.
Starting point is 00:14:30 Grew that helped grow that business. BladeLogic went public and then was acquired by BMC software after. And then for the decade or so, prior to Al-Grand, I was founder and CEO at Fuse, which is a cloud collaboration platform focused on enterprises. And, you know, I guess a couple of years ago, I decided that new challenge might be fun and decided to stop running Fuse day to day. And had also been fortunate to be involved with Pillar. I was one of the early investors there, which is how to, as Sylvia said by Jamie Goldstein. The thing that really struck me was that crypto and blockchain tech were sort of the first things I had seen in the intervening 20 years that had a lot of the dynamism and also kind of philosophical underpinnings that we saw in the early days of the internet, which I know it's sort of hard to believe now, but the early days of the internet were very much about self-publishing, giving people a voice out in the market. It was very anti-commercial and, you know, had a lot of libertarian underpinnings as well.
Starting point is 00:15:34 So I thought it was fascinating that the crypto had, you know, it felt to me like a lot of similar ingredients. If you take a step back, you know, one of the things that I sort of observed was that the financial world and sort of the way people transact hasn't really changed that much in 20 years, whereas, you know, the ways we do a lot of other things has changed a lot. And so in any event, I had been sort of exploring different things. I was doing some mining with my kids as a hobby in the basement of my house. And Jamie suggested one day he happened to be up by my office that I walk over and have a chat with Silvio.
Starting point is 00:16:11 And to be honest, I didn't really know what I was getting into, but I had a fascinating discussion with Silvio. And, you know, I ended up getting involved. And it's been a real adventure. But it's, you know, I think both the tech and kind of the business and, you know, even broader sort of social possibilities are awesome here. What was it about Algarand that really caused you to flip the switch and make a full swing into the crypto space? Well, I think that kind of the color that I just shared was part of it. But I think what really struck me is, you know, when I was a young guy, there was like lots of people who started internet companies and did pretty well, sold their businesses. But what I observed sort of back then was that it wasn't really the first.
Starting point is 00:17:00 movers that people who are in super early that built generationally meaningful businesses. It was the folks like Google and others where they got to see what mistakes were made in the first wave, really rethink the tech from the ground up, and also partner with business people that have experienced scaling organizations. And to me, it felt like Al Grand could possibly be one of the winners in the space. Certainly, Sylvia is brilliant problem solver and has created amazing tech. You know, ultimately, that's what really got me. excited about the project is that it felt like there was a lot of early enthusiasm, but really there was going to be a next wave where bigger things were built.
Starting point is 00:17:40 Yeah, that's interesting way to look at it. It's not necessarily the first movers that are successful. Do you think that this idea applies also to blockchain where there's massive network effects and massive economies that are built around things like Bitcoin and Ethereum and like the first blockchains to hit the market? Well, I think for sure there's network effects. and there's first mover advantage. I would say that often in these sort of nascent markets, they take a little longer to develop than people think. And I'd say there's often sort of pre-first
Starting point is 00:18:11 movers where it's really just like the first people who like got into the space. They often benefit greatly from that, but aren't necessarily the sort of companies that end up winning out. If you look at where we are today, I think our belief is that we're at the start line of 20 to 30 year reformulation of how the world's financial systems work, that's probably not that dissimilar in terms of scope to what's happened over the past 20 years. I mean, I think using a dial-up modem like in 1996, which I was. And trying to use like a crappy browser and waiting five minutes for a banner ad to load is a little difficult to like imagine your kids watching Netflix in the back of their car on their iPhone. There's sort of a similar progression that has to happen there.
Starting point is 00:18:55 I also think, though, that network effects are very important. One of the things that Silvio can elaborate on this better than I can is in the space, the products or sort of the technologies that are out there, the first generation technology, simply can't scale to handle the throughput of the entire world. And again, you just need the underlying bandwidth, which is why we believe so strongly in solving these fundamental layer one problems. Because we think that, one, putting the right tech out there is important. I think separately, we aren't believers that it's a single chain, kind of all or nothing is going to rule the day. We think that Bitcoin is for sure establishing, establish itself as the reserve currency of the crypto world and will continue to thrive. We also think there'll be other chains that focus on different elements of what becomes a technology stack that are needed. But we think Algrant can be one of the sort of handful of key platforms that succeeds out there.
Starting point is 00:19:49 But yeah, I think you need to generate network effects. You need to kind of also make it really simple for developers or for people to build on top of the technologies. And, you know, today the user experiences are terrible. Both end user and developer experiences, I'd say, kind of across the space. So that's something we're really passionate about is starting to be one of the players that thinks about that and fixes some of those problems. With your previous experience in cloud-based communications platform, when you came into space and started working with Silvio, So did you see anything that blockchain was able to solve? Did you see any problems in your previous experience where you thought, huh,
Starting point is 00:20:27 blockchains can solve this or like blockchains can provide a solution for like this problem that I've encountered previously? They're very different domain, very different problem surface areas, I think, between sake communications and blockchain, at least from a tech perspective. But I think there are some simple things in the world where, you know, blockchain is ultimately about helping create trust between people that have no way of transacting. And I think if you think about simple cases where I may want to order something from a product to be created, maybe I want to use a Chinese supplier,
Starting point is 00:21:01 they want me to send the money before they ship me the goods. I'd rather they should be the goods before I send them the money. And if one party doesn't hold up their end of the bargain, the legal system isn't really going to provide a great remedy for that because it's not like people are going to fly and try and use the legal systems in places where they aren't. I think that there's a certain type of business and type of exchange that lends itself naturally toward decentralized systems where both parties can trust in the algorithmic nature of the system versus kind of a paper legal system. And so I think to me that was something that I thought was very interesting.
Starting point is 00:21:38 And what we really feel is that the decentralized world really represents a new form of economy. And there's certain businesses that by like nature will, you know, have desire to transact there and will solve really meaningful problems for them. You know, there's other businesses that don't need, aren't going to be decentralized. The early days of the internet, my dry cleaners didn't need a website. They don't need one now. They don't have one. They probably had one somewhere in the middle there. But, you know, it was nonsense. And so I think that they don't need to be decentralized either. But I think there are a lot of problems that can be solved there. And so if you look at some of the features that we've
Starting point is 00:22:11 introduced recently, like atomic transfers, the ability for people to exchange in, you know, kind of one step, being able to, you know, create conditional smart contracts and, you know, issue new types of assets. You know, all those things are designed with, you know, kind of the kinds of problems in mind that are real business needs that exist out there versus just sort of putting stuff out and seeing what sticks. Sebastian, I totally concur with Stephen. So you must know that that's the problem of a fair exchange. For instance, you have an asset that I want, and I have an asset that you want.
Starting point is 00:22:45 Who gives the asset first to the other one? Or even if it's not an asset, I want your digital signature on a contract, and you want my digital signature on a contract. Who signs first? By the way, in the 80s, that's one of the problem which I tie myself in notes in order to try to solve without a blockchain.
Starting point is 00:23:04 Once I saw the blockchain, it says, hey, gee, that is now... All these things have a much easier solution. Why is the solution much easier? Because it is buried under this extraordinary tool, which is the public permissionless blockchain. And so you get all the technology over there. You get for free a lot or almost for free,
Starting point is 00:23:24 all kinds of very sophisticated architecture. And that is what is the beauty of it, that you have now a platform, if you engineer it correctly, which allows you to do very elementary and very simply all kinds of things, things that used to be extremely complicated, even with public key cryptography, zero knowledge, and all kinds of other complications.
Starting point is 00:23:46 What problem does Algarand address that other blockchains have not been able to address so far? What does it bring to the table? First of all, when you talk about Algorand, I really want to explain to everybody who's listening your podcast that Algarand is emotion. So different from other blockchain in which what you start is what you get, we continue to innovate another platform. And we have a very deep roadmap, which is going to keep us busy for a few years. So let me tell you that the first problem that we actually solved was the famous blockchain
Starting point is 00:24:26 trilemma. So that was initiated a few years back by Buderin and of the co-founder of Ethereum. So what does the trilemma say? The dilemma says that it is impossible for a blockchain to enjoy simultaneously with all the following three properties. Security, decentralization, and scalability. So just imagine this where true. I'm now a company, blockchain by design. I'm a consultant.
Starting point is 00:24:57 You come in my store and I say, and I give you a blockchain that is right for you. Okay. Oh, welcome, Sebastian. So I have really a blockchain that is really perfect for you. to this blockchain that is insecure. You say, well, you know, not really. So, okay, you care about security. Good.
Starting point is 00:25:15 So how about we give you this blockchain, which is pretty much centralized, but otherwise, as I already have a property. Well, if you're interested in a blockchain, why do you want to have one which is centralized? It is totally nonsensical. And similarly, perhaps you don't care about scalability. No, I do care about scalability,
Starting point is 00:25:32 because otherwise what I'm going to use of a blockchain for, to interact with friends and family. It is incredible that for a long time, no blockchain could satisfy these three properties. And I think that the first thing that Algon did is to somehow prove that Trillemba false. Yes, it was backed by a lot of empirical evidence, but there was another way to skin the cut, another way to organize the blockchain that allows to solve, to enjoy all these free properties at once. And that's what Algorand was initially. Then, moving forward, as Stephen mentions before, the ability to have a layer one in a very direct and secure manner as if there were ordinary payments to handle the issuance of assets to having atomic transactions and layer one smart concerts is equally important. Just imagine if you are a typical application of a blockchain.
Starting point is 00:26:33 I think about supply chain, right? So people can put on the blockchain all kinds of things, let's say it's coffee, okay? Somebody in the mountains grew the coffee. Okay, so he has to be paid. Somebody has to bring the coffee from the mountain to the plane. He or she has to be paid too. Somebody puts them on a truck and transports to a harbor.
Starting point is 00:26:57 That wants to be paid, the ship wants to be paid, and so on and so forth, right? So who goes to pay first? He had to do all these 12, say, payments, I think I mentioned easily if you'd match another six payments on the other side once you want to deliver the beans to be roasted. You have a tremendous amount of payments and you have to update all these 12 ladgers in different currencies all at once. And he takes with today's technology three months.
Starting point is 00:27:24 So to be able to do it in less than five seconds, treating them all these 12 separate transaction as a single transaction, the fact that you can. somehow authorize your own piece of this transaction, knowing that it's not going to be executed at all, but it's going to be executed in a few seconds anyway, and only when all the other transaction has also executed simultaneously with yours is a great benefit. And so next step for us is going to be having a general purpose of smart contract,
Starting point is 00:27:53 which is going to be as innovative as we've been in our consensus protocol. Next is going to come with this, we find the right balance we believe, between permission and permissionless blockchains, which I believe is going to be a synergy between the two rather than either one or either or. We are going to leave our mark in this history of the blockchain, but the first one was the solution of a trilemma.
Starting point is 00:28:22 Talk about how Algren solves this trilemma. This trilemma of you can only have two of three security, scalability and decentralization. how do you solve this? I want, first of all, to make sure that, you know, your listeners understand the first thing. What is really hard in a blockchain, what is it, is a database organized in blocks, block one, block two, block three, such that everybody can read all of the blocks, everybody can write an entry in one of these blocks, and nobody can alter neither the content
Starting point is 00:28:57 of a block or the order of any block. all this inalterable database, it's actually trivial from a cryptographic point of view. If you are a cryptography is trivial. You take the previous block, you hash the hash of the previous block, you include it in the next block. That prevents anybody from altering the content of a block or the order of a block. All 2000 and change blockchains right now, they use the same technology for achieving this inaltorability. So what is the challenge? the challenge is choosing the next block.
Starting point is 00:29:32 Because what is the next block is going to contain? All the valid transaction that if you're seen propagated in the network, I want to make a payment to you, I digitally sign it, and propagate in the network. Eventually, everybody, every node will get it. But they get it at different point in time. In your opinion, the next block is a bunch of sticking to payments right now of, say, 1,000 payments. I may see 990 payments instead, and they are going to, I'm going to have perhaps seen 100 payments you didn't see, and I miss some 80 payments that you saw instead before me.
Starting point is 00:30:12 In my mind, the next block is slightly different than yours, and the one of Stephen is slightly different from the two of us, and so on, so forth. And of course, even a minute difference or a small percentage difference, accumulated block by block, create a tremendous confusion about what the ledger ought to be, what the history of all these transactions is going to be. So who chooses the next block? That's the all difficult problem. And Nakamoto, Mr. or Mrs. Nakamoto solution,
Starting point is 00:30:42 was actually brilliant, was the first idea to say, hey, we are going to have a computational game. We are going to propose a very complex cryptographic riddle. The first one to solve it as the right, if he presents the solution to the riddle, to append the next block to the chain. And this riddle is going to be so hard that no matter how many people on Earth try to solve it, only one solution every 10 minutes will be found. And that is actually important, this slowness, this one solution every 10 minutes. Why?
Starting point is 00:31:17 Because he said two people, say you in Paris and another lady in, in Thailand, found a solution a few seconds of each other, then you actually have a fork in the chain. Because you don't know if the next block is yours or else to a viewer, right? So what you want to do is to minimize the number of forks, because when there is an occasional forks, we can resolve it and go back to a unique single chain.
Starting point is 00:31:43 But if forks are too frequent, then this resolution is going to be essentially impossible. If you look at this, it's a brilliant idea, but it obliges the blockchain to grow very slowly. And it's very expensive. Why? Because more people want to participate to the generation of a new block. And therefore, the more people participate, the faster solutions are found.
Starting point is 00:32:09 And so therefore, the riddle has to become more, more difficult. To the point in which, you know, you have to consume an insane amount of electricity that powers the computers, the only purpose of which is to solve this riddle. And in fact, it's so expensive that fewer and fewer players can actually play this game. Because you don't have to power only one computer and not only a specialized computer, but racks and racks and racks of thousands and thousands of computers. So pretty much this becomes, you know, a fewer and fewer people's game. And right now, the blockchain of Bitcoin somehow could be controlled by free mining pools.
Starting point is 00:32:49 And if you look at this, it's free mining pool. tools, decentralized now. The world needed an alternative solution, and alternative solution were found. The first one was proof of stake, but it's important to understand that proof of stake is not to one technology, it's a portfolio technology. Typical proof of stake is called delegated proof of stake, which for all intents purposes can be summarized as follows. You see these 21 people, don't they look honest.
Starting point is 00:33:20 Well, if they look honest, I believe they are honest. I further believe they will continue to be honest in the future. So why don't we delegate all of us to just them the problem of generating the next block? So if you have delegated proof of stake, if you ask me, is centralized from the get-go. At least in Bitcoin, right, everybody could in principle participate by solving the real to the generation of the next block. here we are actually concentrating into the hands of 21 people. And then the debate is that 21 is not enough, 50 the right number. Libra says, no, it's 100 the right number.
Starting point is 00:34:00 Well, 21, 50, 100 is all centralized, right? And the next thing is a bonded proof of stake. Bonded proof of stake is another simple idea, which can be summarized as follows. In bonded proof of stake is not 21 people or 200 people, is as many people are willing to put money in the middle of the table, where they cannot touch it, are the ones in charge of generating the next block. And their influence in generating the next block is proportional to the money that they put
Starting point is 00:34:33 at stake bonded in the middle of the table. What's the problem with that? The problem with that is that I'd like to ask your listeners, say, hey, how much of your disposable income can you put in the middle of the table? where is hostage, not invested, not ready to be spent, just a hostage. The answer is going to be, for most of us, a very small fraction. So in a system like this, not only you make it possible, but you make it easy. In fact, you actually roll out a big red carpet for big thieves with deep pocket to put
Starting point is 00:35:09 a disproportionate amount of money in the middle of the table for the sole purposes of controlling the chain. what you just described, there's two issues that are somewhat compounding. So the first issue is that one of the problems that blockchains has, and I would say is probably the base layer problem with all blockchains, is a networking problem. It's getting blocks to people fast enough so that everybody can agree this is the next block. I believe it was Uri, Clareman of Blockstrow, who came on the podcast a while back, and this is how he describes it, is the first fundamental problem with layer one is a networking problem. The issue that you have when you can't get over this networking problem is the issue of centralization of power. And so with Bitcoin or with
Starting point is 00:35:56 proof of stake or delicate proof of stake, or bonded proof of stake, rather, there is this issue where at some point, specialization makes it so that you have centralization of validating power. And that's just due to the nature that validating a blockchain is complicated. And we're going to need specialized actors to do this sort of thing. Essentially correct, but I beg to differ a little bit. So there is network without a much, you know, very sophisticated routers. One block can actually be seen by, can cover an entire planet in Assegon. That's not the problem in itself.
Starting point is 00:36:36 The problem is actually choosing the next block. Once it's chosen, you can propagate it. very quickly. But choosing the block is what slows down a lot of things. And that's why you needed to have the computational game that slow down Bitcoin. That's you have
Starting point is 00:36:53 the concentration of power. Let the 21 people, you narrow the number of people who can choose the block. You can choose the next block more quickly. So in Algorithm, essentially, we solve a problem in a very counterintuitive way to
Starting point is 00:37:10 enable anyone who was a token of Algorand, any token has the same ability to participate to block generation. Essentially, here is as works at a high level, right? Every token, once you see block 100, the question is, what is block 101, right? So what happens is that in Algorand, you have, think of it like two magic phases. The magic is actually replaced by mathematics, but never mind, over the radio is easier to talk about magic. Magic face one consists of a folder. Every token is going to ask, am I perhaps the one who are going to choose the block? To solve this problem, you actually do a lottery, a
Starting point is 00:37:56 cryptographically fair lottery that decides if you are going to propose a block. The lottery is organized so that simplifying things, there is only one winner. And the winner, if you win the lottery, the water is cryptographic means two things. A, I cannot even if I have enormous computational resources to increase my chance of winning, but if I win, I have a proof that I want the lottery and I can somehow disseminate to the network my proof that I won the lottery and therefore that's the block that I propagated. And I propagate my chosen block, this proof and the block I propagate at the same time. End of phase one. Phase two, somehow everybody again tries to run a different lottery.
Starting point is 00:38:46 This time the lottery selects at random 1,000 tokens. And the owner of this 1,000 tokens are part of a committee who agrees on the block proposed by the first person. And why do you want to agree? Because any society has a percentage of bad actors, maybe 1%, 2%, maybe 10%, if you live in a very dangerous society. And so when this happens, if a bad actor has won the first loader and propagates a block, nobody's guaranteed that he or she cannot tell you one block and me a different block,
Starting point is 00:39:20 and Stephen, yet another block, and your listener, all kinds of different blocks, thereby generating confusion. There is not a chain anymore. There is a mess. But when you have actually a thousand tokens, essentially it's selected at random. and if most of the tokens are in honest ends, which I believe is a safe assumption, then the majority of these tokens are going to be belonging to honest people,
Starting point is 00:39:47 and therefore the committee has an honest majority, and such a committee agrees on only one block and not two. And therefore, that's essentially how you guarantee that there is one block, and this block has been agreed by thing. The real question is, how do I guarantee that I'm part of this committee? Because, again, it's a cryptographically fair as a lottery. If I win, I get a proof. I cannot cheat the lottery to improve the chances of winning.
Starting point is 00:40:21 So if I'm part of the committee, I give you a proof that I'm part of the committee that I want the lottery. And I'll give you my opinion up or down about the validity of the block. And this pair of proof and opinion is disseminated of the number. network. So why is this scalable? Because how long does it take to run this cryptographic lottery? One micro-sagre? That's very fast. Okay, so that is scalable, scalable. Is it this distributed? Well, absolutely is distributed because we are not concentrating the power in one person, 21, 50 or 100. Every token, and in an algorithm there are 10 billion tokens, has the same probability of there are a token winning the lottery and,
Starting point is 00:41:05 part of this committee. So that is very distributed. And by the way, if you win the lottery, what are you have to do? You have to propagate your winning ticket, your proof that you want the lottery and your opinion about the block. A thousand people tops can win this lottery. Can the network absorb the dissemination of a thousand small messages? Absolutely. That's why it's scalable and distributed. I just want to stay on this on the lottery for one second. So when you say a thousand people can win the lottery at any time. Of those thousand people, there's one participant that ends up creating the next block and propagating that block to the rest of the network, correct? Yeah, that happens in the first phase. In the second phase is essentially an agreement phase,
Starting point is 00:41:49 in which you say, okay, we heard something about we reach a Byzantine agreement, and Byzantine agreement is a process by which, say, a thousand people or a group of people, the majority of which or honest, they try to establish a common output. So a common block. And the block is that if I, we are going to have this process, Byzantine process, at the end of which I output one block
Starting point is 00:42:14 and I know that if I'm honest, then every other honest person, the same vote of the block that I'm propagating. Therefore, if you see a block that, say, as 700 votes of this committee, you know who belongs to the committee, because you have seen the winning tickets. And if you see 700 winning tickets voting for the same block,
Starting point is 00:42:38 you say, oh, gee, that has to be the block that is the next block in the chain. And end of the story. You don't have to wait that there are possible forks. You don't have to wait that new blocks are actually added to my block and over and over again so that the block becomes deep enough in the chain. As soon as you see a block backed by the majority of the committee, member, bingo, that's the next block. Our next step, we agree on the next block, and so on and so forth. So I'd like to ask you about how this information is propagated. And specifically, my question here is
Starting point is 00:43:13 how do you get over network propagation issues that can arise, right? Because if the assumption here is that anybody can be a validator and there are no specialized miners, then someone can be validating on a mobile phone, presumably, or maybe on a remote, like, on a desktop and a remote location. And the quality of each's internet connection can vary widely. And if one has to propagate a block, let's say we now assume that blocks, you know, if we're scaling, that blocks can get, you know, at several, several megabytes, for instance, how do you solve that propagation issue where you don't have specialization of validators that have very high-end internet connections and that can propagate these messages and the blocks at high speeds.
Starting point is 00:44:03 First of all, even with modest 20-magabit connections, you can do it quite well. They are heard by everybody. But remember that we produce a block in five seconds just because we want to make sure that this block is actually seen across the network. But it doesn't need to be seen by everybody. What we need is to make sure that one block is seen, but at least not by everybody because you're never sure. Somebody is at the edge of the network, maybe 90% of the benefit. And that is the idea.
Starting point is 00:44:37 There is actually a further idea that Algorand has a property, which we have not discussed yet, that the guarantees actually that the protocol security does not depend on the security on the underlying, communication network. So in other words, if somebody a adversary tamper with a network communication network, with the wires, with the routers, it can destroy somehow proof of work approaches, but it cannot destroy the algorithm approach. Of course, if an adversary prevents all of us from sending messages, well, nobody can produce a block, not in Algoran, not in Bitcoin, not in Ethereum, not in
Starting point is 00:45:17 anything, right? Because if we are isolated in Faraday cages, nobody talks. But, If you can somehow partition the network, even by cutting wires or by reprogramming for an hour, the relevant routers, and you say isolated, think of it, a continent, say South America for an hour, then suddenly, by the time in which you realize something wrong happens and you patch together the communication network properly, you restart the routers, you reconnect the wires, whatever you had to do, unfortunately, in classical protocols, a lot of people can lose a lot of money because you can actually have double spending after such an attack. So people usually worry about attacks on the protocol, but the protocol is a communication protocol and is only as good as the network on which it runs. And somehow it could actually be cheaper or more possible
Starting point is 00:46:15 for an adversary to attack the network rather than the protocol. And in Algorand, you are secure against the protocol attacks, and network attacks. First of all, so if I may spend, I don't know, it's some time to say, why is Algon secure
Starting point is 00:46:30 about the protocol attack first? So before I was saying that, remember, I have a winning ticket if I'm part of the committee to approve a block and I propagate my winning ticket and my opinion about the block.
Starting point is 00:46:43 Now, let's assume that that I am a bad guy, which is extremely powerful. I'm so powerful that I can corrupt anyone fast, people on Earth that I want simultaneously at the snapping of my fingers.
Starting point is 00:46:57 Very easy for me to do so. Whom I want to corrupt? Well, I want to corrupt the committee of a thousand people most of it is going to approve the next block. That's where the security of algorithm comes from. But I have a problem. I do not know whom I should corrupt
Starting point is 00:47:14 because the committee is selected by a cryptographic lottery, so I do not know which people on Earth are going to win this lottery. If you in Paris, this lady in Shanghai, and so on and so forth. But as soon as the people spontaneously come forward by announcing, here is my winning ticket and part of the committee, and here is my opinion about the bloc, pay attention to it, now I know whom I should target and I can corrupt them immediately.
Starting point is 00:47:44 But guess what? At that point, the message of the committee members are virally spreading across the network and I cannot put them back in the bottle no more than the US government or any other government can put back in the bottle a message virally propagated by WikiLeaks. So in some sense,
Starting point is 00:48:02 Algorand is secure because beforehand an adversary does not know whom it should corrupt and ex post is a bit too late to corrupt. Because of the randomness in the lottery. And then how does Algram protect against the network component?
Starting point is 00:48:19 Okay, first of all, is easier to let me first understand why, say, Bitcoin is vulnerable to network attack, in particular to partition attack, okay? So it's a bit easier to see the problem we're trying to solve first. So, okay, let's assume that all miners in the world are all honest. Okay, very good, good news. And miners are geographically dispersed, right? and there are in North America, South America, Africa, Asia, Europe all over the place.
Starting point is 00:48:53 Okay? Five populated continent. Antarctica is still not very populated. So imagine that an adversary cuts the cables going to South America. So South America is isolated from the other continents. There are five continents. South America is isolated for an hour. I mean, a smart adversary allows epipherty messages to go across,
Starting point is 00:49:16 but Bitcoin control messages are not let in or out of South America. So what happens? A South American can extend the chain among themselves, every time that one of them solves the riddle attaches a block. So you start producing blocks, but a much slower pace. Why is lower pace? Because one fifth of the miners in South America, so we say we speed the 20, you attach a block.
Starting point is 00:49:42 Meanwhile, the other four continents also solve the riddles. But they solve it at a much faster speed than South America, because there are four times the miners in the rest of the world than in South America. So they proceed at a speed of 80 miles an hour. Think about two cars. One goes 80 miles an hour. One goes 20 miles an hour. Even if the car who goes 80 miles an hour starts later, eventually will surpass the other one and will form the longer chain. So if I'm a bad guy, what I'm going to do?
Starting point is 00:50:14 I'm going to spend a billion dollar in South America, get an asset, say, a super duper transatlantic ocean liner, whatever I can buy with a billion dollars. And once I have it, I can even reconnect the cables, because at that point, my debt will be erased. Why? Because after I put together the wires, even all miners, including the South America miners, and say, gee, what do we were doing? We were elongating the shorter chain. The longer chain is this other one. Let work on the longer chain instead and my debt, my billion dollar expense
Starting point is 00:50:50 is erased. And essentially that's how partitioning the network, even if all miners come from the first to the last one, are totally honest, that's a problem. Instead, if you think about an algorithm, now we said
Starting point is 00:51:06 we have a committee of a thousand people and somebody partitioned the network in the two chunks or three chunks or four chunks. What can happen? First of all, it could happen that the network production of blocks stoles, but the same could happen with anybody else, because in no connected part of the world,
Starting point is 00:51:27 you find enough votes to mint a new block. It's okay. Suspension is not a problem, because after connectivity is restored, you'll continue where you left with nobody losing any money. But the other thing can happen is that, well, one part of the world gets maybe 100 members of the committee, but the other 900 are connected enough,
Starting point is 00:51:52 and they see that a new block has, they are capable of producing a new block. That's okay. So a new block is added to the chain, which is seen, say, by four-fifths of the world, but not by another fifth of the world. That is not a problem, because once the connection is resumed,
Starting point is 00:52:09 nobody has lost money, and everybody says, oh, gee, I didn't see a block for a while, but I see that when I was offline, so to speak, another 10 blocks had been added or another 20 blocks have been added. That's the chain. Let me continue from there. So in other words, there is a very big difference. Anybody can by tampering with a network can oblige a blockchain to come to a stop,
Starting point is 00:52:31 temporary stop. Maybe yes, maybe not. But even if it comes to a stop, when you resume, nobody should be able to, should lose any money. That's what Algorand allows. Okay. And so can you explain then this lottery how it works and how it leverages verifiable random functions? Well, the refiable random function is a way essentially to say, you, I'm going to associate to anything, but like a bunch of random bits, which are not under my control, but I can prove what the bits I got. And so the bits, what I want to associate it is to say, is this public key of mine, or is this token of mine?
Starting point is 00:53:13 a member of this committee, committee number N plus 1. To this event, a very farable random function, associated a string of, think of it like 300 random bits. These bits are not in my control because they depend on the input, which is committee membership or block N plus 1. This sentence alone, as for my public key, this gives immediately a bunch of random bits
Starting point is 00:53:41 which is not under control of my key or anybody. So, and from these beats essentially, you can interpret like a number between zero and one. You put a decimal point in front of it and you have a binary expansion of a random number between zero and one. And you say if this random number is less than a given threshold,
Starting point is 00:54:01 my public key is part of the committee. If it's not, it's not part of a committee. And because it's provable, whenever I am below the threshold and part of the committee, I prove to you my public key has associated with these numbers for block N plus one,
Starting point is 00:54:16 therefore I'm part of this committee. Here is the proof of these bits. By seeing the proof, you know that the bits are random, by seeing the proof, you know that I could not have tampered with these bits in any shape of form, and therefore I'm part of this committee. The end. Roughly, that's how it works.
Starting point is 00:54:34 So it's some randomness that you can prove, but you cannot choose your own random bits like nobody should be done. They are somehow automatically assigned to your public key. Okay. I'm trying to wrap my head around the concept of the verified. Let me give you an alternative solution, which is a little bit more less mathematically sophisticated but easier to understand. Okay.
Starting point is 00:54:58 Remember, you have a digital signature ski and you have a public key. Call it P.K. Who knows the secret key associated to PGA? Only you do. I cannot forge your synergies. So what happens is that when you want to associate a random number to your public key relative to an event X, what do you do? You digitally sign X.
Starting point is 00:55:22 Only you can do this signature. I cannot predict what your signature is. Further, you hash your signature of X. Everybody can do once the signature has been produced. So the hash of your signature of X is essentially a random number. number. A verifiable function can do better, but that's good enough. So, and that is your signature that you associated, associated to your public key and event X. Now, I cannot dispute that this is your signature, because anybody can verify whether the
Starting point is 00:55:56 signature of X is correct or not relative to your public key. And having done this, everybody can hash the signature. And having done that, everybody computes a string of random bits, associated or pseudo random bits associated to your public key and X and nobody can dispute it. Only you know which random bits are associated to public key and event X because only you can digitally sign X, but if you can give me a digital signature of X, I can verify your signature. The senior is correct, then I can hash it, and then I can check whether or not the bits that you claim to be the random bits associated to your public key and event X are right or not. Essentially, that is the way he works.
Starting point is 00:56:41 So in this particular proof of stake model that you have an algorithm, there's this randomness, the coins are chosen at random proportional to one's coin holdings, right? So that could be, I guess, sort of like their voting power. And so your probability of being chosen in this lottery is proportionally higher if you have many coins, right? Does it make a difference if one's coins are in a single account, in separate accounts. How does one stake, I guess, is the way to put it, their coins in this lottery?
Starting point is 00:57:18 Correct. Because essentially, this lottery is token by token, right? So assume that in Algon, there are 10 billion tokens. If you have one token, you have one in 10 billion probability of being chosen. If you have two tokens, you have two in 10 billion probability of been chosen. If you have 100 tokens, you have 100. everything. And if you look at this, assume that you have a thousand algos, a thousand tokens, you say, gee, I want to maximize my probability of being chosen. Should I hold this thousand
Starting point is 00:57:50 tokens in one public key, or should I split in two public keys, or should I split a thousand public key, each one with one token? Because your number of tokens does not change, and the probability of selecting is token by token, whether you hold all your token in a single key, or you distribute, your thousand token across a thousand keys, your probability of winning the lottery is absolutely the same. That is the good part. The only thing is that the way I describe it, the token by token,
Starting point is 00:58:23 yet to worry say, but now you have to do a thousand digital signatures and a thousand ash. And we have actually the technology to speed this up. So to make sure that in a single signature, you realize if you win or lose, whether or not you have one token or a billion token is the same easy, one signature is enough. We need a bit more mathematics to do that, but that's what we do.
Starting point is 00:58:47 Okay. Stephen, I'd like to turn it over to you a little bit and talk about some of the primitives that you've built into Algarand. So we're talking about this before the show. So you've built in three components into the Algarand layer one, atomic swaps, asset issuance and a smart contract language. Why did you feel that these components needed to exist at layer one and why not have people build them as additional layers on top of the on top of the blockchain such as been the case with so many other systems?
Starting point is 00:59:27 Yeah. Well, there's a couple of things that I think are critical and, you know, sort of adds on to one, just the solving of the fundamental problem of being able to transact at scale. And so then, you know, really thinking about once you've solved kind of these fundamental problems around the consensus protocol and creating a blockchain in a way that they can scale, you know, what do people want to do? And sort of, you know, we looked around at what people are actually using blockchains for. Asset issuance is a big one for sure, whether it's new kinds of tokens. They may be currencies. They may be security tokens.
Starting point is 01:00:03 We're seeing all kinds of interesting, you know, uses for digital asset in. issuance. The second is being able to trade those, but do it in a safe and secure way. But I think if you take a step back, about 15% of all crypto has been lost or stolen. And there's a lot of high profile situations where the use of touring complete smart contracts has led to undesired consequences. And I think that's sort of one piece. The other is the need to craft things within smart contracts requires a lot of duplication of what should be very simple things that people want to do every day. As a result, that's what we really looked at, what are the fundamental primitives that you need to have inside a blockchain that enable
Starting point is 01:00:50 the use cases that people are doing, but do it in a way that's very simple, that avoids some of the pitfalls and the possibility of bugs or other problems from cropping up. And that's sort of what led to ultimately the framework that we've created. It's really look at the fundamental elements, whether it's asset insuance, economic exchange, or being able to apply conditions under which those assets should change hands, and do that in a way that's both quite simple, but also relies on the security of the protocol rather than somebody's ability to create programs that are secure in and of themselves.
Starting point is 01:01:32 By building these functionalities directly into the LR1, do you foresee a situation where people may have use cases that fall outside of the scope of what you've built, and therefore it could be perhaps limiting to those applications? Well, you know, I think there's a couple of things. One, you know, we do think there's a place for general purpose smart contracts, and I'm sure Sylvia would be happy to elaborate on that a little bit more in a minute. But I think beyond that, you know, having a place, you know, Having platforms that are fit for purpose, I think is very important. And we believe that it's a multi-chain world.
Starting point is 01:02:10 There's going to be different people focusing on different problems. Having the right fundamental sort of financial and asset primitives and blockchain primitives in place in a way that enables people to build applications, create financial products, and really expand the scope of what they're doing is critical. And so, you know, I think we're, definitely not trying to boil the ocean, and we're not suggesting that, you know, the underlying primitives we've created are, you know, fit for every single purpose out there. But for what people are doing on blockchains today, we think we cover, you know, 80, 90 percent
Starting point is 01:02:45 of the territory in a way that's safe, secure, and very scalable. And I think you can start to see, you know, that happening. If you think about people who are transacting across borders, people who have complex business relationships and supply chains, we're seeing, you know, a lot of interesting use cases starting to emerge. I think even beyond that, though, just as people want to tokenize more assets, I think it's a little bit misunderstood in the market, even just finality alone, as an example, knowing who owns what is incredibly important. If you have a billion dollar asset, you really need to know who owns it. And if it's owned by hundreds or thousands of people, you know, they need to understand that as well. So I think, you know, all these things go hand in hand.
Starting point is 01:03:26 We think sort of the fundamental consensus protocol and underlying technologies are incredibly important, but then also being able to do things in a straightforward way is really necessary. And I think it goes back to, you know, one of the most fundamental things we look at is, you know, today there's about, I don't know, you probably know the number better, but about the 5 billion people, I think, on the internet. There's around 20 million developers in the world. If we're being generous, about 100,000 of those developers build blockchain applications. full-time. And the other 19.9 million don't. And one of the things that we think is a gigantic problem in the space is that the developer experiences today are very complicated.
Starting point is 01:04:09 It requires that people learn new programming languages or requires they learn a whole suite of technologies in order to become experts. And we think that ultimately people need to understand that a platform like Al-Grand is suitable for what they need and possesses the right underlying technical properties, we also need to make it really simple for them to use the tools they already know in order to start to take advantage of decentralized elements in their applications where it's appropriate. And so I think that's where, from our standpoint, you know, some of these layer one primitives really eliminate a lot of the complexity that people are faced with when they start to get into the space, not only making a better long-term way to kind of issue assets, but also
Starting point is 01:04:52 just makes it possible for people to do things in a really simple, straightforward way. And we've seen the power of simple developer experiences over and over, whether it's companies like Twilio or Stripe or others, that take something that was previously very complicated and required a whole bunch of systems and really boiling it down to something very simple. So talking a little bit about the smart contract language that you've developed, Teal, I believe it's called, and how it differs from other general-purpose smart contract languages that people would be used to. So first of all, this is a language which is very simple. It's somehow 30 instructions. Compare integers, multiply, verify a digital signature, hash, something like this.
Starting point is 01:05:39 Okay. And that was not done for doing general smart contract, but we try to put together 30 instructions that can let you do a lot of things. And as Stephen said, they say, hey, you know, most of the time people want to do. do, for instance, atomic swaps. That's a good idea. They want to issue and tokenize assets. That's another good idea.
Starting point is 01:06:01 And they want to somehow, say, post and sale. So in other words, I have an asset. I want to leave for a picnic on Sunday. I posted on the chain for sale my asset. And I name my price. And they say, whoever wants to snatch this asset for this price becomes this. I go for my picnic, I come back, and I may found, oh, I have the money I wanted, and somebody now has the asset without any interaction, right? So these are essentially fundamental
Starting point is 01:06:34 primitives, or if you want, you want to say, I give you a loan and you give me interest rate every month, and if you don't pay, then the collateral of a loan becomes automatically mine. So there is a bunch of things that the financial world they want to need, and we feel that if we give them a suite of a ready-made templates, of course, you can adjust the price, you can adjust all the various parameters, but essentially in a single line of code, you call the primitives functionality you want, I think it's going to be easier to get your job done. And if you don't find the primitive already realized in this portfolio, at least you can compose by putting together two or three of the primities you found there.
Starting point is 01:07:24 And I think that is a, I think as a first approach to smart contract, I think that it goes a long way. So, Thiel is not intended to be a language that is for general purpose of smart contract, but it does the job for 80, 90% of the need for smart contracts out there. For all the example I discussed are easily done in Thiel's in Thiel. And so that is the job of TIL. And you must make sure that these contracts are actually executed and verified as much in the few seconds it takes to generate a block. And he cannot slow down the production of a block.
Starting point is 01:08:01 So even if in a block there are a thousand, say, of these layer one smart contracts, the block is produced in the same amount of time. It's still in five seconds. I think this is pretty good. Along the side, we're actually having our own architecture, as soon as we are ready to talk about, I'll be happy to be your host another time, Sebastian. It's about the general smart conscience, because I think that has been a very great idea,
Starting point is 01:08:33 but again, the solutions are not as satisfying as possible because these smart concepts are, A, very slow right now, they are very expensive and somehow they are actually prone to error. This error comes from many sources and not only because programming is hard but also because when you issue an asset via smart contract, your definition, operational definition of an asset
Starting point is 01:09:03 and mine may be a very tiny difference that they become somehow arise when we actually try to treat different assets, an asset made by you with a sort of developed by me from handling my own assets. And that is a problem. So having this layer one solution for 90% of the problems, I think is a good idea because everything is treated the same uniform manner and direct manner and at the same level that handles the consensus protocol, which is the safest level of all of them.
Starting point is 01:09:37 So, Stephen, you were talking earlier about developer experience. And I agree that for a lot of developers who are coming into the space, there's a lot to learn when approaching blockchain platforms for the first time. I mean, so learning the language is one of those things. But I think that for the most part, it's learning about this new paradigm and how to operate within this new paradigm that is so different from. what people are used to, you know, building with more traditional platforms. One of the things that's that's great about general purpose smart contract languages, though, is that it has, like, all is that this innovation has come out of it, right? Like, the entire defy space came out essentially of, one could argue, you know, Ethereum and solidity and what people were able to do and build in solidity. And so I wonder if you're having a smart contract language that's so restrained,
Starting point is 01:10:37 as a developer, if you want to go and build like the next new thing, if your scope is somewhat limited, do you think that it will cause a situation where people are not able to really innovate, but just sort of like rebuild what has already been built and mirror existing platforms or rebuild existing models on all grand? Yeah, well, we did a lot of analysis on this. I mean, about 85, 90% of what people have used smart contracts for today could be done inside Al-Grand without any problem. I think there's sort of this argument about touring complete smart contracts versus non-toring-complete smart contracts obviously fall in the non-toring-complete side. That doesn't mean that there isn't a lot of functionality and ability to cover many different use cases in there.
Starting point is 01:11:28 It also suggests there's a big difference here between kind of choosing a language and something, else, which is when people make mistakes in the blockchain and crypto world, they're typically losing people's money, including their own often. And we think that protecting that is like, job number one and, you know, very important. And so I think that's a consideration that everybody needs, you know, to really think carefully about. And I think there's one other point that's important to consider is, is that we think that the underlying language, you know, doesn't really need, or sort of the underlying nature of the smart contract matters less than the quality of the developer tools that are around it. So as an example, we just released a Python library that allows people to use Visual Studio.
Starting point is 01:12:16 They can write their scripts in Python. It makes it very easy to compile them into TEAL smart contracts. We think that the space needs more of that, where people can just use the tools and languages they already know and use that as the sort of way to interact with the underlying blockchain platforms versus having to learn something entirely new. And I think the number of developers that are willing to go learn something entirely new is not that large. And we need to really be focused on doing things that encourage new people into the market.
Starting point is 01:12:51 I think that's what we're very focused on, which is less on sort of these very specific technical details and more, if you think about asset issuance, taking advantage of decentralization, thinking about what conditions you need in order for money to change hands, atomic transfers, it's really enabling people to do all these things in a very simple way. And I think that's going to be critical because what we really need are sort of more developers, more applications, more people taking advantage of the technology to really draw in a mainstream audience. So, Pastor, may I add something to this?
Starting point is 01:13:24 Sure. So first of all, again, I want to make sure that layer one smart contracts are what the word says. Smart concepts in Algorand that can be done a layer one. Is this a good thing? Yes. Is this the only thing? No. This is just a stepping stone that we are going to have towards our general smart contract.
Starting point is 01:13:46 But it's important to have a large suite of things that you can do safely and directly and very fast. By the way, I want to say very cheaply, and certainly you can combine these suito programs to write your own more simply. But if you are a developer, you know what your first concern is going to be? Is that the cost of gas to power smart ground is so high. But this essentially affects your bottom line.
Starting point is 01:14:17 Why? Because your customer has a finite budget anyway. If I know that I write a program, It's going to be used maybe by a million of people. However, these million of people have gone to spend so much in gas. How much of their money can I transfer into my pockets to reward for my good efforts? Very small. So in a situation in which, you know, you have a layer one smart contract, it takes a million-algo in payment.
Starting point is 01:14:46 I mean, if you find something useful for humanity to do, you will find a way to be actually remunerated for your efforts. I think the cost is an important thing too, because otherwise, you know, in the question this efficiency and the cost efficiency of these layer one smart consos should not be lost. Yeah, I agree that the cost efficiency is super important. So when it comes to the types of things that people are building on Algarand, the network went live last year. what are the use cases that you're seeing emerge on Al-Garan, and more specifically, like, does the company have sort of clear go-to-market strategy and for types of applications that it's looking to encourage people to build on the platform?
Starting point is 01:15:37 Well, I think definitely if you look at sort of the suitability of the feet functionality we've rolled out, I think there's a lot of broad use cases that are out there. But I think what we've seen is, you know, a lot of different people who are looking to be able to. issue tokens, whether currencies or security tokens, in a way that's scalable and secure and can kind of serve their purposes over the long run, especially as they start to launch larger businesses to that effect. We've had several announcements over there of different stable coins. We've also announced partnerships with platforms like Securitize, which are, you know, it's a layer two platform supporting security tokens and enabling people to issue products in compliant ways. I think the second is, you know, once you have assets, atomic transfers becomes
Starting point is 01:16:25 very important. So we've seen people building decentralized exchanges and, you know, other elements that sort of facilitate transfer of that. But, but I think more broadly, you know, we think there's a lot of opportunity in defy applications. I think if you look at, you know, 2019, you know, we start to see some of that build up. We think 2020, there's going to be a lot more focus on different ways to earn yield in crypto and ways to earn yield on platforms. And we think the underlying primitives that we've built enable people to really do that in a straightforward way. Infrastructural components like securitized that build on top of Al-Grand,
Starting point is 01:17:04 others are going to be more financial products that launch that I think we think are really exciting. And all those require assets to be on chain. So I think that's sort of one sort of fundamental area. The other we're seeing, I think, really interesting business use cases that just lend themselves towards being in a decentralized economy, things like supply chain, and really understanding whether certain conditions are met. An example is transporting perishable goods, making sure that they reach their sort of at a consistent temperature, that no triggers have been run before they get delivered, and payment
Starting point is 01:17:43 happening automatically as long as those conditions are met. So we're starting to see more a variety of decentralized applications starting to roll out kind of along those that are, I'd say, more business use cases. I think generally, though, it's a combination of, one, getting the right infrastructure in place, getting the right assets on chain, really being an enabler for, you know, new and innovative defy applications. The second is, you know, continue to broaden our developer tools and encourage more business use cases that are sort of fundamentally interesting for decentralization. And I think beyond that, what we've started to see, I'd say, more from an overall perspective is, while there's a ton of innovation in the DFI space, you know, fundamentally there's not that many users and not that much money floating around in there. And there's a traditional financial world that materially has all the world's money, but it's much slower to adopt. And we think a platform like Al-Grand, and more specifically a company like Al-Grand that just has experience, you know, working with people in different settings is important to kind of bring those two together.
Starting point is 01:18:45 I think definitely the traditional financial world, you know, has interest in, you know, the innovation that's happening. But I think it hasn't really been presented to them necessarily in a way that they can take advantage of. I see. Now, can you tell me about the algorithm foundation and the role that it will play moving forward with for us to the company? Sure. So first, I guess I'll just clarify, you know, Algrind Inc. is a U.S. company. We're based in Boston. we are creators of technology. Obviously, we're one of the core developers of the algorithm protocol, but we also build other software here. And our sort of go-to-market model is similar to,
Starting point is 01:19:24 you know, other open-source projects like Red Hat or MongoDB, where, you know, we'll ultimately continue working on the tech, but also will provide value-added services to people who are looking to build in the space. The Al-Gran Foundation is responsible for overseeing governance, of the public network and separately responsible for the issuance of the algo as a as a token. And so, you know, their responsibilities are really kind of fundamentally around that, along with community awareness and continuing to develop the ecosystem. And so where's the foundation based?
Starting point is 01:19:59 A foundation is based in Singapore. Oh, okay. Oh, interesting. And so then the foundation manages the issuance of the public network, you said. So I presume then the governance of the public network. Oh, sorry, governance of the public network. I presume then that algorithm can also be used in a permission setting. So are you pursuing also that as a business like implementing permission networks for clients?
Starting point is 01:20:24 Well, for sure, we think that there's going to be need for, you know, different ways of interacting with the technology. I think we feel it's very important to solve the public permissionless or have a public permissionless network as sort of the fundamental basis for everything. And even if people are creating their own chains, we feel they should be derived from the public network. So we may want to elaborate on that a little bit more. Yeah, yeah. So let's put this away. Is there a need for using a permissioned version of algorithm?
Starting point is 01:20:55 Absolutely. Because very often, certain industry in particular are regulated, think about health care or think about financial network, and they need to have, they cannot have their transaction to be visible to unopened and, public network. So therefore, you can use an algorithm, because in his consensus protocol, in fact, the same algorithm, absolutely, but in a permission shielded away way to get a permission version of algorithm. Why to build a permission network and algorithm? Well, there is a variety of
Starting point is 01:21:28 reasons. The reason number one is that, frankly, you may want to scale it later, and you can, and you can start, say, with 12 validators and then increase them to 100 and then increase it to 1,000 or hundreds of thousands or millions or billions, if you want. Why do you want to do that? Well, because assume that you have a financial network, perhaps five large banks that decided to operate within a permission blockchain. But then later, what if they want to enlarge their club to say? serve also medium-sized back, then small banks, then credit unions.
Starting point is 01:22:12 Well, now we are talking about thousands and thousands, right? And then at that point, if everybody wants to participate to consensus, how do you accommodate them? A consensus mechanism, which is good for 10, may not work for 100 or for 1,000 or for 10,000, etc, et cetera. And it's going to be very hard to change yours in the middle of our race. So you're going to risk the problem to have a legacy problem in six months. if you want to do. Instead, by taking, because scaling down is easy, scaling up is hard.
Starting point is 01:22:43 But if you start with a blockchain that scales to the billions, you can certainly start with that and you know that scalability upwards and decentralized upwards if you want, is never going to be a problem. The second thing, originally want to have it to say, hey, I like this, you know, layer one immediate layer one contract. So if you have an algorithm, permission version of alga. Not only you have peel, not only you have atomic swaps, etc. But you are going to have
Starting point is 01:23:13 any other innovation that is going to be in the algorithm network right away. Who doesn't want to want to have automatically, I mean, who doesn't not want to have, you know, layer one smart contract for those smart concepts you can do in layer one? I mean, the answer is a clear yes.
Starting point is 01:23:30 But finally, I think that a main reason to use algorithm, that we have this architecture for having a co-chain, which is a permission version of algorithm, then not only is completely autonomous, they choose their own validators, and they run their own consensus mechanism.
Starting point is 01:23:48 They are totally autonomous. But by being a co-chain of Algorod, what you have is the ability to interact with another co-chain. And that I think it is an incredible advantage. because very often people fall into the trap to know with whom they want to interact in the future. So you say, oh, I'm a bank, I'm a financial institution. I know with whom I want to interact
Starting point is 01:24:15 with other banks and other financial institutions. That's why we are building this blockchain with our, say, 10 financial institutions. But would you be surprised with this another 10 big pharmaceutical or hospitals? They form their own health care blockchain? Not at all. But if healthcare is 20% of the economy,
Starting point is 01:24:37 is it credible that a blockchain made by financial institutions don't want to interact to 20% of the economy. Of course, they will eventually interact. But guess what? At that point, unless you get into the scot chain infrastructure, by having your own permission blockchain, you are imprisoned by your own castle. You can, with transparency, speed and everything else, interact
Starting point is 01:25:02 inside your own original constituency, but you are blocked, prevented from actually interacting. And when people say, oh, but we have some interoperability program, yeah, you know, claiming is easy, claiming interoperability is easy. The question is really how do you actually implement? And actually by the Algrant co-chain, that is a great way to enjoy your cake and eat it too. because you can actually not only act with transparency and efficiency and trust inside, but also with the outside world. And strange enough, actually, you can actually take advantage also of a permissionless blockchain
Starting point is 01:25:46 to facilitate this interaction. One of the roles of the core chains would be to facilitate communications between permission chains by providing an interoperability layer. Is that correct? Let me give you an example, right? Assume now you are a member of the blue chain. You actually are, right? I am a member of a red chain.
Starting point is 01:26:11 And Stephen is the algorithm, the main permissionless chain. So you and I, Sebastian, the blue chain and the red chain are permission, but they are co-chains of algorithm. As I said, eventually say, hey, gee, Sebastian, you have a very interesting asset you have here, call it the circle. I have a very interesting asset to you, call it the triangle. How do we swap it? Okay, if you and I were in the same co-chain, by an atomic swap of algorand, we can swap in a few seconds done, but we are in different co-chain.
Starting point is 01:26:44 And so I must be careful because if you don't trust me, in particular, if I create a big opaque pipe by which you and I can exchange the, triangle and the circle, how do you know that I'm not selling the triangle two or three times over two other co-chain in another separate and opaque manner? You'll never know. So instead, conceptually, what you want to do is that it's very easy for me to assign the triangle to my same public key in the algorithm chain. Why? Because the algorithm main chain is permissionless. So my public key is automatically a key of the main chain algorithm. It's similar to the way that the cosmos works, for instance.
Starting point is 01:27:30 So the cosmos hub interacts with all the zones and then these assets that live on the zones can use the atomic swapping mechanism within the cosmos hub to interoperate. Well, you can say that the way. I mean, the devil's in the details. Atomic swap is the different things to different chains. But the high level, that is the way in which I think, in general, to have a, there is a role for a permissionless public blockchain. Because the permissionless allows you an immediate transfer to the main chain and backwards. And once you are in the public chain, you allow the item, not who owns the item, right, to know. And when I transfer the item to the main chain, first I transfer to a temporary public key.
Starting point is 01:28:19 so you don't even know which public key owns in the red chain, the triangle, and I don't know which public key owns in the blue chain, the circle. You transfer to temporary key in your own chain first. This temporary keys own in the main algorithm thing. They swap there, they swap back. So I think that the public aspect, the permissionless aspect is very easy to bring to the main chain, and the public aspect is to say, oh, everybody knows now that I don't know to whom we belong, but the triangle now is in the red chain and the circle now is in the blue chain.
Starting point is 01:28:54 So that I am prevented to give it to other people. So I think finding the right synergy between permission and permissionless blockchain is very crucial. But again, which chain you want to use, you want to use the permissionless chain as a backbone that has the best smart contracts, the best means to interact with each other. Atomic swaps on layer one and not as a smart contracts and so on. both. So what's next for Al-Grand and where can people find you? You know, one of the things, as you can, you know, hear from Silvio is not only is sort of the like core protocol, kind of something that we thought was important, but continual innovation is something that, you know, we're very
Starting point is 01:29:37 focused on. Now, that led to Al-Gran version two, which was released only a few months after mainnet launch. You know, there's continued innovation going on around co-chains and other areas. So I'd suggest everyone kind of stay tuned. You know, also kind of, you know, ensuring that, you know, there's a variety of layers to applications that are, that enable developers continuing to kind of build on the portfolio of tools that we've already released. You know, I think those are the things we're hard at work at over here. And in terms of finding us, you know, I would encourage anybody,
Starting point is 01:30:08 please come to our website, which is algern.com. We have those links to our social media presence there and, you know, a lot of information on the project. and for anybody who's looking to build applications on top of Algrant, developer.orgon.orgon.orgas has a variety of developer materials and information on how to get involved technically. But it's been really exciting, you know, first six, seven months since launch, and we've been really excited about the response we've seen out in the market.
Starting point is 01:30:33 Great. Well, Stephen, Silvio, thanks again for coming on the podcast. Thank you, Sebastian. It's been a pleasure to be with you in your audience. Thank you, Sebastian. For having us. It was great talking to you. Thank you for joining us on this week's episode. We release new episodes every week. You can find and subscribe to the show on iTunes, Spotify, YouTube, SoundCloud, or wherever you listen to podcasts. And if you have a Google Home or Alexa device, you can tell it to listen to the latest
Starting point is 01:31:00 episode of the Epicenter podcast. Go to epicenter.tv slash subscribe for a full list of places where you can watch and listen. And while you're there, be sure to sign up for the newsletter, so you get new episodes in your inbox as they're released. If you want to interact with us, guests or other podcast listeners, you can follow us on Twitter. And please leave us a review on iTunes.
Starting point is 01:31:18 It helps people find the show, and we're always happy to read them. So thanks so much, and we look forward to being back next week.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.