Key to Success: How to Find the Right Blockchain Solution for Your Use Case
Crypto Valley Conference 2022 · June 2022 · 37:35
Armin Reiter of Cryptic leads a master class at Crypto Valley Conference 2022 on how to find the right blockchain solution for a given use case. The session is aimed at helping teams choose a blockchain approach that fits what they are building.
Speakers
Topics
From Crypto Valley Conference 2022, hosted by Crypto Valley Association.
Transcript
welcome to the last session of today how to find the right blockchain solution for your use case my name is amin raita i have a technical background from cyber security to software engineering i am cio at cryptics and managing director at cryptics labs where we research blockchain and distributed ledger technologies and where we built products on blockchain and distributed ledger technologies and we built those for our customers but also for our own ventures because cryptics is a venture building company and if you think about doing a blockchain project you have a lot of things
that you need to think about so you have a token for example you need to do legal evaluations um you need to do the product design you need to do the technology part software engineering but also security is a very important part right because i mean we are dealing with money and yeah it's it's really important to also take care of that you have the whole compliance part you want to support your customers and we at cryptics we combine all those services into one company to really deliver great projects and products to our customers if we do such ventures then we always do it with our group vision in mind which
is to build the people's financial marketplace so we want to combine different services that you need or that you want into one marketplace and just think about you wake up in the morning you go down to the bakery someone you know since many years and you want to pay with a cryptocurrency right and you want to get cash back you want to get rewards you want to have a loyalty program and your merchants so all the merchants they want to accept cryptocurrencies and if they expand their businesses then they maybe need to finance it so you want to do some crowdfunding and the merchant can do that do a crowdfunding campaign again with
cryptocurrencies and you have your wallet and you can invest into that so you will have a security token in the wallet and if the the the the company is successful then you will get dividends and that's again into your wallet so everything is like connected together cryptics was founded 2017 we have about 65 employees and we already built multiple ventures and i would like to quickly show you a few of the projects we had so on the right side we can see block trade block trade is a cryptocurrency exchange so you can buy and sell bitcoin ethereum e-credits and other then in the middle we have e-credits
e-credits is the people's currency it's an old blockchain it's an old mainnet and there are a few innovative concepts built into the e-credits so one is the organizational structure i'm not sure if you are aware of what is a european cooperative society so that's an organization where people can really participate where you have a legal body where you can also get financial market licenses and we are basically the first crypto company that built an sce our most recent venture is akita aikito just got a me fee 2 brokerage license so they can build an all-in-one investment
platform where retail investors and institutional investors can buy stocks bonds etfs can invest into startups and yeah i mean that's a great service for small and medium sized enterprises if they want to finance their startup then aikito is the right the right company to approach we not just do ventures ourselves but we also do blockchain projects for our customers and today i would like to talk about how to find the right blockchain solution for your use case so you have a use case you want to use blockchains but
how do you find the right one and i will refer always to three use cases that i have in mind so the first is someone wants to build a payment token on ethereum is this a good idea or should we probably go for another solution the second use case is pgp certificates on the blockchain so you can use pgp to encrypt data and there are many reasons from security perspective and so on why it makes sense to have it on a blockchain and you think about to build your own blockchain for those certificates and is this the right approach or should we probably use something else the third use case i will talk about is
you are a metaverse startup you are very great in virtual reality in creating gaming experiences and you think about to take a blockchain an existing source code and launch your own blockchain to have different assets on the blockchain and tradable which are also in the meta versa in your universe when customers approach us there is in the beginning always one first question that is really important and it's do you really need a blockchain so this is really a blockchain use case and especially if there are big corporations they have their supply chain they heard of this web free thing and blockchain
stuff and they want to to do something and think about okay let's take the supply chain and let's do it on blockchain but does it really make sense and there is a website which tries to answer this question so do you need a blockchain.com and the answer is most probably no and it's not that easy but this website is based on a paper that was launched five years ago and it asks a few questions that help you to find out if it's really a blockchain use case if we look at the third question here so can you use an always online trusted third party maybe the answer is yes you can but we are in the crypto space we want
decentralization we want to give the power to the people so yes you can but we don't want to right and let's assume you really evaluated your use case you know yes blockchain is the right technology for it then the next question is how to find the right blockchain solution and as usual in the software engineering you should at first think about the design and go through a few questions and i will show you a few design considerations and the first thing i will talk about is the blockchain dilemma that's what we already saw today from the katana foundation and it basically says there are three properties scalability decentralization
and security and you can have two of them but not all three let's just think about bitcoin bitcoin is the most decentralized blockchain it's the most secure blockchain but the scalability is not that good if you want to have a super high scalability then there is basically a very simple solution for it you take a very strong server or free put them in your basement connect them with a very strong cable and then you just create blocks that are one gigabyte size you can put a million transactions in this block but you basically have absolutely no decentralization so
think about those things and um if we go back to those use cases that i mentioned so the first one was a payment token on ethereum what do you want if you build up a payment network you need scalability right if you want to replace visa you want to have a lot of transactions if you build your payment token to buy art and you only have five transactions every five minutes whatever then scalability doesn't matter that much so think about those things and in the case of the pgp certificates decentralization and security is very important why
as i said pgp certificates are used to encrypt stuff and you want to have a very high level of censorship resistance and you get censorship resistance by having a very high level of decentralization and the scalability in that case doesn't matter that much because you will anyhow just have one certificate so basically one transaction created every few seconds if you thought about those things so that's just the starting point then there are a lot of other properties and things you should think about and we collected them in this mind map and on the upper right side we can see the blockchain dilemma that we just
talked about and then we have some general properties censorship resistance is something i already talked about then we have public availability so we know there are permission blockchains and permissionless blockchains there are public and private and consortium blockchains so just think about what you want to do if you're a big corporation and you want to have your supply chain with five other companies consortium blockchain is fine you don't need to have a public blockchain right then we have governance um also something you should think about do you need governance functions do you need voting maybe it doesn't matter for you and that's very important for this whole
list it's not a comprehensive list so it doesn't contain everything but it contains lots of things that are very useful and maybe for your use case you want to answer them you don't need to answer all of them but it's very good to go through it another property is privacy so many people think that the data on the blockchain is stored encrypted so that's not true it's there in plain text and this can be an issue if you have something that is really privacy relevant maybe it doesn't matter maybe you're fine with pseudonymous transactions and that's it data storage so just think about where do you want to store your data should it
be on the blockchain should it be on the interplanetary file system can it be in your company or on some cloud storage whatever then we have blockchain and transactions so a few properties that are around blockchain and transaction speed and block time is i mean we know for bitcoin we have a block time in average of 10 minutes if you think about our payment token on ethereum so we want to do payments and if you have a block time of 10 minutes then it basically means you go to the store you buy something and then you wait until the first block is mined right and we know that we should wait for six confirmations so you are at the
merchants and you wait an hour until your transaction is really like final on the blockchain in such a case you want to have a very low block time so for example five seconds in other scenarios like the pgp certificates you are fine with having 10 minutes 15 minutes you just need to make sure that within one or two hours the certificates are published but it doesn't need to be like super fast the block size is probably also an important property for you so i mean you can configure some chains you can change the block size and if you think about an iot use case in iot you have a lot of small
transactions so maybe you want to have a small block size and at the same time a small block time for other use cases you want to have a big bigger block size the time to finality is basically the property that says when you commit a transaction it is it's the type of finality is when it is 99.9 sure that the transaction is added to the blockchain and that no reorg can like kick it out or something like that and we know for bitcoin for ethereum it's basically six blocks but we recently saw a reorg on the ethereum blockchain of seven blocks
so now we need to wait for seven blocks on ethereum another property here is the consensus algorithm you don't need to understand every consensus algorithm but different consensus algorithms have different properties and we know at the european union there is this discussion to ban proof of work because it's environmental unfriendly and so on and i mean there is a reason why the bitcoiners want to have proof of work they don't want to destroy the environment they do everything to to use green energy for the mining but we know that proof of work is the most secure consensus algorithm still today and bitcoins they don't want to make a
compromise in security they want to have the best solution if you think about your use cases then if security is very important maybe proof of work is is the right one to go and in this list we also have the mining rewards so that could be something that is important for you because if you want that people can participate in your network and they should get rewards then you want to have you want to define your consensus algorithm and you want to define the rewards on the left side we have issue on cryptocurrency so
i regularly hear from people like it's taken hour to create a cryptocurrency right but i mean what does it bring i can also take a piece of paper and write 20 arming coins on it and what then what happens right and if you issue your own cryptocurrency you need to think about the token account so for a payment token you need to make sure that you don't have two less and also not too much so if there are just 20 million tokens for example and you want to build a global payment network which should replace visa then sooner or later one coffee will will cost
0.000 something so that's not really user friendly another important thing here is the legal definition so we know there are security tokens utility tokens and payment tokens and if you have a security token then the legal evaluations are yeah will take much longer and you have a lot of compliance stuff you need to think about if it's a utility token then it's much easier but if you look at the next thing exchange listing so this takes time if you build your own blockchain and you want to list the token or your coin on an exchange then it will take up to a year maybe even longer and this is something you need to think about if
it's really worth to create your own cryptocurrency or maybe you use something existing and if the cryptocurrency is there i mean you also need to sell it you need to convince the people there are if you look at coin market cap there are twenty thousand cryptocurrencies listed there so they are not waiting for you for the twenty thousand and first cryptocurrency so just think about if it's needed or not it could definitely make sense but yeah you just need to define it for yourself then we have the cost and effort perspective sometimes people just think about the development so how long does it take to
implement the product but you also need to operate it you need to maintain it you need to do all those legal stuff you need to make sure that the compliance is fine and the last point is very important resources so developers are a rare very rare especially in the blockchain space and if you build something super fancy then it's even harder to find developers and i talked to a few partners and they told me they they are looking for developers and they train them that they are able to do the stuff and it takes a year and after this year the people can really start to work on the on the things and finally we have the ecosystem at the
tools so if you use for example ethereum or cardano then you have a really great ecosystem there is a community you have documentation available you have open source software it's easy to extend it and it's integrated in lots of things so it's a super starting point if you build your own blockchain then you need to do this all on your own so you need to make sure that you have multisig wallets available you need to make sure that your coin is supported by hardware wallets so ecosystem is also like a super important thing so just if you have a blockchain use case
go through those properties think if there is something missing for your used case maybe you need to add something and that will really help you to find a blockchain solution and when you know how you want to build it and you defined all those things then the question is which options do you have to implement the solution and there are basically five options available the first is you build your own blockchain protocol so the good thing with that is you are really flexible you can define everything on your own you can define what is in the block which data is there you can add privacy layers on it or whatever you can define your consensus
algorithm and there are many good examples where blockchains did that so if you look at stella for example stellar built in own blockchain protocol some time ago and it is really focused on payments and they do the payments in a very good way they have a lot of interesting features in there and um if you think also back into 2010 2011 you have bitcoin and you can do transactions but you want to have privacy right and that's when monero and c cash evolved and it could be that you have such a use case where it definitely makes sense iot could be such a use case because it's
like very specific you have small data that you want to have on the blockchain you want to really optimize it have some compression in it and so on so the advantage is this you're super flexible it's a highly optimized chain you can have your flexible mining reworked and you have your dedicated chain for your use case and that's especially important if you think about gas costs of public blockchains and we will talk about that a bit later on the disadvantages side you have the implementation effort so it's not just to build it you also need to test it and you need to secure it and if you secure it you need to test
like different cases you need to like spin up 5000 nodes remove some of them make sure that it still works because if you have some issues there then you probably have an outage for a few hours or a few days and that will not really help your project you have an issuance effort so you need to have your own cryptocurrency in that case because the transaction fees so if there is a transaction then the users must pay a fee because if there is no fee then they can simply spam your network and that means you need to issue a cryptocurrency you so you need to do all the marketing you need to list it on an exchange you need to do all the legal
stuff you need to build all the tools like multisig wallets and so on that's basically what is is included in the ecosystem so you can't use existing tools because you build everything um on your own and um yeah i mean there is a big ecosystem available and you probably can't use it that is fine for an iot use because if you just want to you to to deal with data you don't maybe don't need a block explorer maybe you don't need multi-sequence so that could be and what's another disadvantage is decentralization because you need to build up everything on your own so maybe you have a great
audience maybe it's easy for you to reach a few thousand notes within a few months so that could be but if you start then you're alone basically and if you create 100 nodes i mean that's nice but you control it so that's not decentralized if you use an existing public blockchain then you already have a very high degree of decentralization the second implementation option is to create an own chain but use an existing technology so you take the source code of cardano of tasers of ethereum you tweak some parameters and you start your own chain this will allow you to save a lot of
time because you use a well tested technology you don't need to test everything you don't need to make sure that it is secured and so on but you can still modify stuff and you still have your own blockchain so the big advantage is implementation effort is much lower compared to building an own blockchain you use a well-tested technology you can rely on an ecosystem because if you take cardano or ethereum it supports smart contracts so also your chain will support smart contracts if you have users who want to use nfts you can deploy it on your chain you can define flexible incentives so this is basically the mining rewards and you can define it on your own
and you have a dedicated chain for your use case so that's basically the same as what we saw before on the disadvantages side you still have the issuance effort and just to make one thing clear here the issues can be a very good way how you finance your project so if you want to do an ico and the people buy your coin so that's very good so you get a lot of money and you can build the stuff but as i said there are 20 000 coins there so convince the people to buy yours decentralization is basically the same as before so you need to build it up on your own and i also put their ecosystem because even if you can use existing tools you
still have to adopt stuff so ledger integrations for example it even if it works for ethereum you still need to build your own app if you want to have multisig you need to deploy something that it works and you also need to teach the people that it is not the same but it works in a similar way so many people if you tell them this is ethereum technology but it's just an own chain then many people will not understand it so these were the the the options where you build your own blockchain the third option is you use an existing
blockchain and i put in there no smart contract so many blockchains have built-in functionality and what could be a very use a very good use case for using an existing blockchain is you have documents and you want to like prove that this document existed at a specific point in time so you just calculate the hash value of this document you store it on the bitcoin blockchain the bitcoin blockchain is the most decentralized most secure blockchain so if someone asks you in two years or questions if it really existed you just go there and say here is the hash it was created two years ago i own it and what do you want to to ask me
another example here is stella stella has a lot of built-in functionality so you can create a token there you have a path payments where you can pay with one currency and it is exchanged into another currency but the thing here is you are very limited because you're limited on the functionality of the blockchain and let's just quickly go through the advantages so the decentralization is very good because the network already exists you have a very low implementation effort because you just use what is there you use a well-tested technology and you don't need to issue your own cryptocurrencies so you save a lot of time but a
disadvantage says advantages side as i said you have a very limited flexibility because if the chain doesn't support the functionality that you need then you need to find another solution another big issue is load on chain and gas costs so we know on ethereum we had some like nft action and the result was that one transaction costed like 100 800 and if you have a used case where you store a hash value for example on the blockchain and you do it every day at the same time that it is really important that it works at the same time then this gas cost can somehow hit you because maybe you have to do a
transaction it will cost you a few thousand dollars the fourth option is a smart contract-based solution so you build smart contracts and you have a very high flexibility because smart contracts are usually turing complete so you can basically build whatever you want you have you rely on an existing chain so also here you have a very high level of decentralization but the advantages advantage compared to the previous version is you have still a very high level of flexibility the implementation effort is low to medium so we know there were a lot of
issues with smart contract especially from a security perspective so you should really be aware what you do you should do security audits you should check it and make sure that it's done in the right way but again compared to the other options it's much lower effort you can rely on existing tools so i mean there are block explorers and staff available that will simply also work for you you have the well test the technology and you still don't need to issue a cryptocurrency so you can do it if you want but you don't have to so that's the important thing here on the disadvantage aside is you can't define the incentives so you can
implement something into the smart contract which incentivize some people but it will not be really decentralized that everyone can just join so that's the big difference if you have an open network open blockchain where everyone can run a validator and participate in the consensus and receive rewards we have the same issue with gas costs we have the same issue with the load on the chain so you really depend on another chain and that could influence you the last option is a second layer solution or a side chain or a power chain or a parallel chain or however you want to call it and these technologies
are basically very different but they have one thing in common they rely on one main chain and this gives you a lot of advantages because you profit from the decentralization of the main chain but at the same time as you build your own layer or your own side chain you can really optimize this chain for your use case and that's what we see with the lightning network of bitcoin so they have a second layer solution they don't need their own cryptocurrency it's not needed it should be used for payments it is super scalable but it still relies on bitcoin so if the payments are settled then you have the same security and the
same decentralization as bitcoin has as you build your own blockchain you still have the higher flexibility to build it however you want and depending on what it is you potentially have no effort in issuing a cryptocurrency if it is a side chain then for sure you will have your own cryptocurrency so you still have the same thing but you don't have to if it's a second layer solution then it's not and also here we see why it's important to think about all these design considerations because if you say i don't want to issue my own cryptocurrency then a sidechain is maybe not the right thing but you can think about having a
second layer solution the disadvantages of that is very high implementation costs so you still have to build your own chain and even if there are sdks available and so on there are not many people who know how to build a second layer solution so and the same is for pocket chains the same is for side chains and you need to have a very good knowledge you need to have the developers and the people who are able to do that also in that case you have to build your own tools because if it's a second layer solution the people want to see what is going on there if it's a side chain also there the people want to use different things like multisig wallet and so on
and the more you customized the chain the more you build on your own the more tools you also have to build and then we have some technology specific advantages and disadvantages so we know i mean polka dot they have a very great concept with the power chains but if you want to launch a power chain then it costs a lot of money so there are these options where you can apply and then you pay some money and then you're in good so let's just quickly summarize and then let's go through those three use cases that i showed you in the beginning so the first thing is do you really need a blockchain is it really a blockchain
use case if so then i mean do the typical software engineering stuff so think about what you want to do collect the use cases think about just specify the stuff right then go through all the design considerations as i said you don't need to answer everything but it's very useful because if you know that you have this block time or that block size you need a lot of security or decentralization is your focus then you can also already select the right implementation option and maybe even the right blockchain framework or public blockchain that you use and finally we have the five
implementation options that i just showed you so you can build your own blockchain you can launch your blockchain based on an existing open source technology you can use a public chain you can use smart contracts and you can have the second layer sidechain bargain chain however you want to call it so let's come back to those three use cases i mentioned in the beginning a payment token on ethereum so we know there are issues with gas costs and if a user goes to a merchant and wants to pay something then the user doesn't just need your payment token but also either to pay the gas costs then it depends on the gas costs of the
main debt so if ethereum is under load you go to the merchant you buy a coffee and you have to pay 20 dollars of transaction fee that's not super nice what would i do in such a case if i would build a payment network so payment is basically the main use case for blockchain that's how bitcoin evolved and therefore there is a lot of technology available so use an existing technology launch your own blockchain build the tools on it there are open source tools that you can use so you can really start it very fast and then you will have your payment done and
then i mean you need to sell it and all those stuff so that's clear the second use case the bgp certificates on the blockchain so the original idea was to implement an own blockchain for it so that it's really optimized for bgp certificates but i said in the beginning you need a very high degree of decentralization and you want to have a very high degree of security so building your own blockchain means you need to make sure that the decentralization is reached so in that case i would go for a smart contract solution based on an existing blockchain that is very secure and very decentralized but where the gas costs are not like that super fluctuating
the third use case a metaverse company that does vr and stuff and wants to have all the nfts and houses and landmarks on the blockchain and the idea was to build an own blockchain for that use case so in that case i would say you need to think about two things do you want to have a big ecosystems a big community so that the nfts that you have there can be traded with as much people as possible or do you want to have your metaphors that is really like your environment and everything runs on your blockchain if the second one is the case then i would take an existing blockchain
because your core business is not building blockchain and doing cryptography you want to use something that works and you just launch a blockchain on an existing technology if you want to have lots of people lots of interoperability and such things then you can think about to use a public blockchain so yeah thanks a lot for your attention and if you have any questions feel free to reach out to me i'm here today and tomorrow and yeah have a nice evening thank you armin do you want to do a q a
well we can do a short i don't know the timing it's does anybody have question a question in the audience okay well then i take it as a no thank you so much for the amazing presentation here's a little token of our appreciation thank you very much um now we're gonna see everyone outside you have a question yes so yeah so this so that's the third option and if you if you think about stella for example as i said they have a lot of
built-in functionality so if you just want to have a token for example a security token and it is only there to be represented on the blockchain then you can do it with stella especially if you want to transfer it a lot and in such a case you don't need a smart contract and a smart contract is always like a potential security issue so you need to secure it and if it's built in in the blockchain then the blockchain guarantees the security the other sample that i brought is this document where you you have a patent or a certificate or whatever and you calculate a hash value and store this on the blockchain so there is no need to build a smart contract you just push it to the chain
any other questions we still have five more minutes so we can make use of it no okay well i'm sure they can reach out to you separately um i mean we'll be happy to answer questions thank you so much