Exclusive Interview with Blocto Co-Founder, Lee Hsuan | The first wallet to adopt the Flow blockchain, what technological innovations are being witnessed?

share
Exclusive Interview with Blocto Co-Founder, Lee Hsuan | The first wallet to adopt the Flow blockchain, what technological innovations are being witnessed?

Ethereum is currently one of the most vibrant public blockchain ecosystems. With the recent flourishing development of decentralized finance (DeFi), the network has become congested and transaction fees have soared. Looking back at 2017, a digital collectibles game called CryptoKitties caused Ethereum to become slow and expensive, leading to the success of the Canadian development company Dapper Labs, which received significant investments from notable companies such as venture capital firm Andreessen Horowitz a16z, Warner Music, and AppWorks.

After a few years, Ethereum still faces congestion issues, and blockchain games remain simplistic and unappealing. Following extensive research, Dapper Labs developed a new public blockchain called Flow, specifically designed to cater to the needs of digital collectibles, games, and entertainment applications, seamlessly connecting people to the innovative world of blockchain from traditional internet and gaming realms.

When discussing public blockchain topics, the focus often revolves around transaction speed, throughput, and transaction costs. However, these are just the fundamental characteristics achieved by Flow. We had the opportunity to interview Lee Hsuan, co-founder of the Taiwanese blockchain wallet Blocto, to delve deeper into the intricate technical designs of Flow that showcase its value as a gaming public chain.

Resource-Oriented Programming Architecture: More Secure

Li Xuan, co-founder of Portal Technologies, told us that even though Ethereum has improved its transaction speed, its programming language and virtual machine design are not perfectly suited for the applications of blockchain.

Li Xuan explained that Ethereum's smart contracts were initially designed to mimic the programming language of centralized systems, with only slight adjustments made to the data storage based on blockchain characteristics. At that time, it was uncertain which domains these smart contracts would be used in. However, experience has shown that smart contracts are more suitable for applications related to assets, permission control, and traceability. For example, in handling assets, Ethereum's design is prone to re-entrancy attacks, leading to financial losses.

He further explained that this is due to Ethereum's way of recording assets, where only a variable is stored in the smart contract. For example, when A transfers ten dollars to B, it records a decrease of ten dollars in A's asset variable and an increase of ten dollars in B's asset variable. However, if a variable is not updated or updated too late, vulnerabilities may arise, allowing malicious actors to repeatedly withdraw the money.

To address this issue, the programming language Cadence created by Flow adopts a resource-oriented programming architecture. This architecture is more akin to the concept of accounts. When A transfers ten dollars to B, it is not just a change in variables. With a resource-oriented data structure, it is more like taking an object from A's account and transferring it to B. In this process, the virtual machine has additional permission control, allowing only A to extract the object from the account, facilitating the transfer of objects and variable changes in a single operation. This is in contrast to the two separate operations in Ethereum, which pose risks.

Facebook's cross-border financial service Libra, proposed in 2019, created a programming language called Move to enhance security and trust. Move also adopts a resource-oriented programming architecture. However, compared to Move's bottom-up design, Cadence's top-down design focuses more on readability and clarity, making it a more user-friendly syntax. Therefore, developers find it easier to learn, use, and audit. The Flow team stated that Cadence complements Move, and efforts will be made for interoperability between the two ecosystems in the future.

Developers' Common Wish: Zero User Barrier to Entry

Blocto, a product under portto, is the world's first blockchain wallet integrating Flow. Li Xuan chose Flow because Blocto aims to be the blockchain gateway for everyone.

When using applications on the Ethereum blockchain, every transaction requires Gas Fee, a network fee paid in Ether, Ethereum's native token. For the general public without blockchain knowledge, they need to know how to acquire Ether to interact with the blockchain, posing a certain usage barrier. To address this issue, Blocto uses smart contracts to handle Gas Fees, providing a longer path to support users.

However, Flow optimizes this process further. Li Xuan mentioned that since Flow allows developers and service providers to pay transaction fees, products like Blocto, which target the general public, can benefit significantly. Users can enter the blockchain world without the need to prepare Gas Fees in advance.

Transaction Mechanism: More Flexibility

The reason behind achieving the above is attributed to Flow's transaction mechanism, which brings more flexibility and functionality to various applications.

Li Xuan explained, "Flow's transaction content is much more complex than Ethereum's." He mentioned that in Ethereum, a transaction consists of a source, a destination, the amount of the transaction, and accompanying data. However, Flow allows multiple sources in a transaction.

Li Xuan asked us to imagine a scenario: if three people each bring a digital cat to fight, and the winner takes all the cats. Such a scenario is challenging to execute in Ethereum, but Flow's design is well-suited for such demands.

He explained, "In Ethereum, the three individuals would need to initiate individual transactions to place their cats in a temporary contract, and the last person would then call a function to start the fight once all three are ready. However, Flow's approach is more intuitive."

In a Flow transaction, there are three roles: the initiator, authorizer, and payer. In the scenario mentioned, one person acts as the initiator, marking the other two as participants in the game. The other two become authorizers and, after signing off, can allow multiple individuals to contribute assets for processing, with the player or a service provider covering the transaction fees.

Li Xuan told us that allowing multiple authorizers is a unique design of Flow, enabling more flexible operations.

'Your account, your keys' – Human-Centric Asset Management

'Not your key, not your bitcoin.' This phrase is often used in the cryptocurrency community to emphasize the importance of safeguarding private keys, as blockchain recognizes keys, not individuals. Therefore, when a user's private key is held by a centralized cryptocurrency exchange, it is equivalent to not actually owning the digital assets. Moreover, if a user loses or forgets their private key, the digital assets will be forever locked in the blockchain.

In Ethereum and most blockchains, a private key corresponds to a public key, which is then calculated to derive an address for receiving digital assets. However, when there is a risk of private key exposure, individuals typically transfer their assets out and abandon the compromised key.

Li Xuan explained that Ethereum's account setup involves a private key corresponding to a public key, which in turn corresponds to an address, following a one-to-one mapping. However, Flow's approach is different. Initially, someone must initiate a transaction for you, creating an account with flexible private key settings.

He stated, "A simple Flow account involves generating a private key, providing the corresponding public key to the account service provider, and asking them to register an account on the chain. The address of this account is not directly related to the public key; the public key is stored in the account and indicates the owner of the account. When using this account in the future, I must use my private key to sign and execute actions."

Furthermore, accounts can have multiple keys controlling the account. In cases of compromised private keys, in Flow, you only need to replace the insecure key in the account, allowing the account to be retained without the need for abandonment.

We further inquired whether this multi-key management approach can meet scenarios like multi-person management of corporate accounts. Li Xuan informed us that Flow natively supports multi-signature functionality, allowing different keys to be set with weights. As long as the total weight of all signatures exceeds a certain value, actions can be executed.

This account-oriented setup also provides convenience for developers. In the Ethereum environment, once a smart contract is deployed, any vulnerabilities cannot be changed, necessitating a fresh start. However, by deploying smart contracts in Flow accounts, developers can continue to replace problematic contracts with new ones until the contract is flawless. Subsequently, all controllable private keys can be removed, making it as immutable as contracts on Ethereum.

Takeaway: Accessories on the Go! CryptoKitties Will Be More Fun

Returning to the game itself, how will CryptoKitties on Flow differ?

In the original blockchain collectible game, CryptoKitties used a type of non-fungible token (NFT), which is unique and indivisible, unlike money. NFTs, such as digital cats, robots, or paintings, cannot be divided into smaller units and possess uniqueness. Many on Ethereum have been trying to increase the collectible value rather than speculative value, for instance, digital player cards and trading card games. Recently, platforms like Cryptograph auction celebrity digital artworks, and projects like MEME combine DeFi liquidity mining with NFTs. In Taiwan, the virtual asset auction platform Lootex integrates AR to enhance players' experience with digital collectibles' value. However, NFTs on Ethereum are independent, and digital robots cannot wield weapons or wear clothes.

CryptoKitties

Li Xuan mentioned that Flow allows CryptoKitties to have accessories like shoes and hats. When I buy a resource like a hat in the market, I can give it to the digital cat. When transferring digital collectibles, it is possible to transfer cats with accessories. This is enabled by Flow's way of recording assets, which exist in your account rather than being jointly registered in a public smart contract. In contrast, on Ethereum, this would require a smart contract to record ownership of different objects, making the process more complex.

We can anticipate that digital collectibles will become more personalized, potentially having acquired certain props or changes in appearance along with the first owner. Flow officials also revealed that the digital asset wallet Dapper Wallet will support Flow versions of popular games like CryptoKitties and Cheeze Wizards once the Flow mainnet is officially launched.

So, What About the Blockchain Scalability Trilemma?

When it comes to public chains, the challenge that many seek to address is the "Scalability Trilemma," where a blockchain cannot simultaneously achieve security, decentralization, and scalability.

Flow officials did not boast about solving the "Scalability Trilemma" but rather stated that Flow avoids this issue.

Li Xuan told us that Flow's blockchain has different nodes assigned specific roles for actions. Collection Nodes are responsible for gathering transactions, Execution Nodes execute actions in transactions, Verification Nodes check the actions of the Execution Nodes, and Consensus Nodes decide which transactions can be added to the chain and in what order.

Flow's Multi-Role Architecture

In Flow's design, nodes that previously had to handle all tasks now function more like an assembly line. Some nodes handle tasks with high energy and hardware requirements but minimal cross-node communication (such as Execution Nodes), while others handle simpler tasks that require many nodes' participation (such as Consensus Nodes). By task specialization, Flow enhances both scalability and security.

Mainnet Launch Imminent

Currently, the Flow blockchain is in the Beta mainnet stage, with the official mainnet set to launch soon. Li Xuan mentioned that Flow has more convenient features for developers to explore, making it more user-friendly. He will also discuss more technical details at the Flow Taipei offline event on September 16. Additionally, Dieter Shirley, the CTO of Dapper Labs, will share insights on the resource-oriented programming architecture, its benefits, and the latest developments about Flow at the event, engaging with the Taiwanese community.

2020 FLOW Meetup Taipei Registration Full