The State of the Web3 User and Developer Experience in four leading Web3 platforms: Ethereum, Solana, Aptos, and Radix. - A report by CryptoEQ
작성자 정보
- 레딧 작성
- 작성일
컨텐츠 정보
- 1,356 조회
- 0 추천
- 목록
본문
Who is CryptoEQ?
From their website:
CryptoEQ™ is an independent cryptocurrency analysis and rating agency that provides unbiased, objective, and transparent research you can trust. We help people navigate their investment journey and trading decisions.
TL;DR:
The report compares the UX and DX across these 4 platforms by focusing on how tokens, accounts, smart contracts, and transactions within the respective virtual machines. Radix is the most secure followed by Aptos. Eth and Solana have bigger dev community.
User Experience (UX)
Ethereum and Solana face UX challenges like complex token behaviors, blind signing transactions, and wallet security risks. Aptos and Radix introduce improvements like predictable token standards and human-readable transactions.
Tokens, Accounts & NFTs
Assets on Ethereum and Solana are based on token smart contracts, which can bring uncertainty, and smart contract risk, token's behavior is opaque. Assets on Aptos and Radix are “objects”, while on Radix these are native to the platform, offering greater transparency and security, malicious tokens are impossible.
Transactions
Transactions on Ethereum and Solana are “blind signed”, which results in frequent users losing funds to wallet drains or other scams. Radix's Transaction Manifest enables human-readable transactions, multiple atomic smart contract calls and user-set guarantees, improving composability and security.
Developer Experience (DX)
Aptos' Move language and Radix's Scrypto offer asset-oriented programming models, native features, and better security to simplify development compared to Solidity on Ethereum plus Radix's native asset-oriented tooling accelerates secure dApp development. Eth and Solana, on the other hand, have a more robust developer community and thus more libraries
Tokens, NFTs, and Accounts
Ethereum | Solana | Aptos | Radix | |
---|---|---|---|---|
Summary | A token-holding account is a line item in a smart contract. The behaviors of the token are governed by the smart contract developer. | A token-holding account is a line item in a smart contract created by a developer e.g. SPL. | A token-holding account is a line item in a smart contract object created by a developer | A token-holding account is a container that holds tokens inside it, as if it were a physical object. The behaviors of the token are governed by the virtual machine. |
Token Behaviour | The behavior of each token is unpredictable. | The same as ETH | Tokens are less unpredictable | Tokens follow predictable behaviors |
Malicious tokens | Tokens with hidden malicious behavior that can drain a user’s account are commonplace, and users have to know to avoid interacting with these tokens. | The same as ETH | Aptos Fungible Asset Standard and pre-signature transparency removes tokens as smart contract code, making malicious tokens less prevalent | Malicious tokens are impossible, because no one can modify its behaviors of minting/burning/transferring as its completely baked in to the engine. These are configurations the developers set and people can see on ledger. |
Understanding a Token | A user would have to read the underlying smart contract code to know what behaviors a token is capable of, and if it was secure. | The same as ETH | Varies depending on wallet. | The wallet instantly displays all the possible behaviors of a token. |
Import Token | Wallets do not know what tokens a user holds. Users have to manually “import tokens” into their wallet. | The same as ETH | Wallets instantly know what tokens a user holds. There is no need to “import tokens”. | The same as Aptos |
Custody | Users never actually custody a token in their account, as their account is a line item in a developer’s smart contract (that the developer may control). | The same as ETH | Users custody the token/object directly. | Users custody tokens inside their account, as if it was a physical object in a container. |
Seed Phrases | Access to an account is controlled by a single seed phrase. | The same as ETH | Consists of key pairs but can be rotated and recovered unlike traditional BTC or ETH wallets. | Access to an account is controlled by an arbitrary combination of signing factors that can be rotated. (While live on the ledger, not yet enabled in wallet) |
Send Approvals | Users are required to provide approval to smart contracts to spend their tokens in other smart contracts. | The same as ETH | Spend approvals are not needed, as tokens are represented as objects. | The same as Aptos |
Transactions
Ethereum | Solana | Aptos | Radix | |
---|---|---|---|---|
Summary | A transaction is a signed hash requesting a single smart contract to execute an instruction | The same as ETH | On-chain state is organized into resources and modules. These are then stored within the individual accounts. Transactions are state changes to these elements. | A transaction is a signed manifest of human-readable instructions defining asset movements and method calls between smart contracts/accounts. |
Blind Signing | Transactions are “blind signed” without a user knowing what a transaction will do | The same as ETH | Transactions are blind signed although there are some additional protective measures in place over and above Ethereum and Solana. | Transactions are expressed in human-readable language. |
Contract Calls | A transaction can only call one smart contract at once. Complex transactions require a custom smart contract to be deployed to orchestrate a series of downstream calls for the transaction | The same as ETH | A single transaction can call a single module or can be a complex transaction called by multiple modules. | A transaction can call multiple smart contracts all at once. No custom smart contracts need to be deployed to execute complex transactions. |
Guarantees | Users can’t set network-guaranteed conditions that a transaction must achieve. | The same as ETH | Users can set protective measures to ensure only certain outcomes are possible. | Users can set network-guaranteed transaction outcomes, e.g. this swap must return 100 tokens, otherwise the transaction is aborted. |
Delegated Transaction Fees | Transaction fees must be paid by the account signing the transaction | The same as ETH | Transaction fees can be paid by other accounts. | Any account can pay a transaction fee. |
Wallets & Login
Ethereum | Solana | Aptos | Radix | |
---|---|---|---|---|
Wallets and UI | A multitude of mobile/desktop wallets exist. Users can add their accounts to a combination of browser-based or mobile wallets. | The same as ETH | A handful of wallet options, including third-party development. | A handful of wallet options, including the mobile-first Radix Wallet that can connect to desktop when needed |
Identity and Login | Users log in to Web3 with an account that can hold tokens. Secured by a seed phrase. | The same as ETH | The same as ETH | Users log in to Web3 with a dedicated smart contract that represents their persona. Secured by multifactor authentication and recovery. (While live on the ledger, not yet enabled in wallet) |
Language Adoption & Usability
Ethereum | Solana | Aptos | Radix | |
---|---|---|---|---|
How are tokens created? | Copy + paste of ERC20 (or equivalent code) | Copy + paste of SPL token standard (or equivalent code) | Copy + paste of the Aptos Coin Standard (or equivalent code) | Function or API call to platform, with parameters, to create a token - as tokens on Radix are native |
Does the platform enforce asset standardization and guarantee how tokens and NFTs behave, reducing the chances for hacks and exploits? | No | No | Yes | Yes - as tokens on Radix are native |
Do transactions include guardrails to ensure accounting is correct e.g.tokens don’t get lost? | No - the developer is responsible for defining how the accounting for a token is done | No | Yes - some | Yes - the execution environment Radix Engine natively handles accounting |
Can you call multiple smart contracts with a single atomic transaction? | No - you would have to deploy a specific smart contract which would then call other smart contracts | No - the same as Eth | No - the same as Eth | Yes - Transaction Manifest can call multiple smart contracts in one atomic transaction. |
Is re-entrancy possible? | Yes | Yes | No | No |
Is there an on-chain way to reuse common logic? | No | Yes - Solana Programs | Yes- reusable Modules | Yes - Radix Blueprints |
Are there native features to easily allow for the creation of complex authorization and access systems? | No | No | No | Yes - Badges and native role based access control |
How large is the developer ecosystem? | Huge | Large | Medium | Medium |
Third party code repositories | Plentiful | Medium | Limited | Limited |
[link][comments]
관련자료
-
링크