paint-brush
The Leo Programming Language Will Make Waves in Web3by@kaylej
707 reads
707 reads

The Leo Programming Language Will Make Waves in Web3

by KaylejFebruary 20th, 2023
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Aleo is building a brand new programming language, Leo, which is used to build private web3 applications. Leo stands apart from all of the other programming languages because it is used for private applications. If EVM blockchains are based on the "maximum possible openness" principle, then Aleo offers the maximum possible anonymity.
featured image - The Leo Programming Language Will Make Waves in Web3
Kaylej HackerNoon profile picture

The field of Web3 is developing at an incredible pace. If only 2 years ago we had no idea what NFT or Metaverse was, now we can hear about these technologies from everywhere! And even despite the market collapse in 2022, the sphere doesn't stand still — in June 2023 a new blockchain Aleo with the support of private smart contracts is about to enter the market.


Aleo is building a brand new programming language, Leo, which is used to build private web3 applications. There are already dozens of different programming languages in the decentralized Internet: Solidity, Vyper, Plutus, Haskell, Marlowe, Move, Sway, and many others. And Leo stands apart from all of them — because it is used for private applications. And if EVM blockchains are based on the "maximum possible openness" principle, then Aleo offers the maximum possible anonymity, and you can't look into the program’s state of an application on Leo, and you can't know the addresses of those who have used it.


This is possible thanks to Zero Knowledge Proofs, which are already used in private blockchains such as Zcash and the Manta Network. ZKPs are a method by which one party (the prover) can prove to another party (the verifier) that a statement is true without revealing any additional information. Aleo offers a wider range of applications of this technology, so that we can not only keep anonymity when sending transactions, but also create private applications inside which we can hide some information (but can also make public, this is an important feature of "configurable anonymity"). Public blockchains such as Ethereum and Bitcoin do not use ZKPs (and never will).


Disclaimer: I am an Aleo ambassador and thus have a vested interest in the platform mentioned in this article.


What's the difference between Leo and the rest of the programming languages in practice?

You can't protect information stored on public blockchains. And that's where Leo comes in: community members are already building the first programs that can't be implemented in Solidity: it's a Battleship game. The main trick is the ability to make the data private about the location of your opponent's ships. Be sure to take a look at how a smart contract is set up on Aleo's official Github.


How do you make sure that each player's ship configuration remains secret, while still being able to play impartially and fairly against his opponent? The answer is — by taking advantage of selective privacy with ZKPs on Aleo.


In general terms, we can follow the following general strategy:

  • Create mathematical rules for placing ships on the board to ensure that no player can cheat by stacking all their ships in one place, moving them off the board, or placing them on top of each other.
  • Make sure that the players and boards from which the game begins cannot be swapped.
  • Ensure that each player can only make one move before the next player can make a move.
  • Provide limits on allowable moves and make the player inform his opponent of his opponent's previous move in order to continue the game.


If you have ideas about what kind of game can be created using only the Leo language, visit Discord: https://discord.gg/aleohq


**What new things can Leo bring in the future? \ Leo will build a completely anonymous ecosystem around its Aleo blockchain. This does not mean that absolutely everything will be in private access. Interacting with unknown applications could be a problem for people who keep a significant amount of assets in their wallet. That's why the developer will be able to determine whether or not to make their smart contract public.


Or, for example, if we run an NFT collection on the Aleo blockchain: you can make the list of token holders public, but you can also hide it. Then the market will decide which projects will be interesting and successful, and which will fall into oblivion.


By the way, about the market: right now very few people are studying the Leo programming language, so, most likely, there won't be many competing projects. And if you happen to be an experienced Rust developer, please read my article. If you're not an expert in Rust, but generally good at writing code and interested in web3, you can pay attention too. The Leo language is developing incredibly fast, and the Aleo ambassadors do a lot of tutorials for beginners.




Final Thoughts

To summarize, it's safe to say that web3 will reach a whole other level with the launch of the Aleo blockchain. For example, you will be able to create a completely anonymous DAO, with the ability to vote anonymously — something that cannot be done within blockchain right now. In just four months...