Posts

Onboarding Difficult in Web 3, But We're Learning to Develop Workarounds

21 comments·0 reblogs
gadrian
25
·
0 views
·
4 min read

Scalability is not easy even in centralized systems if growth comes in spikes. But when you also need to ensure decentralized redundancy, security, and hopefully speed, things become complicated. And when the networks have an extractable value that can attract bad actors, another layer of complexity is added, to protect the network.

The majority of blockchains have introduced fees at every transaction to protect the network and pay various actors that are part of it, mainly miners or block producers, but also liquidity providers, for example. Developers are most times paid from funds that are centrally controlled. The distribution of funds for projects sometimes happens through DAOs or other forms of governance where stakeholders vote on proposals that should be implemented or not.

The alternative to fees to pay for almost anything is to have fee-less blockchains, like Hive. Hivers still need resource credits which are the "tokens" used to pay for transactions onchain. The difference is RCs are replenishable over time and can be delegated directly from someone who has Hive Power, something you buy and stake once and gives benefits forever.

On a Fee-less Blockchain (Hive), You Can't Have Unrestricted Number of Full Wallets

But... nothing is perfect. For a system like we have on Hive to work, we need good control over the number of full Hive accounts, otherwise, the chain collapses under its own weight.

For example, Ethereum or Bitcoin, which are blockchains that have high fees on every transaction, also offer someone the possibility to create as many wallets as they want for free, even if they don't have any ETH or BTC, respectively. Bitcoin is mainly a financial transactions chain (even though it can hold anything in those blocks). Ethereum is more than that, but fees are much higher too, at this point.

For Hive, on the other hand, any new full account is much heavier on the chain than on the other two we mentioned. In fact, creating a new account is one of the heaviest operations on the Hive blockchain, even before that account creates anything. Then, besides financial transactions, a Hive account is likely to have social interactions (blogs and comments), which have, again, a higher impact on the chain's resources than a simple financial transaction. All that is on a quick chain, unlike Bitcoin or even Ethereum.

Image from thread
Source

I think a new Hive account without any RCs can create 3 posts/comments before it runs out of RCs. Imagine one would be able to create as many new full Hive accounts for free as they wanted (without a previous HP stake), like on Bitcoin or Ethereum. Also, imagine that such a person starts to automatically spam the chain with new posts every day (or every two days or when the RCs allow) from a network of 1000+ accounts. It doesn't matter to them they don't receive any rewards, they just want to attack the chain. All that could happen without any investment, if accounts were unrestricted. That would be a serious attack on the chain, especially if concentrated, with almost no cost for the attacker. That's why it can't be allowed, in my opinion. Maybe for other reasons too. But that for sure is one of the reasons.

Workarounds: Hive Lite Accounts and Not Only

Splinterlands

There are several solutions to work around this limitation. Probably the easiest one that is already implemented by different applications (including Splinterlands), is to have your application run without Hive except on essential parts like fungible and non-fungible token ownership and markets, and only offer full Hive accounts to the group of users that show interest, and not to everyone who joins. For example, Splinterlands only creates Hive accounts for those who buy the spellbooks. They came to this solution in the fall of 2021, when they ran out of account claim tokens due to the high influx of new accounts and they had to create new Hive accounts by paying the 3$ fee for a while before they changed their process.

We also have 3 Hive Lite Account solutions that I know of. 1 has already been implemented by the INLEO team, and two of them are in the works by SPK Network and VSC.

INLEO

The INLEO solution is based on creating a new full Hive account when the user joins but only releasing control of it at the user's request or after a while of seeing that the user is active, after which they will start displaying notifications that they should take control over their account. I haven't gone through the process recently, and it has been changed, so I only know it from what the team described.

New users can create a new Hive lite account via Twitter (X), mainly, which is the platform INLEO Threads is trying to be very similar to, to make the transition of a new user into Web 3 very easy.

However, this approach faces the risk of falling into the same issues Splinterlands ran into in 2021 if their onboarding spikes.

SPK Network

SPK Network team is trying a different approach. From my understanding, they try to create off-chain accounts that can be used for some type of content that is not slated to last forever, and probably for new users who want to test the platform without committing to a full account. If I remember correctly, Matt said that on 3Speak, for example, comments from off-chain accounts will be integrated seamlessly with those of full Hive accounts.

VSC

And finally, @vaultec presented their solution... What they are working on is allowing someone from an EVM (Ethereum, he said), to use the Ethereum address to connect to Hive and be able to control assets on Hive with their Ethereum private key (from Metamask, instead of Keychain). I believe they would use VSC smart contracts to create full Hive accounts associated with the respective Ethereum address and they would use the same contract or others to "translate" authorizations given using the Ethereum private key into the correct broadcast operations that use the right private key on Hive.

I imagine someone who would use such a process would pay the fee for creating a new Hive account. Given the fees on Ethereum, that's cheaper than a single regular transaction over there, so they shouldn't have a problem with that.

Want to check out my collection of posts?

It's a good way to pick what interests you.

Posted Using InLeo Alpha