Inco Workshop - ETHGlobal Bangkok 2024
ETHGlobal·Thu, Oct 9, 2025, 12:00 AM
Join us for an Inco workshop with Remi Gai from Inco Network. Learn how to build novel use cases across gaming, DeFi, identity and infrastructure by leveraging our cutting-edge FHE (fully homomorphic encryption) tech to deploy confidential smart contracts. ETHGlobal Bangkok 2024 was a 3-day hackathon that took place November 15 to 17, 2024, and brought together the most skilled web3 developers, designers and product builders from all around the globe for a weekend-long adventure to advance the Ethereum ecosystem! ----------------- Follow us: https://x.com/ethglobal Check us out: https://ethglobal.com/ Email us at: hello@ethglobal.com
Transcript
[Music] so today all the L1 l2s have one thing common is that they're complete transparent databases uh we do believe that there needs to be a minimum confidentiality in order to drive Mass adoption so if you think about using crypto as your bank account today for payroll or just you know your savings account everything is transparent and this is quite inconvenient because this is not how web 2 works right what if you need to be able to you know um hide your wealth this is something that you just cannot do to the in crypto and then institutions Enterprises are still having a hard time entering the space they have Trade Secrets they have essentially um information that they have to keep confidential and then lastly there just a lot of use cases that wouldn't make sense uh without any confidentiality so you can think of the car games uh priv voting blood auction so we utilize a cryptography FH uh that stands for fully homomorphic encryption by show hands how many people have heard of this term before okay great um so for folks who are non- technical the idea is that you can encrypt data but also compute on top of it without having to decrypts so when you apply FH to the evm what this really means is that you get to have encrypted data types but also encrypted operations such as additions multiplications divisions and and we recently released a uh research paper with with uh with circle on this topic of confidential erc20 framework and so the finding here really is on three points one is on the flexibility of the decryption rules the second one is on composability which I'll mention a little bit more talk a little bit more uh after and then lastly it's around this idea of programmable transfer rules so the idea of composability here is with this basic primitive a confidential erc20 you are essentially able to build other things on top so imagine being able to Leverage The confidential amount and then cast the private votes or use it for private payments or use it for private lending we are actually utilizing a couple different cryptography to achieve this so you know inco really is a combination of NPC ZK and FHA uh these three cryptography are utilized for very different purposes so MPC here is US only used for decryption and so essentially there is a private key and public key pair uh that is essentially encrypting this entire system uh but this private key never exists because what's happening is this NPC network uh generates this key through distribut key generation and so you can think of this having as its own network essentially if you need to decrypt something every single node needs to do partial decryptions and then to create the plain text right um and then on the compute side we're utilizing FH which allows you to do state transitions over incubed data without having to to decrypts and then lastly the ZK part is to make sure that every Seer text is not malformed and then that the user also knows what the plane text is because El someone can just copy paste your savy text deploy somewhere else and then you know decrypt it right um so with this we actually believe this is the next fontier uh it's the next fontier because you are not able to en new use cases that weren't possible before uh so you think about gaming uh there just a lot of new types of games that you could be enabling with confidential computes uh Asset Management defy and also infra so just a couple examples right so um in terms of confidential erc20 this is probably the most basic example um just to explain what you can do here uh today your balance is completely transparent uh it's just a mapping of address to a PL Tex integer what if you want to hide your balance right so this is where having a encrypted data type like EU allows you to hide your balance so here you know um I can directly encrypt uh the the amount of money that I have and when Bob sends money to Alice what you're sending essentially is a inced amount right so this you can see here is the e164 uh what's interesting about this is you know the flow funds is actually visible it's only the amount that's being hidden uh so so it's very similar to venol or revolute that experience that you know some folks might be familiar with in web 2 uh and how does this work right how so how are you able to transfer a confidential amount without actually knowing you know what it is um so this is where you can actually write um conditionals over encrypted data without actually uh using like a typical eile statement so you know the first line of code here you're checking if the amount you're transferring is less the than the user balance and so you do over FH where by doing tf. Le standing for less than or equal uh you get an encrypted Boolean that basically could be true or false and this is what you get is uh you know this variable can transfer that you pass it into this uh conditional multiplexer so what this is really is uh you can think of a alternative to to like a eile statements if the condition is true you will return the included amount if it's false you will return the included zero but from the outside perspective transfer value is going to be encrypted right so uh now what you do is you add this transfer value to uh the recipient uh total amounts and then you also subtract it from the uh the sender so if the value is zero essentially nothing happens you just end up transferring zero uh if the value is uh correct then you end up transferring the actal amount uh so another big use case here is also in gaming if you think about today uh there's no fully onchain poker game uh the reason why you can't do this game is because poker is a bluffing game without confidentiality this game would basically make no sense and so with FH you can actually generate a stream of Randomness uh over you know inced bits and so this is where you can call a simple function generat uh additional uh basically integers are hidden by default right so this is something that chain link would not be able to provide because you know your typical VF is PL Tex but here you need to have a confidential uh integer here uh we actually built this game uh roughly a year ago in New York uh actually East Global as well and uh you know this is a fully onchain Mafia game so you know another name for this game is werewolf uh the idea of this game is that you can have a secret killer detective doctor and um uh and villager and it's a bluffing game basically if you're the Secret Killer you have to to pretend that you're not a killer throughout the entire game and try to last as long as possible and the role of the other players are to basically figure out who who this you know impos imposter is right um so here again because you can generate the hidden rols uh fully on chain using the randomness you can also hide the roles this becomes super easy to build and also this is a multiplayer game so you know using FH and you know it becomes a lot easier because you can use the bling layer as the coordin ler if you to try to build this game using something that's more offchain based maybe like ZK it would become a lot more complicated because then you have to build up upch tooling uh you have to think about State coordination across multiple players but here because everything happens on chain we build this you know in less than 30 hours so yeah if you think about games today in in crypto they could actually be a lot more fun uh than they are today and this is because if you think about all the game mechanics that in web 2 that actually make a game fun require some kind of hidden information right so either I have to hide the player stats the amount of gold that I have and so here you can imagine a new uh game mechanic where you know the the player stats are actually hidden and so if you trigger some kind of battle mechanism you can multiply the player stats by some kind of aching Randomness and settle the battle right so uh this is where you know for us we do think uh gaming is a very you know interesting uh vers here that we can definitely expand and and just have people build novel Primitives and and game mechanics uh identity is another one um the reason why it's also very impactful is because today all the dids are completely static you KC with someone like binance uh that will basically send you a so bound token that said okay you're very 18 you're in Europe you have a good credit score uh however this is all public right what if you don't want all this information to be public so what you can do with FH is what we call Dynamic did which you know the idea is I can actually encrypt your credit score and store it directly on chain and selectively reveal information um so the reason why you can do that is because with FH you can also do comparisons right so you can do a FH that greater than so I just want you to know that I have a credit score over 700 and nothing else right and this credit score can change over time right so it makes sense to have a identity layer that gets updated and where people can query different insights and this Insight could change over time um so other examples could be your geographic location um your age and this is very similar to you know how web to works right you use your Google Au to connect to different applications you say I want to access my contacts but not my know Google drive or my calendar right and this is kind of like um missing user experience that we have in web 3 which which everything is public but what is if you know for a casino dab I just wanted to know I'm over 18 all these other information should remain private defi is very interesting because uh in the case of a priv amm if the amount you're trying to swap is hidden essentially nobody can frun you right because they don't know you know necessarily what the slipage would be and you know what the AR Arbitrage opportunity could be right uh I mean they could try it but they're taking a lot of Risk by trying to sandwich attack you so you know you do get me protection by default uh and I would also say like you know I would urge people to think about other novel def5 mechanism so let's say you know confidential lending where you know today there are attacks where if I know you can be liquidated by manipul manipulating the price you know uh I can actually do it right but what if you hide the liquidation threshold uh then you know it makes it a lot harder for a a hacker or attacker to to basically try to gamify this system and so this is actually a problem that actually happened in the past where you know people will manipulate the price Oracle to get Wells to get liquidated right so you know there could be more interesting things you could do here around private defi uh private voting is a very good example of how you know a shared private state is useful here when people cast votes they directly interact with this smart contract layer there is composability there is the ability for you to directly uh you know cast a vote and do do the tally directly on chain and and uh again if you were to do this you know using something like ZK that happens offchain then it becomes a lot more complex to coordinated States and because ZK cannot do state transition over private data there could also be information leakage so we are compatible with existing etherum tooling if you are a Sol developer you can get started within 20 minutes uh so you can use hardhead remix metamask and uh I would say you know for anyone who has experience building solidity all you really have to learn are the new syntaxes and also this slight different way to write conditionals which is you know select and uh we support a pretty wide range of operations comparisons uh so you can do divisions you can do right shift life shift uh bitwise operations and uh yeah it really means that you can build a lot of things uh Beyond just you know simple payments if you want to build def5 gaming it's really up to you to unleash your creativity and then create novel Primitives and also experiences with the end user just from a high level the way this works is you know there is a JavaScript library where you encrypt data all the inputs and so the way data is encrypted is called CeX so you have data padding some data Some Noise padding and some noise that's sort of the structure of the CeX so you generate that on the front end and you pass this on chain um as a as a as a input pram and then from there you can you know cast this into different types like EU 8 16 32 64 included address or included bullan um and so yeah we have a 10K uh Bounty uh there are three tracks one is open in Innovation so here we're very flexible if you can come up with novel Primitives around you know defi identity governance uh this is kind of what we're trying to push people to you know explore and then uh it is pretty Greenfield opportunity because you know these perimeters don't exist over FH and so you know there is an opportunity for you to be the first one here uh second is around confidential defi so like I said uh amm uh lending if you want to try to experiment with flash loans dark Poes um the idea of private defi I would say is still very much underexplored so so there could be a lot of opportunities here and lastly gaming so yeah uh there could be a lot of more games that you can build now some examples of previous games include fully onchain risk so that's like the the the bluffing game where it's more strategic and bluffing so essentially you have armies across a map and you can only see your enemies if you're nearby a certain border right or for example the mafia game that you know I explained earlier that could also be uh one of the novel type of games uh people have built let's see uh hangman um you know simple guessing game so yeah there's just many new games that you could be building and uh and yeah lastly you are uh you do have a chance to be part of our Builders Advocate Program um we'll have a booth uh somewhere somewhere in the venue and then yeah definitely come talk to us uh we're happy to provide you feedback on your idea and then our team members are also here to help you debug if you have any problems and so you can find our documentation here uh we have a couple demos on this arcade page and um we also have a Discord uh channel here and we do have have a haathon channel so if you need any you know support from on the technical side definitely you know ping us um and yeah that concludes the workshop [Music]
Automatic transcript — names and jargon may be misspelled.