

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 industry 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 discussed in the episode
- Silvio’s path from academia to blockchain entrepreneurship
- What Algorand addresses that other blockchains don’t
- The blockchain trilemma: security, decentralization, scalability
- How Algorand mitigates risk present on other blockchains
- The TEAL smart contract language and how it’s unique
- Building primitives: atomics swaps, asset issuance, and a smart contract language called TEAL
- Applications and use-cases for Algorand
- The Algorand Foundation
- What’s next for Algorand
(9:04) Silvio on developing Algorand
(13:45) Steven Micali on serial entrepreneuring from the early days of the internet
(16:30) How first-movers were not necessarily the winners, and getting into crypto
(20:10) Blockchain use-cases
(23:45) About the blockchain trilemma
(28:23) A comparison of consensus mechanisms
(35:15) Consensus in Algorand
(43:07) Propagation and network attacks
(48:13) Why Bitcoin is vulnerable to network attacks, compared to Algorand
(52:52) Verifiable random functions in Algorand
(56:41) How staking works
(58:46) Putting atomic swaps, asset issuance, and a smart contract language into layer one
(1:05:11) Teal, Algorand’s smart-contract language
(1:09:39) Will developers want to work with a non turing-complete smart contract language?
(1:15:08) What use cases are emerging on the Algorand network
(1:18:57) The Algorand Foundation
(1:20:00) Permissioned Algorand co-chains
Sebastien: I’m here with Steve Kokinos who is the CEO of Algorand, and Professor Silvio Micali, who invented Algorand, and is leading research at the Algorand company. Silvio, we had you on the podcast about three years ago, and back then, Algorand was just a white paper. I remember after the podcast thinking, I wonder if anything’s going to come of this. I wonder if someone will pick up the idea and go and build it, because at the time you didn’t seem to have any ambition to do anything with it, except that it was an interesting research exercise for you. At least that was my impression. Tell us what’s that journey been like what happened from then, what got you to where you are now with the company and 10s of people working for you, and having to raise funds and everything.
Silvio: My research interests have always been historically in cryptography, Byzantine agreement, and more recently, mechanism design, economic mechanisms. Somehow finally, I learned about the Bitcoin and I felt it was a fantastic problem, with an inelegant solution. Good idea, first idea, but I thought they could do better.
Usually, my style is to publish in reviewed conferences, journals and things like that. This time I wanted to put it out there in the style of the community as an electronic archive and see what feedback I got. But the feedback I got was not electronic. Somebody knocked on the door of my office, and it was my good colleague in systems, Nikoli Zeldovich, which is a few floors up in our building. He says Silvio, this stuff is too good to be true. Do you mind if we test it? of course, I said, do I mind? Why should I mind?
So we prepared a very rigorous test involving a few other people, who became the core of the Algorand team, the engineering team. We rented about 1000 big servers from Amazon and try to simulate the protocol. With 5000 users, at first, then 10,000, 50,000, 100,000, on up to 500,000. We wanted to simulate it up to a million, but we needed to find 2000 servers, and we couldn’t find any day in which 2000 servers were available.
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 other delay. So the system, surprise, surprise, it scaled as mathematical analysis.
So we thought we would publish a paper with Nikolai and Josi, and Derek, and Jurgis. I was very proud, it was my first system paper. At that point, first, it was an idea, then there was actually an experiment, and all of a sudden I said: “gee maybe this stuff works, maybe we should form a company and develop it.”
Also because, in the past, I saw that it was a really a long time which and all the basic ideas that I was developing, starting in 1980, on public-key cryptography, it took a long time to get into society. I decided we’re to accelerate the race and so forming a company was really the right thing.
I happen to share an elevator ride with Jamie, of Pillar, who would end up being one of our investors in Series A, and everyone was out there from Union Square Ventures, from New York. We had the classical elevator pitch, he says what are you doing? And says, oh, it sounds interesting. So we started talking a bit more and later, we decided to start this company.
Initially, we were 11 people, eight of whom are from MIT. One of the first good thing that Jamie did is to introduce me to Stephen, and the rest is history.
Sebastien: That’s a hell of a journey. So this is your first entrepreneurial experience outside of academia, I believe.
Silvio: Yes, some of my technology has been used by other companies but I never left MIT to give a hand to the company, just a license the technology, or a side part.
This was, instead, so much fun, when I took my first sabbatical, leave of absence, from MIT to be part of the company it has been a great ride ever since. We launched the blockchain in June, and last November, we added another major injection of technology by doing at the layer one all kinds of cool stuff, atomic swaps, smart contracts, issuance of your own assets, which are traditionally done by smart codes, and so are very fragile, and how we did it is very direct and very secure and very fast.
Sebastien: Cool. Steve, how did you come to meet Silvio and tell us a bit about your background as well.
Steven: Yeah, well, I’m a serial entrepreneur. So I got my start in the early days of the internet, in the mid-90s, when I was a young guy. I started my first company when I was still in college, built that up, sold it in 2000. We were one of the first handful of infrastructure providers, back then, and ended up building 10 data centers around the world, servicing some really interesting projects.
From there was a co-founder of a company called Bladelogic, which was an early data center, automation software. It’s like a precursor to the lot of cloud utilities that people use today. I helped grow that business. Bladelogic, went public and then was acquired by BMC Software. Then for the decade or so, prior to Algorand, was founder and CEO at Fuse, which is a cloud collaboration platform focused on enterprises.
A couple years ago, I decided that a new challenge might be fun, and decided to stop running fuse, day-to-day. I was also fortunate to be involved with Pillar, as one of the early investors there, which was founded, as Sylvio said, by Jamie Goldstein.
The thing that really struck me, was that crypto and blockchain tech were the first things I had seen in the intervening 20 years that had a lot of the dynamism and philosophical underpinnings that we saw in the early days of the internet, which I know it’s hard to believe now.
In the early days, the internet was very much about self-publishing, giving people a voice out in the market, was very anti-commercial, and had a lot of libertarian underpinnings as well. So I thought it was fascinating that the crypto had, it felt to me like a lot of similar ingredients.
If you take a step back, one of the things that I observed was that the financial world and the way people transact hasn’t really changed that much in 20 years, whereas, the ways we do a lot of other things has changed a lot. In any event, I had been exploring different things. I was doing some mining with my kids, as a hobby, in the basement of my house.
Jamie suggested, one day he happened to be my office, that I walk over and have a chat with Silvio. To be honest, I didn’t really know what I was getting into, but had a fascinating discussion with Silvio, and ended up getting involved. It’s been a real adventure, but, I think the tech, and the business, and even broader social possibilities are awesome here.
Sebastien: What was it about Algorand that really caused you to flip the switch and make a full swing into the crypto space?
Steven: Well, I think the color I just shared was part of it, but what really struck me is, when I was a young guy, there were lots of people who started internet companies, did pretty well, and sold their businesses. But what I observed back then was that it wasn’t really the first movers, the people in super early, that built generationally meaningful businesses, it was the folks like Google, and others, where they got to see what mistakes are made in the first wave, and really rethink the tech from the ground up, and also partner with business people that have experience scaling organizations.
To me, it felt like Algorand could possibly be one of the winners in the space. Certainly, Silvio is a brilliant problem solver, and he’s created amazing tech. Ultimately, that’s what really got me excited about the project. It felt like there was a lot of early enthusiasm but, there was going to be a next wave where bigger things were built.
Sebastien: Yeah, 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, Ethereum and the first blockchains to hit the market?
Steven: Well, I think for sure, there are network effects. there’s first-mover advantage. I would say, that, often these nascent markets, they take a little longer to develop than people think. I’d say there’s often pre-first movers, where it’s really just like the first people who got into the space. They often benefit greatly from that but aren’t necessarily the companies that end up winning out.
If you look at where we are today, our belief is that we’re at the start line of 20-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 think using a dial-up modem, like in 1996, and trying to use a crappy browser and waiting five minutes for a banner ad to load, it’s a little difficult to imagine your kids watching Netflix in the back of their car on their iPhone. There’s a similar progression that has to happen there. I also think, though, that network effects are very important.
One of the things, Silvio can elaborate on this better than I can, in this space, the products and technologies that are out there, the first generation technology simply can’t scale to handle the throughput of the entire world, you just need the underlying bandwidth, which is why we believe so strongly in solving these fundamental layer one problems.
We think that #1 putting the right tech out there is important, I think separately, we aren’t believers that it’s a single chain, all or nothing, is going to rule the day. We think that Bitcoin established 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 the technology stacks that are needed. We think Algorand can be one of the handful of key platforms to succeed out there.
I think you need to generate network effects you need to also make it really simple for developers, or people to build on top of the technologies. Today, the user experiences are terrible. Both end-user and developer experiences, I’d say, across the space. So that’s something we’re really passionate about is starting to be one of the players that think about that and fixes some of those problems.
Sebastien: With your previous experience in cloud-based communications platform, when you came into space and started working with Silvio, did you see anything that blockchain was able to solve? Do you see any problems in your previous experience, where you thought how blockchain can solve this?
Steven: They’re very different domains, very different problem surface areas, between communications and blockchain, at least from a tech perspective. But I think there’s some simple things in the world where blockchain is ultimately about helping create trust between people that have no other way of transacting. If you think about simple cases where I may want to order something, from product to be created, maybe I want to use a Chinese supplier, they want me to send the money before they ship me the goods, and I’d rather they should be the goods before I send the money. 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, a paper legal system. To me, that was something that I thought was very interesting. what we really feel is that the decentralized world really represents a new form of economy. There are certain businesses that, by nature, will have a desire to transact there and will solve fairly meaningful problems for them. Now, there are other businesses that don’t need, aren’t going to be decentralized.
In the really 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 it was nonsense. I think that they don’t need to be decentralized either. But there are a lot of problems that can be solved there.
If you look at some of the features that we’ve been introduced recently, like atomic transfers, the ability for people to exchange in one step, being able to create conditional smart contracts and issue new types of assets. All those things are designed with the kinds of problems in mind that are real business needs that exist out there, versus just putting stuff out and seeing what sticks
Silvio: I totally concur with Stephen. So you must know with the problem of fair exchange, for instance, if you have an asset that I want, and you have an asset that I want, who gives the asset first, to the other. Or even though 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 I went over that problem, i tied myself in knots, trying to solve without the blockchain. Once I saw blockchain, I said now these things have a much easier solution. Why is the solution much easier, because it is buried under this extraordinary tool, which is a public permissionless blockchain. So you get all the technology for free, or almost for free, all kinds of very sophisticated architecture. That is the beauty of it, that you have on our platform, if you engineer it correctly, which allows you to do very elemental and very simply all kinds of things that used to be extremely complicated even with public key cryptography, zero knowledge and all kinds of other complications.
Sebastien: What problem does Algorand address that other blockchains have not been able to address so far? What does it bring to the table?
Silvio: First of all, when you talk about Algorand, and I really want to explain, to everybody who’s listening, that Algorand is in motion. Different from other blockchains, in which what you start with is what you get. We continue to innovate on the platform and we have a very deep roadmap which is going to keep us busy for a few years.
The first problem, that we actually solved, was the famous blockchain trilemma. The trilemma was enunciated a few years back by Buterin, co-founder of Ethereum. The trilemma says it is impossible for a blockchain to enjoy simultaneously all the following three properties, security, decentralization, and scalability.
So just imagine if this were true. I am now a company blockchain, by design. I’m a consultant. You come in my store and I give you a blockchain which is right for you. Okay. Oh welcome Sebastian. So, I’ve really a blockchain which is really perfect for you. You want the best blockchain that is insecure? You say, Well, not really. So okay. You care about security, good. So how about we give you this blockchain which is pretty much centralized or otherwise has all the right properties. Well, if you’re interested in a blockchain, why do you want one which is centralized? It is totally nonsensical. similarly, perhaps you don’t care about scalability? No, I do care about scalability because otherwise, what I’m going to use a blockchain to interact with friends and family?
It is incredible that for a long time no blockchain could satisfy these three properties. I think that the first thing that the Algorand did is to somehow prove the trilemma false. Yes, it was backed by a lot of empirical evidence. There was another way to skin the cat, another way to organize a blockchain, that allows you to enjoy all these three properties at once. That’s what Algorand was initially.
Moving forward, as Steven mentioned before, the ability to have layer one in a very direct and secure manner, as if it were ordinary payments, to the issuance of assets, to atomic transactions, and layer one smart contract is equally important. Just imagine if you are a typical application on a blockchain, think about supply chain. People can put on the blockchain all kinds of things, lets say coffee. Somebody in the mountains grows the coffee and has to be paid. Somebody has to be bringing the coffee from the mountain to the plane, he or she has to be paid to. Somebody puts them on a truck and transports them to the harbor, that wants to be paid, and the ship wants to be paid, and so forth.
So who goes to pay first, you have to do all these 12 payments, I think I mentioned, easily if you 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 ledgers in different currencies all at once. It takes, with today’s today’s technology three months.
So to be able to do it in less than five seconds, treating them all with 12 separate transaction as a single transaction. The fact that you can somehow authorize your own piece of this transaction, knowing that is not going to be secure at all, but is going to be executed in a few seconds anyway, only when all the other transaction also executed simultaneous with yours, is a great benefit.
Next step, for us, is going to be general purpose smart contract, that is going to be as innovative as we’ve been in our consensus protocol. Next is going to come, if we find the right balance, we believe between permission in permissionless blockchains, which I believe is going to be a synergy between the two rather than either\or. We are going to leave our mark with blockchain, but the first one was solution of the trilemma.
Sebastien: Talk about how Algorand solves this trilemma. This trilemma that you can only have two of three security, scalability and decentralization. How do you solve this?
Silvio: I want that first of all, to make sure that all your listeners understand what is really hard in a blockchain. What is it, a database organizing blocks, block one, block, two blocks, three, such a rate that, everybody can read the blocks. Everybody can write an entry in one of his books, and nobody can alter either the content of a block or the order of any block.
An inalterable database is actually trivial from a cryptographic point of view. You make a hash of a block, and put the hash into the beginning of the next block. That prevents anybody from altering the content of a block or the order of the blocks. All blockchains use the same technology for achieving inalterability.
So what is the challenge, the challenge is choosing the next block, because the next block is going to contain all the valid transaction that you’ve seen propagate in the network. I want to make a payment to you, I digitally sign it, and propagate in my network. Eventually everybody will get it and they did it at a different point in time.
In your opinion, the next block is a bunch of, sticking to payments, I now have say 1000 payments. I may see 990 payments instead, I’m going to have perhaps seen the 100 payments you didn’t see, and I missed some 80 payments that you saw before me. 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.
Even a minute difference, or a small percentage difference accumulated block by block, raises tremendous confusion about what the ledger ought to be, what the history of these transactions is going to be. So who chooses the next block? That’s the really difficult problem, and Nakamoto solution was actually brilliant. It was the first idea to say we are going to have a computational game. We are going to propose a very complex cryptographic riddle.
The first one to solve it, was very right if he presents a solution to a riddle, to obtain the next block to the chain. The next riddle is going to be so hard, no matter how many people on earth try to solve it, only one solution every 10 minutes will be found. This actually is important with slowness, this one solution every 10 minutes Why?
Because if two people, say you in Paris, and another lady in Thailand found a solution, few seconds of each other, then you have a fork in the chain, because you don’t know if the next block is yours or hers. So you want to minimize the number of forks because when there is an occasional fork, we can resolve it and go back to a unique single chain, but the forks are too frequent then the resolution is going to be essentially impossible.
If you look at this is a brilliant idea but it obliges the blockchain to grow very slowly. This is very expensive. Why? Because more people want to participate in the generation of a new block. The more people participate, the faster your solutions are found. Therefore, the riddle has to become more and more difficult. The point in which you know you have to consume an insane amount of electricity, that powers of the computers, the only purpose of which is to solve this riddle, and in fact, are so expensive that the fewer and fewer players can actually play this game because you don’t have to have only one computer. not only a specialized computer, but racks and racks and racks of thousands and thousands of computers. This becomes fewer and fewer people’s game.
Right now, the blockchain of Bitcoin, could be controlled by three mining pools. If you look at this, are three mining pools decentralized? How? That world needed an alternative solution, and alternate solutions were found. The first one was proof of stake but it’s important to understand that proof of stake is not one technology is a portfolio of technology.
Typical proof of stake is called the delegated proof of stake, which for all intents and purposes can be summarized as follows. You see these 21 people, don’t they look honest? Well, if they look honest, I believe they are very honest, I believe they will continue to be honest that in the future so why don’t we delegate all of us to just them the problem over generating the next block. So if you ever delegated proof of stake if you ask me is centralized from the get-go.
At least in Bitcoin, everybody could, in principle, participate by solving the riddle to generate and the next block here, we are actually concentrating into the hands of the 21 people. Then the debate is that 21 is not enough, 50 is a good number. Libra says no 100 is a good number. Well 21, 50, 100 it’s all centralized right.
The next thing is a bonded proof of stake, another simple idea which can be summarized as follows. In bonded proof of stake, it’s not 21 people or 200 people, its as many people are willing to put money in the middle of the table, when they cannot touch it, are the ones in charge of generating the next block. Their influence in generating the next block is proportional to the money that they put at stake, bonded in the middle of a table.
What’s the problem with 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 it’s hostage, not invested, and not ready to be spent, just hostage?
The answer is going to be for most of us a very small fraction. So in a system like this, you not only make it possible, but you make it easy. In fact, you actually roll out the big red carpet for big fish with deep pocket to put the disproportionate amount of money in the middle of a table for the sole purpose of controlling the chain.
Sebastien: What you just described, there’s two issues, that are somewhat compounding. So the first issue is 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 wasUri Klarman of bloXroute who came on the podcast a little while back, and this is how he describes it, is the 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. With Bitcoin or with proof of stake or delegated proof of stake, or bonded proof of stake, there’s this issue where at some point, specialization makes it so that you have centralization of validating power. That’s just due to the nature of the validating of blockchain is complicated, and we’re going to need specialized actors to do this thing.
Silvio: Essentially correct. But, I beg to differ a little bit. So there is a network without very sophisticated routers, one block can actually be seen by can cover the planet in a second. That’s not the problem itself. The problem is actually choosing the next block. Once is chosen, you can propagate it very quickly. But choosing the block is what now slows down a lot of things. That’s why you need to have the computational game that slows down Bitcoin. With the 21 people you, you narrow the number of people who can choose the Block, you can choose the next block more quickly.
In Algorand, we solve the problem a very counter-intuitive way to enable anyone who has a token of Algorand, any token has the same ability to participate to block generation. Here’s how it works at a high level. Every token, once you see block 100 the question is, what is block 101? So what happens is with Algorand, you have, think of it like two magic phrases. The magic is actually replaced by mathematics. But nevermind. Over the radio it’s easier to talk about magic.
Magic phrase 1, consists of, every token is going to ask, am I perhaps the one who is going to choose the block. To solve this problem, you actually do a lottery, a cryptographically fair lottery that decides if you are going to propose a block. The lottery is simplified so that there is only one winner. If you win the lottery, that the lottery is cryptographic means two things. I cannot, even if I have enormous computational resources, increase my chance of winning, but if I win, I have a proof that I won the lottery. I can somehow disseminate to the network, my proof that I won the lottery, and they propagate my chosen block, at the same time. I built this belief and the block I propagate at the same time. End of phase one.
Phase two, everybody again, tries to run a different lottery, this time the lottery select a random 1000 tokens. The owner of this 1000 tokens are part of a committee who agrees on the block chosen by the first person. 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. So when this happens if a bad actor won the first lottery and propagates the block nobody’s guaranteed. He or she cannot tell, you have one block, me a different block, and Stephen yet another block, and your listeners all kinds of different blocks, thereby generating confusion there is not a chain anymore, there is a mess.
When you have found some tokens essentially selected at random, and they if most of the tokens are in honest hands, which I believe is a safe assumption, then the majority of these tokens are going to be belonging to honest people. Therefore the committee has an honest majority, and such a committee agrees on only one block. That is how you guarantee that there is one block, and the block has been agreed.
The real question is how do I guarantee that I’m part of a committee. Because of the cryptographically fair lottery. If I win I get a proof, I cannot trick the lottery to improve the chances of winning. So if I’m a part of the committee, I give you a proof that I’m part of the committee that won the lottery. I’ll give you my opinion up or down about the validity of the block. This pair of proof and opinion is disseminated over network.
Why is this scalable? Because how long does it take to run the cryptographic lottery, one microsecond? It’s very fast. Okay, so it’s scalable. Is it distributed? Well, absolutely is distributed because we are not concentrating the power in one person 21, 50 or 100 every token and Algorand has 10 billion tokens with the same probability token winning the lottery and be part of this committee. So that is very distributed.
By the way, if you win the lottery, you have to propagate your winning ticket, your proof that you won the lottery, and your opinion about the block. 1000 people, tops, can win this lottery can the network absorb the dissemination of a fast on small messages? Absolutely. That’s why it is scalable and distributed.
Sebastien: I just want to stay on this on the lottery for one second. So when you say 1000 people can win the lottery. At any time. Of those thousand people there, there’s one participant that ends up creating the next block and propagating that block to the rest of the network, correct?
Silvio: Yeah, that happens in the first phase. The second phase is essentially an agreement phase in which you say okay, we heard something about we reach a Byzantines agreement, and the Byzantine agreement is a process by which say, 1000 people, or a group of people, majority of the which are honest, they try to establish a common output, a common block. If we are going to invest across the byzantine process, at the end of which I output one block. I know, if I’m honest, then every other honest person has the same vote on the block of the time propagating.
Therefore, if you see a block that has 700 votes of this committee, it belongs to the committee because you’ve seen the winning ticket. If you see 700 winning tickets voting for the same block, you say, that has to be the block. That is the next block in the chain. End of story. You don’t have to wait that there are possible forks, you don’t have to wait to let the new blocks add that 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 members, Bingo, that’s my next block. Our next step, we agree on the next block, and so on, so forth.
Sebastien: So I’d like to ask you about how this information is propagated. Specifically, my question here is how do you get over network propagation issues that can arise. 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 desktop in a remote location. The quality of each internet connection can vary widely. if one has to propagate a block, let’s say we now assume that blocks for scaling that blocks can get, 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.
Silvio: First of all, even with modest 20 megabit connections, you can do it quite a while, they are heard by everybody. Remember that we produce a block in five seconds 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 by at least, not by everybody because you never sure somebody is on the edge of the network, maybe 90% of the participants.
There is actually a further idea of Algorand, which we have not discussed yet, but guarantees actually that the protocol security does not depend on the security on the underlying communication network. In other words, if an adversary tampers with the network communications, with the wires, or routers, he can destroy somehow proof-of-work approaches, but they cannot destroy the Algorand approach.
Of course, if an adversary prevents all of us from sending messages. Well, nobody can produce a block. Not on Algorand, not in Bitcoin, not in Ethereum, not on anything. If we are isolated in Faraday cages, nobody talks. If you can somehow partition the network, even by cutting wires or by reprogramming, for an hour, the relevant routers and you isolated, say, South America for an hour.
Then suddenly by the time in which you realize something wrong happens, and you patch together a communication network. You reconnect to 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. 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. Somehow it could actually be cheaper or more possible for an adversary to attack the network element of the protocol.
In Algorand, you are secure against the protocol attacks in network attacks. First of all, if I may spend some time to say why is Algorand secure against the protocol attack. So before I was saying that, remember I have a winning ticket if I’m part of a committee to approve a block, and I propagate them a winning ticket, then my opinion about the block. Let’s assume that I am a bad guy, which is extremely powerful. I’m so powerful that I can corrupt anyone 1000 people on earth, at the snapping of my fingers. Okay, very easy for me to do.
I want to corrupt the committee of 1000 people, most of it is going to approve the next block. That’s where the security of Algorand comes from. I have a problem. I do not know whom I should corrupt, 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, the lady in Shangai, and, and so on, so forth. But as soon as the people spontaneously come forward by announcing here is my winning ticket, I’m part of the committee, and here is my opinion about the block, pay attention to it. Now I know who I should target. I can corrupt them immediately. At that point, the message of the committee members are virally spreading across the network. I cannot put them back in the bottle no more than the US government or any other government could put back in the bottle. A message now propagated by WikiLeaks. In some sense, Algorand is secure, because beforehand, an adversary does not know whom it should corrupt, and ex-post is a bit too late to corrupt.
Sebastien: Because of the randomness in the lottery systems. Then how does Algorand protect against the network component?
Silvio: First of all, is easier to 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. Let’s assume that all miners in the world are all honest. Good news! and miners are geographically dispersed. There are in North America, South America, Africa, Asia, Europe all over the place. Okay. Five populated continents, Antarctica is still not very populated.
So imagine an adversary cuts the cables going to South America so South America is isolated from the other continents. Five continents, South America, is isolated for an hour. The adversary allows other messages to go across, but the Bitcoin protocol messages are not let in or out of South America.
South America can extend the chain among themselves, every time that one of them solves the riddle attaches a block. So you start the producing blocks but at a much slower pace. Why a slower pace, because one-fifth of the miners in South America so we say we speed the 20 you are touchable. Meanwhile, they have four continents also solve the riddles, but they solve it, at a much faster speed than South America, because there are four times of miners in the rest of the world than South America.
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, I’m going to spend a billion dollars in South America, get an asset, say a super-duper transatlantic ocean liner, whatever I can buy with a billion dollars.
Once I have it, I can even reconnect my cables because, at that point, my debt will be erased. Why? Because after I put together the wires, even old miners, including South American miners and say gee, what we were doing? We were long waiting with the shorter chain. The longest chain is this one, let work on the longest chain instead. My debt, my billion-dollar expense is erased.
Essentially that’s how partitioning the network even if all miners, from the first to the last one, are totally honest. That’s a problem.
If you think about Algorand, now we said we have a committee of 1000 people, if somebody partition the network in two chunks or three chunks four chunks. What can happen? First of all, it could happen with the network production of blocks stalls, but the same could happen with anybody else, because in no connected part of the world that you find enough votes to meet a new block, okay.
Suspension is not a problem, because after the connectivity is restored, you continue where you left with nobody losing any money. One part of the world has maybe 100 members of the committee but the other 900 are connected enough and they see that the new block and they are capable of producing a new block. That’s okay, so a new block is added to the chain. Which is seen by four-fifths of the world, but not by another face of the world.
That is not a problem because once the connection is resumed nobody has lost the money and everybody says, Oh gee, I didn’t see a block for a while, but I see while I was offline, so to speak, another 10 blocks have been added, another 20 blocks have been added, but the chain let me continue from there.
So in other words, there is a very big difference. Anybody by tampering with the network can oblige a blockchain to come to stop temporary stop, Maybe yes, maybe not. But even if it comes to stop when you resume, nobody should lose any money. That’s what Algorand allows.
Sebastien: Okay, and so can you explain then, this lottery, how it works and how it leverages verifiable random functions?
Silvio: Verifiable random function is a way to say you are going to associate to a bunch of random bits, which are not under my control, but I can prove what bits I got. The bits I want to associate to this public key of mine, or is this token of mine. A member of this committee, committee number n plus one, implementing verifiable 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 of block n plus one. This sentence alone is for my public key, this gives immediately a bunch of random bits which is not under control of my key or anybody.
From these bits, you can interpret a number between zero and one, you put the decimal point in front of it, and you have a binary expansion of our random number between zero and one, and you say if this number is less than a given threshold by public key is part of the committee. If it’s not, is not part of the committee. Because it’s provable whenever I am below the threshold and part of the committee, I prove to you my public key as associated with these numbers for block n plus one, 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, that I could not have tampered with these bits in any shape or form, therefore, I’m part of this committee. Constantly. That’s how it works. So it’s some randomness that you can prove, you cannot choose your own random bits, they are automatically assigned to your public key.
Sebastien: Okay. I’m trying to wrap my head around the concept of verifiable random function.
Silvio: Ok, let me give you another solution which is a little bit less mathematically sophisticated, but easier to understand. Okay. Remember you have a digital signature scheme, and you have a public key, call it the PK? Who knows the secret key associated to PK, only you do. I cannot forge your signatures. So what happens is that when you want to associate a random number to your public key relative to an event x, you digitally sign x, 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. Verifiable random function can do better, but that’s good enough. So, your signature has associated to your public key and event x. Now, I cannot dispute that this is your signature because anybody can verify whether signature of x is correct or not, relative to your public key. Having done that, everybody can hash the signature, having done that everybody computes a string of random bits associated with, pseudo-random bits, associated with your public key. 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, that the signature is correct, when I hash it. I can check whether or not the bits that you claim to be random bits, associated to your public key and event x, are right. Essentially, that is the way it works.
Sebastien: In this particular proof of stake model that you have in Algorand, there’s this randomness, the coins are chosen at random, proportional to one’s coin holdings. So that could be I guess, like their voting power, and so your probability of being chosen in this lottery is proportionately higher if you have many coins. It doesn’t make a difference if one’s coins are in a single account or in separate accounts. How does one stake, I guess is the way to put it, their coins in this lottery.
Silvio: Essentially this lottery is a token by token. So assuming that in Algorand there are 10 billion tokens, if you have one token, you have one in 10 billion probability of being chosen. Okay? If you have two tokens, you have a two in 10 billion probability of being chosen. If you have 100 tokens, you have 100. If you look at this, assume that they’re like 1000, algos, 1000 tokens. You say, I want to maximize my probability of being chosen. Should I hold this 1000 tokens, in one public key, or should I split it into public keys, or should I split into four public key. Because your number tokens does not change, the probability of selecting is token by token, whether you hold all your token in a single key, or you distributed your 1000 tokens across 1000 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 token by token, but now we have to do a thousand digital signatures and a thousand hash, so and we have actually the technology to speed this up, 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. You need a bit more mathematics to do that, but that’s what we do.
Sebastien: Okay, Steven, I’d like to turn it over to you a little bit and talk about some of the primitives that you’ve built into Algorand. We were talking about this before the show, you’ve built three components into the Algorand layer one, atomic swaps, asset issuance, and a smart contract language. Why did you feel that these components needed to exist at layer one? why not have people build them as additional layers on top of the blockchain, such as is the case with so many other systems?
Steven: Yeah, well, there’s a couple of things that I think are critical and, adds on to one, just the solving of the fundamental problem of being able to transact at scale. Really thinking about, once you solve these fundamental problems around the consensus protocol, and creating a blockchain in a way that it can scale, what do people want to do? We looked around at what people are actually using blockchain 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, we’re seeing all kinds of interesting, uses for digital asset 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, a lot of there’s a lot of high profile situations where the use of Turing complete smart contracts has lead to undesired consequences.
I think that’s 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. Now, what are the fundamental primitives that you need to have inside of blockchain that enables 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. That’s what led to ultimately the framework that we’ve created. It’s really look at the fundamental elements, whether it’s asset intrusions, 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.
Sebastien: By building these functionalities directly into the layer one, 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?
Steven: Well, I think there’s a couple of things. One, we do think there’s a place for general-purpose smart contracts, and I’m sure Silvio will be happy to elaborate on that in a minute. I think beyond that, having platforms that are fit for purpose, I think is very important. It’s a multi-chain world, there’s going to be different people focusing on different problems, having the right fundamental 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. We’re definitely not trying to boil the ocean. We’re not suggesting that the underlying primitives we’ve created are fit for every single purpose out there. But, for what people are doing on blockchains today, we think we cover 80-90% of the territory, in a way that’s safe, secure and very scalable.
I think you can start to see that happening if you think about people who are transacting across borders, people who have complex business relationships and supply chains, we’re seeing 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. If it’s owned by hundreds or thousands of people, they need to understand that as well. So I think that all these things go hand in hand, we think 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.
I think it goes back to, one of the most fundamental things we look at is today, there are about 5 billion people, I think, on the internet. There are around 20 million developers in the world. If I’m being generous, about 100,000 of those developers build blockchain applications full time and the other 19.9 million don’t. One of the things that we think is a gigantic problem in the space is that the developer experiences, today, are very complicated and requires that people learn new programming languages or requires they learned a whole suite of technologies in order to become experts. We think that ultimately people need to understand that a platform like Algorand 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. I think that’s where, from our standpoint, 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 issue assets, but also just makes it possible to do things in a really simple straightforward way. 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.
Sebastien: So talk a little bit about the smart contract language that you’ve developed Teal, and how it differs from other general purpose smart contract languages people will be used to?
Silvio: So first of all, this is a language it’s very simple, 30 instructions, compare integers, multiply, verify a digital signature, hash, something like this. That was not done for general smart contract, but we try to put together 30 instructions that can let you do a lot of things. As Steven said, most of the time people want to do, for instance, atomic swaps, and that’s a good idea. They want to issue and tokenize assets. So that’s a good idea, and they want to somehow post and sale. In other words, I have an asset. I want to leave for a picnic on Sunday, I posted, on my chain, for sale my asset, and I named my price and say whoever wants to snatch this asset, for this price. I go for my picnic, I come back and I found, I have the money I wanted and somebody now has the asset, without any interaction.
These are essentially fundamental primitives. Say I give you a loan and they’ll give me interest rate every month. If you don’t pay then the collateral on the loan becomes automatically mine. So there are a bunch of things that the financial world wants, and we feel that if we give him a suite, a portfolio of ready-made templates. Of course, you can adjust the price so you can adjust a lot of parameters, but essentially in a single line of code, you call the primitive functionality you want, I think is going to be easier to get your job done.
If you don’t find the primitive already realized in this portfolio, you can compose by putting together two or three of the primitives you found there. I think that is, I think as a first approach to smart-contract, I think it goes a long way. Teal is not intended to be a language that is for general purpose smart contracts, but it does the job for 80-90% of the smart contracts out there. All the examples I discussed are easily done in Teal.
So that is the job of Teal, and you must make sure that these contracts actually executed and verified, in the few seconds it takes to generate a block, and it cannot slow down the production of a block. So even if a thousand, of these layer one smart contracts, the block is produced in the same amount of time, is still five seconds. I think this is pretty good.
Along the side, we are adding on our own architecture. As soon as we are ready to talk about, that, I’ll be happy to be your host another time, Sebastian, about the general smart contracts, because I think of it as being a very great idea. But again, the solutions are not as satisfying as possible because of these smart contracts are very slow. They are very expensive, and somehow they’re actually prone to error.
These errors come from many sources, and not only because programming is hard, but also because when you issue an asset, as a smart contract, your operational definition of an asset and mine may be, a very tiny difference, that they become somehow when we actually try to treat different assets, unless that made by you with software a developed for by me for handling my own assets, then that is a problem. So having a layer one solution for 90% of the problems, I think is a good idea because everything is treated the same uniform and direct manner, and at the same level, in terms of the consensus protocol, which is the safest layer of all of them.
Sebastien: So, Stephen, you were talking earlier about developer experience. 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. 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 building with more traditional platforms. One of the things that’s great about general-purpose smart contract languages, it has all this innovation has come out of it right like the entire Defi space came out essentially of one could argue, Ethereum, and solidity and what people were able to do and build in solidity.
I wonder if having a smart contract language that’s so restrained, 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 like rebuild what has already been built and mirror existing platforms or rebuild existing models.
Steven: Yeah, well, we did a lot of analysis on this. About 85-90% of what people have used smart contracts for today could be done inside Algorand, without any problem. I think there’s this argument about Turing complete smart contracts versus non-Turing-complete smart contracts. We obviously fall on the non-Turing-complete side, that doesn’t mean that there isn’t a lot of functionality and, ability to, cover many different use cases in there.
It also suggests there’s a big difference here between 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. We think protecting that is job number one, and, very important, and so I think that’s a consideration that everybody needs to really think carefully about.
I think there’s one other point that’s important to consider. We think that the underlying language, doesn’t really need, or the underlying nature of the smart contract matters less than the quality of the developer tools that are around it. As an example, we just released a Python library that allows people to use Visual Studio, they can write their scripts in Python, that makes it very easy to compile them into Teal smart contracts.
We think the space needs more of that, where people can just use the tools, the languages, they already know, and use that as the way to interact with the underlying blockchain platforms, versus having to learn something entirely new. I think the number of developers that are willing to go learn something entirely new is not that large. We need to really be focused on doing things that encourage new people into the market. I think that’s what we’re very focused on, which is less fun. To 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. I think that’s going to be critical because what we really need are more developers, more applications, more people taking advantage of the technology to really drive a mainstream audience.
Silvio: May I add something to this? First of all, again, I want to make sure that layer one smart contracts are what the word says. Smart contracts in Algorand can be done on layer one, is this a good thing? Yes. Is this the only thing? No, that is just a stepping stone to our general smart contracts. It is important to have a larger suite of things that you can do, safely directly and very fast, and very cheaply. Certainly, you can combine with the C suite of programs to write your own more simply. If you are a developer, you know what your first concern is going to be, is that the cost of gas, to power smartcode, is so high that this affects your bottom line. Why? Because your customer has a finite budget. If I know when I write a program is going to be used maybe by millions of people. However, these millions of people have got to spend so much for gas, how much money can I transfer into my pockets, for my good efforts? Very small. So in a situation in whichever layer one smart contract, it takes a milli algo payment. If you find something useful for humanity to do, you will find a way to be remunerated for your efforts. I think that the cost is an important thing too. Because its a question of efficiency, and the cost efficiency of these layer one smart contracts should not be lost.
Sebastien: Yeah, I agree that the cost efficiency is super important. So when it comes to the types of things that people are building on Algorand, the network went live last year, what are the use cases that you’re seeing emerging? More specifically, does the company have a clear go-to market strategy and for types of applications that it’s looking to encourage people to build on the platform?
Steven: Well, I think definitely, if you look at the suitability of the functionality we’ve rolled out with, I think there’s a lot of broad use cases that are out there. But I think what we’ve seen is a lot of different people who are looking to be able to issue tokens whether currencies are security tokens in a way that’s scalable and secure and can serve their purpose, over the long run, especially as they start to launch larger businesses.
In fact, we’ve had several announcements of different stable coins. We’ve also announced partnerships with platforms like Securitize, which are, layer two platform supporting security tokens and enabling people to issue products in compliant ways. The second is, once you have assets, atomic transfers become very important. We’ve seen people building decentralized exchanges, and no other elements that facilitate transfer of that.
More broadly, we think there’s a lot of opportunity in Defi applications. If you look at 2019, we started to see some of that build up. Within 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. We think the underlying primitives we’ve built enable people to do that in a straightforward way. Infrastructural components like Securitized, that build on top of Algorand, others are going to be more financial products that launch that we think are really exciting. All those require assets to be on-chain. So I think that’s one fundamental area.
The other, we’re seeing really interesting business use cases that just lend themselves to 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’re at a consistent temperature, that, no triggers have been run before they get delivered, and payment happening automatically, as long as those conditions are met.
We’re starting to see more variety of decentralized applications starting to roll out along those, that are, 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, new and innovative applications. Second is, continuing to broaden our developer tools and encourage more business use cases that are fundamentally interesting for decentralization.
What we’ve started to see, I’d say more from an overall perspective is, while there’s a ton of innovation in the Defi space, fundamentally, there’s not that many users and not that much money floating around in there. There’s a traditional financial world that materially has all the world’s money, but so much slower to adopt, and we think a platform like Algorand, and more specifically, a company like Algorand, that just has experience working with people in different settings, is important to bring those two together. Because I think definitely the traditional financial world, has interest in, 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.
Sebastien: I see. Now, can you tell me about The Algorand Foundation and the role that it will play move forward with the rest of the company?
Steven: First, I’ll just clarify, Algorand Inc is a US company, we’re based in Boston, we are creators of the technology. Obviously, we are one of the core developers of the Algorand protocol, but we also build other software here. Our go-to market model is similar to other open source projects like Redhat or MongoDB, where, 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 Algorand foundation is responsible for overseeing governance of the public network, and separately responsible for the issuance of the algo as a token. Their responsibilities are really fundamentally around that, along with community awareness and continuing to develop the ecosystem.
Sebastien: So where’s the foundation based?
Steven: The foundation is based in Singapore.
Sebastien: Okay, interesting. So then the foundation manages the governance of the public network, I presume then that Algorand can also be used in a permissioned setting. So are you pursuing also that as a business, implementing permissioned networks for clients?
Steven: Well, for sure, we think that there’s going to be the need for, different ways of interacting with the technology, we feel it’s very important to have a public permissionless network as the fundamental basis for everything, and even if people are creating their own chains, we feel they should be derived from the public network. Silvio may want to elaborate on that a little bit more.
Silvio: Is there a need for using a permissioned version of Algorand? Absolutely. Certain industries are regulated, think about healthcare, or think about financial network, and they cannot have transactions be visible to a public network. So therefore, you use can Algorand, the same algorithm, but in a shielded way, to get a permissioned version of Algorand. Why build a permissioned network? There are a variety of reasons, reason number one is that you may want to scale it later. You can start with 12 validators and then increase them to 100 and then increase it to 1000 or hundreds of thousands or millions or billions if you want. Why do you want to do it? Assume you have a financial network, perhaps of five large banks decided to co-operate within a permissioned blockchain then later, what if they wanted to enlarge their club to serve also medium sized banks, then the small banks, and credit unions? Well, you’re talking about thousands and thousands.
At that point, if everybody wants to participate in consensus, how do you accommodate a consensus mechanism, which is good for 10 may not work for 100, or for 1000, or for 10,000, etc, etc. It’s going to be very hard to change yours in the middle of a race. So you’re going to have a legacy problem in six months. Scaling down is easy, scaling up is hard. But if you start with a blockchain which scales to the billions, you can certainly start with that and with the scalability upwards and decentralized upwards if you want is never going to be a problem.
The second reason you want to have, say, I like a visceral layer one contract. If you have a permissioned version of Algorand, you have not only atomic swaps, etc, etc. but you’re going to have any other innovation that is going to be in the Algorand network right away. Who doesn’t want to have an all layer one smart-contract, for those smart-concepts that you can do layer one?
Finally, I think the main reason to use Algorand, is we have an architecture for having a co-chain, which is a permissioned version Algorand, that is completely autonomous, they choose their own validators and they run their own consensus mechanism. They are totally autonomous. But by being a co-chain on Algorand, what you have is the ability to interact with another co-chain.
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 with other banks or other financial institution. That’s why we are building this blockchain with our, say 10 financial institutions. Would you be surprised with another 10 big pharmaceutical or hospitals, they form their own healthcare blockchain? Oh, well, if health care is 20% of the economy, is it credible with a blockchain made by financial institution don’t want to interact to 20% of the economy? Of course, they will, eventually.
At that point, unless you get into this co chain infrastructure, by having your own permissioned blockchain, you are imprisoned by your own castle. You can with transparency speed and everything else interact inside your own regional constituency, but you are prevented from actually interacting.
When people say oh, but we have some interoperability program. Yeah. claiming is easy. The question is really how do you actually implement. The Algorand co-chain 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. Strange enough, actually, you can take advantage also of permissionless blockchain to facilitate this interaction.
Sebastien: One of the rules of the co chains would be to facilitate communications between permissioned chains by providing interoperability layers?
Silvio: Let me give you an example. Assume you are a member of the blue chain. I am a member of a red chain, and Stephen is the Algorand, the main permissionless chain. You and I, Sebastian, the blue chain and the red chain are permissioned, but we are co chains of Algorand. Eventually, I say, Sebastien, you have a very interesting asset, called the circle. I have a very interesting asset to you, call it the triangle. How do we swap?
If you and I were in the same co chain by an atomic swap we can swap in a few seconds done, but we are in a different co chain. 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 to a co chain in another segment, in an opaque manner? never know. So instead, conceptually, what I want to do is assign my triangle to my same public key in the Algorand chain. Why? Because the main chain is permissionless. So my public key is automatically a key of a main chain in Algorand.
Sebastien: Similar to the way that Cosmos works, for instance. 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.
Silvio: Well, you can say it that way, the devil is in the details. Of course, different things for different chains. The high level, that is the way in which there is a role for a permissionless public blockchain because the permissionless allows you an immediate transfer to the main chain and backwards. Once you are in the public chain, you allow the item, not who owns the item, and when I transfer the item to the main chain, first I transfer to a temporary public keys so you don’t even know which public key owns the red chain, the triangle, and I don’t know which public key owns in the blue chain, circle. You transfer to temporary key in your own chain first, these temporary keys on main Algorand, swapping there and swapping back.
Is very easy to bring it to the main chain, everybody knows now, not to whom it belongs, but my triangle now is in the red chain in the circle now is in the blue chain. So that I am prevented to give it to other people. So I think the synergy between the permissioned and permissionless blockchain is very crucial there. Again, which chain you want to use, you want to use the permissionless changed as a backbone, that has the best smart contracts, the best means to interact with each other, atomic swaps on layer one, not as a smart contract, and so on, so forth.
Sebastien: So, what’s next for Algorand? where can people find you?
Steven: One of the things, as you can hear from Silvio, is not only is the core protocol of something that we thought was important, but continual innovation is something that we’re very focused on. That led to Algorand V2, which was released only a few months after, mainnet launch, there’s continued innovation going on around co chains and other areas. I would suggest everyone, stay tuned.
Ensuring that there’s a variety of layer two applications that enable developers continuing to build on the portfolio of tools that we’ve already released, those are the things we’re hard at work at over here.
In terms of finding us, I would encourage anybody, please come to our website, which is algorand.com. We have links to our social media presence there, and a lot of information on the project.
For anybody who’s looking to build applications on top of Algorand developer.algorand.org has a variety of developer materials and information and how to get involved technically. But it’s been really exciting in the first six, seven months since launch, and we’ve been really excited about the response we’ve seen out in the market.
Sebastien: Great. Well, Stephen, Silvio, thanks again for coming on the podcast.
Guests
Hosts
Sponsors
Cosmos
Join the most interoperable ecosystem of connected blockchains. Learn more at cosmos.network/epicenter.Pepo
Meet the people shaping the crypto movement – pepo.com/epicenterStatus
A multi-purpose communication tool that combines a peer-to-peer messenger, secure crypto wallet, and web3 browser. Learn more and download the app at statusnetwork.com