Flow vs Ethereum – Smart Contracts Scalability Problems And Solutions Technical Analysis

17 min read

Blockchain technology is giving rise to a rising number of platforms, languages, and applications. Art and collections are being packaged into non-homogeneous tokens (NFT) to be displayed and circulated on the blockchain. However, Flow Chain is on its way to catch up with Ethereum even as the NFT market is still dominated by the etheric fang eco-system.

The Ethereum blockchain platform has become one of the world’s leading blockchain platforms since its creation in 2015. Used by developers to develop smart contracts and build decentralized applications, The founder of Ethereum realized that blockchain technology will have great potential, Instead of just serving cryptocurrency transactions, Just created Ethereum.

Ethereum is constantly developing and gradually becoming the preferred public chain for many blockchain projects . meanwhile , A game developed based on Ethereum , Cryptocat , Because it is too popular, it once caused the congestion of Ethereum network , This just shows that Ethereum still has obvious shortcomings , We need a more advanced blockchain system .

This is why the creators of cryptocat choose to launch their own blockchain , named Flow. Let’s take a closer look at this new chain , See how it is different from Ethereum , And why is it more suitable for NFT project .

Ethereum and Solidity

If you are familiar with blockchain technology and keep up with the trend of encryption in the world , Then you must have heard of Ethereum . This open source blockchain platform has long relied on its excellent smart contract design , Write down a sum belonging to it in the history of blockchain .

The creators of Ethereum were once obsessed with the bitcoin protocol , And determined to create the next generation of blockchain . They intend to expand the functions of blockchain and apply this technology to broader business scenarios . This also prompted them to invent Ethereum , And created its own monetary system (ETH) And programming languages Solidity.

Solidity It is a high-level programming language for developing smart contracts . Received from C++,Python and JavaScript Inspired by the ,Solidity It is also designed based on the idea of object-oriented . in addition ,Solidity It is also for Ethereum virtual machine (EVM) Customized programming language .

But why do Ethereum developers want to create a new language ? Answer that question , We might as well revisit some basic concepts .

When developers are working hard to build Ethereum , Bitcoin is still the most successful blockchain system ( Even so far , Bitcoin is still a leader ). The bitcoin network has created a point-to-point currency trading system . Ethereum is to digitize anything of value and make it flow efficiently , Not just cryptocurrency .

Another major problem is , Bitcoin’s own scripting language is difficult to be used by developers to build a general smart contract , Because bitcoin scripts are too complex , And lack of flexibility , This forced Ethereum developers to create their own systems , And your own programming language .

Final , The Ethereum team broke the inherent model of bitcoin system , Use a more flexible Solidity Language creates a new system .

Ethereum is currently used as the underlying platform for many decentralized applications ,NFT Projects are no exception . Statistics display , Ethereum is in the leading position in the launched decentralized applications and the number of daily active users .

Flow and Cadence

although Flow Blockchain has only recently been launched , But many people have called him a potential successor to Ethereum .

Flow By Dapper Labs Developed ,Dapper Labs It’s a Canadian company , Also create CryptoKitties The team . The company’s developers found that , When the number of users of their collection games running on Ethereum has just come 1 Ten thousand people , The network crashed . This makes them realize the need for a new blockchain .Dapper Labs Our vision is to attract up to 10 Billion people use their DApp, However, no blockchain platform has such expansion capability .

So they built Flow, A faster decentralized network , It can empower the whole decentralized application , Especially games and digital collections .Flow The core architecture of ensures that without sacrificing decentralization , Improved network performance , To meet the needs of mainstream applications . With Flow after , Developers can easily build applications that can handle hundreds of millions of users .

for example ,NBA Top Shot Already in Flow Successfully run on the network . According to the Dapper Labs CEO Roham Gharegozlou call ,NBA Top Shot I’ve got NBA The official authorization of , Its trading volume exceeds all other NFT Sum of items . Since the launch of the beta ,NBA Top Shot Has attracted 80 More than the user , Produced near 5 Billion dollars in sales .

Like other blockchains ,Flow It has its original currency , be known as FLOW. It is the main reserve asset on the network , It is also used for pledge 、 Tokens to manage and pay transaction costs . In line with the same philosophy as the founder of Ethereum ,Flow Our team also launched a new product called Cadence New language of .

Cadence Is a resource oriented programming language , And created some new features for smart contracts . These features include a powerful static typing system , Built in functions and pre and post conditions of transactions , And capability based security attributes .Cadence The grammar of Swift and Rust Influence . Resource types can be related to Move Language match (Move from Libra Contract language developed by the team ).

Flow vs Ethereum: Which is more suitable for NFT Development

In understanding Flow And the basic situation of Ethereum , It’s time for a duel . Let’s compare the two platforms , See which is more convenient now , More effective , More economically feasible , More profitable .

Extensibility

Anyone who has tried to use Ethereum to develop Dapp The developer of the , We all know that Ethereum has scalability problems : The throughput of Ethereum network is only about… Per second 13-15 A deal , This makes it difficult to cope with large-scale usage scenarios .

CryptoKitties Developers have also experienced this inefficiency . Their game was so popular that Ethereum couldn’t handle the influx of users . Creating Flow when , The main goal of developers is to solve the scalability problem , At the same time, it also maintains the decentralization and high security of the network .

Ethereum regards fragmentation as a way to expand the blockchain horizontally , and Flow It uses its multi node architecture to achieve vertical expansion . Responsibilities are divided among nodes according to work , Ensure overall concurrency efficiency .

  • The acquisition node is DApps Improve network connectivity and data availability , The execution node performs calculations related to each transaction . These two kinds of nodes are designed to improve throughput and network scalability .
  • The verification node double checks the work in progress of the execution node , The consensus node determines the order of transactions . actually , Consensus node and verification node ensure the accountability of the network , And be responsible for safety .

Integrating four different types of nodes ensures the decentralization of nodes and the decentralization of the network .

Transaction costs

In order to trade and successfully execute smart contracts , Ethereum users must pay for fuel (Gas). This is a special fee , Its specific amount depends on the complexity of the contract and the degree of network congestion . In Ethereum , Gas fee ETH payment , Sometimes the average price exceeds 20 dollar .

Flow Developers are not satisfied with the cost of natural gas . But whether they can reduce the transaction costs on their platform ? up to now , They seem to have succeeded . There are two fees applicable to the transaction : One is the cost of creating an account , from 0.001FLOW( about 0.03 dollar ) Start , The other is transaction costs , from 0.000001FLOW Start pricing .

Consensus mechanism

The current workload of Ethereum proves that (proof-of-work) A consensus agreement . With such a consensus , The miners will enter “ fighting “ state : They are scrambling to create new blocks . The winners of this encryption battle will be those who solve mathematical puzzles faster than others ( So as to establish the connection between blocks ) People who . Winners share new blocks with others in the network , And get ETH Reward .

meanwhile , Ethereum developers are planning to turn to equity certificates (proof-of-stake) A consensus agreement . under these circumstances , The process will involve the verifier , They will launch ETH Participate in transaction verification . The verifier is randomly selected , To create a new block , Share with the Internet and get rewards . This change will likely reduce energy consumption and fuel costs .Flow Blockchain is already PoS Run on the consensus model . It was originally made by VMware Research Developed HotStuff Consensus algorithm driven .

The key difference between them is how key players profit . stay PoS in , Players benefit from increasing the value of money , and PoW It makes them tend to increase commissions . actually ,PoW It is also the main reason for the scalability problem of Ethereum . Because Ethereum is still moving towards PoS In the process of agreement transformation , For those who can’t wait to launch NFT For the creator of the project ,Flow Is a good choice .

Intelligent contract

When it comes to smart contracts , I often think of Ethereum , Because it is specifically designed for applications that use smart contracts . Ethereum is also the most popular platform for creating smart contracts .

The most noteworthy thing about Ethereum smart contract is , After its execution , The network state will not be changed . Any transaction on the smart contract is recorded on the blockchain , And become eternal information and remain . This undoubtedly improves the credibility of Ethereum platform . However , Some developers think , It should be possible to make changes after smart contract deployment , Because smart contracts may be flawed , And it often needs to be tested .

Flow Allow publishing on its main web “ Test status “ Smart contract , In this way, the original author of the contract can update the code step by step . The user can choose to use the code at a certain point in time , Or wait for the code to complete before building real trust in it .

Once the author of the smart contract is convinced that the code is safe , They no longer need control code , From that moment on , Smart contracts become immutable . By checking and fixing the code , Developers have the opportunity to significantly improve the security of smart contracts for end users .

Account model

Ethereum accounts are created based on private keys . The private key is a length of 64(256 position /32 byte ) Hexadecimal digits of . After the private key is successfully generated , The public key can be obtained by specific operation . then , The public key goes through several more mathematical operations , To get a valid address . The process is one-way , That is, it is impossible to generate a private key from a given address .

as for Flow, The account is automatically created by the blockchain , Multiple public keys can be supported . To be in Flow Create an account on , First of all, you must use ECDSA( Elliptic curve digital signature algorithm )P-256 or secp256k1 Curves generate public and private key pairs , Then send the transaction to the blockchain . Through this deal , The new account store is initialized , The generated key is then assigned to the account .

Flow Each account on can have 1 To n A public key associated with it . For each public key , There will be a private key directly owned by the account holder .

On the Ethereum blockchain , Smart contracts are deployed to separate accounts , These accounts do not have private keys . However , stay Flow Block chain , The account can deploy multiple smart contracts at the same time .

Another difference is the ability to track tokens and smart contracts . Technically speaking , An Ethereum account can use the Ethereum log to track all tokens and smart contracts it interacts with , However, Ethereum does not provide a unified storage for account assets in smart contracts . However ,Flow We did that : Resources are in a sense Flow On the blockchain “ First class citizen ”, You can track all smart contracts with which your resources interact .

Work philosophy

The concept of Ethereum developers includes several principles : Conciseness 、 generality 、 modularization 、 Non discrimination and agility . Ideally , Even ordinary programmers can easily build expected decentralized applications . As for universality , The creators of Ethereum set the platform as the basis for various upper tier applications : You can invent your own financial instruments , Create your own currency , Tokenize real assets and so on . Besides , Ethereum developers are constantly looking for opportunities to improve the security and scalability of their blockchain .

In reality , The development of smart contracts looks like a compromise game . Developers must constantly work on established application architectures and applications Solidity Find a balance between the particularity of . Implementing the contract is a complex task , A large number of scenarios need to be considered . meanwhile , The cost of every unnecessary action is very high . A small mistake could make developers watch their money disappear , But there’s nothing I can do .

Flow The creators’ ideas come from their own experience in cooperation with other blockchains , Especially the cooperation with Ethereum . They analyzed all the problems encountered by developers , And created a new blockchain , Make it easier for users to use . With Flow Blockchain , Developers can now focus on business logic issues , Rather than complex blockchain specific problems .

Flow Is a new blockchain , There is a new programming language , So it will naturally bring a certain learning curve . Fortunately, , It has a lot of documentation , Creators are also constantly looking for ways to simplify development .

For all that , Ethereum is still one of the most popular blockchains , And has issued a large number of tokens and stability coins . Just look at the current statistics .74% The stable currency is issued on the Ethereum blockchain . Besides , Ethereum protocol has many time tested functions and templates , Can be used as a basis , Not new technology , Because new technologies always have the risk of loopholes .

Basically , If you tend to build one easily NFT, And there is no plan to hold an auction on the blockchain , Using Ethereum will be a good choice . It may be a little expensive , But this is also an advantage and disadvantage , Because the high transaction cost also indicates the demand for blockchain and its liquidity . On the other hand , If you desire flexibility , You need to implement logic under different conditions , And you are not afraid to take risks and are willing to try new things , that Flow It’s your choice .

just CryptoKitties and NBA Top Shot The success of the , It’s enough to inspire developers to start exploring Flow And its functions .

Solidity vs Cadence: The difference between them

Solidity and Cadence It is a smart contract language specially designed for its platform .Ethereum and Flow Are two completely different blockchains , So what are the main features and differences of their languages ? Let’s see !

Programming model

First ,Solidity Is an object-oriented programming language , and Cadence It’s resource oriented . What does that mean ?

Generally speaking , Object oriented programming means focusing on data ( object ) Instead of logic and functions to organize software development . except Solidity outside , There are many other popular object-oriented languages .JavaScript, Python, C ++, Ruby, wait .

In resource oriented programming , When something is marked “ resources “ when , The programming environment is told that this data structure is tangible , All code that interacts with this data structure must follow a series of rules , To maintain the value of this data structure . This programming model is very suitable for digital assets .

Cadence It is actually the first resource oriented high-level programming language available . Another example of a resource oriented language is Move, But it has something to do with Cadence The difference is that it focuses on performance and efficiency .Move There is a virtual machine and compressed bytecode , Can execute code effectively . meanwhile , Its syntax follows the minimization design , Easy to interpret by computer , But poor readability . On the other hand ,Cadence There is an ergonomic grammar , Readability and clarity are preferred .

Compile or interpret

Another difference is ,Solidity Is compiled and executed , and Cadence At present, it is an explanatory language .Cadence Developers are trying to find ways , take Cadence Translate it into Move Bytecode , In order to be in Move Running on a virtual machine . The team has not set any deadline for completing this update .

It is worth noting that , Compiling language and interpreting language have their own advantages and disadvantages . for example , Compilers are usually faster than interpreted code , But it takes extra time to complete the whole compilation step before testing , And the platform needs to rely on the generated binary code to run , So this kind of code often has poor cross platform performance .

But on the other side , Interpretative languages are usually more flexible . Besides , Because interpretative languages execute their own source code , The code itself is platform independent . However , There is a serious drawback , Compared with compiled language , Low execution speed .

Processing parameters

Cadence Allows you to use parameter tags to describe the meaning of a function’s parameters . Use Solidity Language , You can use comments . Writing comments can be a way to explain the purpose of a function and the purpose of each parameter .

Packaging native tokens

FLOW Token itself is a smart contract , You can import , No extra wrappers are needed .Solidity The original currency of is ether (ETH), It often needs to be packaged as wETH For smart contracts .

Why? Solidity Will work like this ? In order to successfully complete the transaction between users , Each user must have the same standardized format for each token they trade . under these circumstances , What we’re talking about is ERC-20 Format . and ETH It was established before the introduction of this standard , So it doesn’t meet this standard . therefore , We need to be right about ETH Conduct “ packing ”, Turn it into WETH. This simplifies the contractual work when different tokens interact . However , This is not a requirement , Because you can still use native ETH Write smart contracts , It’s just that the logic will be more complex .

Access control

The function of access control is easy to understand : It allows certain parts of the program to be accessed , Other parts are not accessed .Cadence Built in two different levels of access control capabilities : Keyword based and competency based (capability). The second security mode is not often used .

Many other smart contract programming languages are based on ” who are you “ To provide or restrict access to , But capability security is concerned with ” What do you have? “. Users will receive special resource objects stored in their accounts , These objects determine which functions users are allowed to access . Essentially , Nothing here is open by default . If other accounts want to read or write objects , The owner of the account must grant them access by providing a reference to their object .

And in the Solidity In programming language , Developers point out that , Ethereum is a public blockchain , So you can never stop a person or computer from reading your transactions and viewing the status of your contracts . If you will , You can use encryption or simply restrict read access to your status with other contracts , And this complicates the task .

Solidity Access in depends on who you are , And access the control list or use “msg.sender “ Variables to manage , This variable contains the address of the user interacting with the contract .

precondition & Postcondition

When using Cadence Software , Contract design allows developers to declare preconditions and postconditions for functions and interfaces , In this way, callers can have more confidence in the behavior of the methods they call . Preconditions and postconditions are built-in conditions for functions and transactions .

Solidity There are no built-in pre and post conditions , But there is one way . Developers can use function modifiers as a prerequisite for workarounds , And use ’eventEmitter’ Methods and ’ethereum-event-processor’ Module to implement post conditions .

Scalability

Cadence The module has configurable and transparent built-in upgrade capability , This allows the project to test and iterate before making the code immutable . But on the other side ,Solidity Allow developers to use proxy or data separation patterns . therefore , They have to invest a lot of energy in updating smart contracts .

By the way , If you are in the Flow After the code on the blockchain becomes immutable , Realize that you have made a mistake , Then you still have to deal with Ethereum The same problem in .

Solidity and Cadence The other difference between them is their syntax .Cadence suffer Swift and Rust Inspired by the , and Solidity suffer C++、JavaScript and Python Influence .Cadence You are usually allowed to write in a declarative way , and Solidity Provides imperative programming .

In terms of security and the possibility of error ,Cadence It seems to be a more attractive programming language . However , Because most developers already use Solidity Worked , Know how to deal with emerging problems , Many people still insist on using Solidity.

Solidity It’s a statically typed language , This means that you need to specify the type of each variable .Cadence There is also a powerful static typing system . The resource oriented programming paradigm makes Cadence Developers can create linear types with object capabilities .

Ethereum and NFTs

Now we have studied Ethereum 、Flow And the technical parameters of its programming language , Let’s take a look at the real cases of how these blockchain platforms work , And their current NFT What role does it play in the boom .

A little reminder of what is NFT: These are non homogenous tokens , This means that they are not directly exchangeable , Represents a unique digital art 、 Images 、 Short film 、 Dynamic graph , Even poetry .NFTs Sell online , Sometimes it is sold for an extremely large amount .

There are a lot of… Running on Ethereum NFT project , Here are some of them .

KnownOrigin

KnownOrigin yes Web 3.0 One of the fastest growing Ethereum art platforms in . The platform allows digital creators to easily authenticate 、 Publish and sell their works of art . adopt KnownOrigin, The authors of the platform strive to enable digital artists from all over the world to monetize their works and talents , And help them with meaningful 、 Approach their fans and collectors in a transparent and fair way .

Ethereum smart contracts and ERC-721 Standards combine , Provides very high transparency and security . Due to the use of Ethereum smart contract ,KnownOrigin The creator of can provide a reliable and safe way , To provide traceability and supply chain management for digital artworks sold on the platform .

The platform currently has 1000 Works of many artists , And sold 11000 Multiple digital works of art , The total amount is 130 Thousands of dollars .

Palm

Palm It is one of the latest platforms for digital creators . It consists of ConsenSys Development , Run in the form of Ethereum side chain , But compatible with MetaMask wallet . This new creative studio and NFT Ecosystem commitment ratio PoW Blockchain is energy efficient 99%.

Palm Ultimately, it will be up to your own $PALM Token driven , And will provide artists with a platform for sustainable development , They can use NFT Publish and sell works of art in the form of , Without worrying about the potential ecological impact .

Damien Hirst Is the first to use Palm One of the people who monetized his work , be known as “The Currency Project.”. Damian plans to NFT In the form of 10000 An oil painting on paper , The series explores “ The fusion of art and wealth ”. He thinks that Palm Is the most suitable platform for him , Because it is art oriented , More environmentally friendly , Faster , And the use cost is lower .

Decentraland

Decentraland Is a virtual world owned by its users . Based on Ethereum blockchain , The platform uses two kinds of tokens :MANA and LAND. The former is a kind of ERC-20 Tokens, , There are many uses : for example , Use MANA You can buy goods and services in the world , Or it can be burned to get LAND ERC-721 Tokens, .

LAND The change of the plot is in Ethereum LAND Register in a smart contract , And verified by blockchain . All work is almost the same as in real life : If you become LAND Owner , You will have complete control over the life and environment you create there .

Flow and NFTs

Flow It’s still a “ young “ Blockchain , But it succeeded for several extremely popular games 、 Applications and trading markets provide support .

CryptoKitties

CryptoKitties Originally in 2017 Released on Ethereum in , And quickly became popular . However ,CryptoKitties The prosperity of has exposed the scalability problem of Ethereum network , The influx of users has caused serious congestion . In launching their own Flow After the blockchain ,Dapper Labs Developers began to migrate digital collections from Ethereum to Flow.

expect CryptoKitties Will get new features , Like animated 3D effect . as time goes on , It will also be possible to Flow Use these digital assets in other games .

Dapper Labs CEO Roham Gharegozlou Pointed out that , Anyone who uses Ethereum will be able to take their cat to Flow. therefore , For all crypto cat lovers —— Never mind , You will keep your cat collection , And enjoy the new features that come with it .

NBA Top Shot

We mentioned this app before , But there is still much to explore .NBA Top Shot From its birth, it has received an extraordinary response , Frequently dominating the headlines .

Dapper Labs From Hollywood 、 Giants in sports and financial investment have won 3.05 Billion dollars . According to media reports , The new round of financing valued the company at 76 Billion dollars —— This shows that today’s NFT How prosperous the field is .

The company is financed by a financial services company Coatue To take the lead , And NBA Legends, famous players and other high-profile people unite , Including Michael – Jordan 、 Kevin – durant 、 Andre – Igodara 、 kyle – Lori 、 spencer – Ding Weidi 、 Andre – Drummond 、 Alex – Caruso 、 Michael – carter – Williams 、 Josh – Hart et al .

The company said , They will use these funds to continue to develop NBA Top Shot, And extend the updated star card platform to other sports .

VIV3 NFT marketplace

2021 year 1 month ,VIV3——Flow The first ecologically shared market designed to empower digital artists and creators .VIV3 Currently in the testing stage .VIV3 The early users of are mainly some well-known artists , Such as Anne Spalter, She is famous for her large public works in Hong Kong and New York .

VIV3 The creators also announced their relationship with famous concept design artists Ben Mauro The cooperation of . He was involved in movies 《 Hobbit trilogy 》、《 spider-man 2》、《 elysian fields 》, as well as 《 Call of duty 》 and 《 halo 》 game .Ben Mauro The card game of 《EVOLUTION》 Also about to log in Flow chain .

Dapper Labs Recently, I have been with UFC Signed a new agreement . The company is working with UFC cooperation , stay Flow On the blockchain are all over the world MMA Fans create cryptocurrency digital assets and supporting games . In addition to the names and brands listed ,Dapper There are also many famous partners , Such as Dr.Seuss、 samsung 、 Ubisoft and Warner Music Group .

Flow Future period

Ethereum has become the first and most popular blockchain . It allows you to use smart contracts , Tokenize assets , Issue unique tokens ( Include NFT) And create complex DApps. Ethereum’s popularity continues to grow due to its unified standards , This makes it easy to integrate existing applications into the Ethereum network .

Although developers have been talking about the scalability of Ethereum for a long time , But its engineering team promised , This problem will be solved in the coming ETH 2.0 Resolved in update . It promises to introduce fragmentation , And make it from PoW The transition to PoS Consensus . The exact date of the transition has not been given yet , But it could be in 2021 – 2023 It happened between two years .

The etheric fang 2.0 Commitment to address major scalability issues , This may bring developers back , And keep it on a large scale NFT The head of the project, the status of the public chain . On the other hand ,Flow The creator of is standing in the present NFT At the forefront of the boom . The success of NFT The project and NBA Top Shot And other cryptocurrency games may enable developers to use… In future projects Flow, And bring global exposure to the platform .

Flow The functions of go far beyond these trend applications . Up to now , Developers constantly build tools and services , send Flow Become with improved scalability 、 The best consumer application platform for composability and user experience . As a support DeFi Universal blockchain , It is most likely to develop into its own ecosystem .

Conclusion

Flow and Ethereum They are platforms for all kinds of applications . They all have their own advantages and disadvantages , Especially when it comes to NFT During project development .

When it comes to scalability ,Ethereum It is considered that fragmentation is the way to solve this problem . Once fragmentation is implemented , It will reduce network congestion , Improve transaction speed .Flow In this respect, it is better than Ethereum Better , Because it already provides a multi node architecture and faster transactions .

Besides , Ethereum currently uses PoW A consensus agreement , and Flow Is in PoS Running on the model .PoW No NFT The best choice for the project , Because it also leads to scalability problems . therefore , In terms of scalability ,Flow Might be a better choice .

The transaction cost of Ethereum is quite high , and Flow Allow users to pay less . look , Low transaction costs are clearly a benefit . But for Ethereum , High cost indicates strong demand and trust in the platform . About the development of smart contracts , Once you sign a smart contract on Ethereum , It will become unchangeable , and Flow Smart contracts on can be upgraded . The ability to fix problems is definitely an advantage .

Consider the advantages and disadvantages of all the two blockchains described , And decide which one will bring you the greatest benefit . The choice is in your hands , But I remind you : Each project is unique , It has its own particularity . You must think carefully to make a careful choice . Only experienced blockchain companies can analyze your situation , Provide detailed consultation on technical selection , And develop your project from scratch .

Don’t miss NFT The wave of , Start building your own application today !

「 Why do we choose Flow Blockchain?」

CrytoKitties On 2017 When it was launched in, it quickly became the most popular in the encryption market DApp, Ethereum was blocked due to its success . stay Flow Operating on NBA Top shot It has also become the fastest growing dApp, After public release 6 Last month created 7 $100 million in sales . It is because Flow Public chain scalability and consumer friendly experience , Make it possible .

Original HERE