Hard Fork 25 Thoughts on the Layer 2

in #witness4 years ago

Hi, I'm aggroed. I'm a long standing witness on the chain, CEO of Splinterlands, which is the number one blockchain game in the world, and Director of Hive-Engine an exchange built on top of Hive. I have help from Privex to run a full RPC, I run a Seed node with extra plugins so that Splinterlands can handle all of it's own calls and replay quickly in the event of a crisis, and I have multiple witness nodes I operate. I founded the Minnow Support Project, it does a lot of voting to help new users with Hive I've helped raise and delegate. I helped design and fund Hive-Keychain, and I do a lot of community building and networking.

HF 25

Now that Hard Fork 24 is mostly behind us I wanted to throw out some thoughts on what to focus on next for the Layer 1. The lingering things I think we need to worry about are account creation, continued lean improvements for nodes, and delegation pools.

These changes are meant to enable the Layer 2 apps to form here and use Hive as a giant, public, easy to handle, web development friendly hard drive for their applications. That might not sound incredibly sexy, but it's a utility that can power this blockchain into large scale use and possibly get the HIVE token out of the shitter. What we need are people, and people will come if there's apps they want to use. If we want apps we need to make it as easy for Apps to form here.

What do apps need?

Mass account creation
Plenty of bandwidth
Inexpensive to operate
App developer Documentation

Apps need people, and people need accounts and band width. I think Hive development should focus on making the account creation as robust as possible and strive to make it use as little state as possible to allow for maximum growth. This could involve lite accounts that are nothing more than keypairs or improving account sign up so that it can expand massively and ensuring it doesn't strain the system.

We should be able to talk to a group with an existing app with an existing community and talk through how we could bring their thousands or millions of users here, have the app continue to function, and how the blockchain will handle that additional traffic.

In regards to bandwidth I think it's pretty non-contentious to suggest that we need delegation pools. An app can keep using it's Hive Power as intended for social promotion, but delegate the resource credit pool to allow users and players to access the tools and games even if those users are new to crypto.

Lastly, if we're going to get apps to develop here or board here there needs to be a focus on making sure all the libraries are easily accessible, readable, code is up to date, and as many examples are given in as many ways as possible.

Things to avoid on the layer 1

I think smart contract platforms will all inevitably fail. Human ingenuity is a greater force than a set of nodes. When you open up a platform to smart contracts everywhere I think you end up with projects that can't scale. So, I would suggest avoiding as much of that as possible on the Layer 1. Keep it simple down there. Put all the business logic on the layer 2 and allow the Layer 1 to scale as much as possible without any processing burdens being placed on it.

We have 3 second block times. It's a really nice speed for apps. Users don't freak out if something takes 3 seconds. It also doesn't take forever if you want your app to confirm from 1 or 2 blocks back from the head block to avoid mini forks that happen.

What I don't think we should do is make any layer 1 smart contract stuff.

Now I can already hear the haters. "Aggroed, you stupid fuck, you greedy piece of shit shill, who the fuck is going to trust you here. You operate Hive-Engine you fucker. Clearly you're biased as fuck you little shit."

Ok, first off, that kind of talk is hateful and I'd appreciate if you could calm your tits a little and speak to me professionally. Secondly, if people want to make alternatives to Hive-Engine I'll wish them well all day. It's not about no-competition to Hive-Engine. It's about not putting stuff that doesn't belong on Layer 1 on the Layer 1.

The layer 1 has to be as lightweight as possible. We have 3 second blocktimes, which means if we start adding a ton of processing at the layer 1 that's bad. Processing could slow block production such that they take more than 3 seconds, which is bad for the chain, bad for the apps, and a bad user experience.

So, I'd welcome other projects making FTs, NFTs, and smart contracts on the layer 2. I just don't want them on the Layer 1. It's my obvious preference that people work on decentralizing Hive-Engine and building stuff on top of that. I've been at this for 2-3 years now, and I'm not hanging out on the Layer 2 by accident. The layer 2 is the best place to build a business, and that's ultimately what the dapps are going to be.

I guess my point is that whatever else happens on the Layer 1 I suggest the goal be to keep it as lightweight as possible. I don't need a hard drive that can do backflips. I just need the damn thing to store info as well as possible. If you really want to get fancy we can try getting some P2P on Hive Mind or figuring out how to enable additional side chains on there.

Just, if the goal is to make Hive a great place for apps, let's not fuck up the one technical thing that we really have going for us and kill the fast, steady, free, and scalable block production by throwing a crap ton of smart contracts into the layer 1.

Anyway, I'm getting off my soapbox. Thanks for your consideration, kindly vote my witness if you think he projects I work on add value to Hive, and stay frosty. I'm seeing a ton of phishing scam stuff these days. It's a bullish sign, but something to be wary of.

Sort:  

The foundation layer needs to be finished. It needs to be protected, and that means the witness selection/retention system really does need a solid overhaul. I know people will scream all day long that what happened on steem can not happen on Hive, it needs to be foolproof. How many dead witness accounts are there? How many are current and up to date? A strong witness system will enable a lot more confidence in those that want to look at working with Hive Block Chain in a layer two system.

I see no problem with trying to protect the foundation layer from spam token, spam smart contracts. Right now there is nothing stopping anyone from building their own Hive Engine style place on Hive. No reason for others to not be able to build NFT type places either. Look at the number of games being built there was no "you can't do that" cause I did coming from you. If I remember correctly over on steem you even tried to help a few.

You have shown people what the second layer can look like how it can function and how valuable it can be.

So witness selection/retention, and resource credit sharing are two of the things I would like to see to help solidify the foundation layer of Hive. Just a Hive users opinion.

How many dead witness accounts are there?

Dead witness account with votes shows that there are "dead" voters out there. Some of those votes were placed years ago and were never changed. The question is how many of those same votes are given to consensus witnesses.

We need to have some type of time decay on witness voting. One can update as often as he or she likes but after, say a year, the entire vote is worthless unless renewed.

Time decay as been discussed and I think we have enough support to push that change in. I do believe we need some kind of decay, inactive voters can hurt the network down the road.

Yes there are not only dead witnesses, but dead voters, and those are things that the vote decay does take into account, one of the ideas for correction I can get behind.

Completely agree. Either it is one year or a few months there should be a time decay and for active users a notification should be issued before a week or two to update their vote before it decays. This will not only help to remove inactive users and witnesses but also help new witnesses joining in and doing great work but are not highlighted at the top.

yeah I agree there are a lot of problems right now and I want to say there should be a platform like hive stats too monitor 2 layer token curation and author rewards

How many dead witness accounts are there? How many are current and up to date?

That's true, some witnesses who are still in the top 40 are either inactive or they simply don't give a shit about Hive in general, while witnesses like @fbslo are sitting below the top 50.

Governing the chain ain't easy, the more decentralized the more unorganized.

Whales want Layer 1 devs to make SMTs happen because they are more competent. All apps on layer 2 are not decentralized imho. Layer 2 devs have done a terrible job at that.

the witness selection/retention system really does need a solid overhaul.

I agree. If there's going to be another HF it should be for that. Everything else is fluff.

I know it is hard to keep track of everything going on but several people now have been talking about decentralizing Hive engine with a mutlinode DPOS system, just a lighterweight version. We have a discord. https://discord.gg/9BuBMY

The idea in the last week has really grown wings and the ideas we have are amazing and really unique to the space. Join in on the convo if you want to help create a decentralized layer 2 for Hive.

Right now text is pretty much the only thing that can be stored on chain. It will be nice when video is also able to be stored on line, but I think that is a bit down the road.

I really do not expect applications on layer 2 to be decentralized, if there is a problem with an app I want to know who to go to to resolve the problem.

Hive Engine is a second layer system, it seems to work, Spliterlands game and several others are second layer application. PeakD is a second layer application, and they all seem to work pretty good.

I am not really a crypto person, nor a programmer, so I may not understand the nuances of SMT's being on the first layer or the second layer, I am just a user of the hive block chain. I see Hive as the decentralize ruled by no one in particular place, where people can come and build what they want tax free. That makes second layer application primarily centralized, I have no problem with that. If the applications development is not functional due to poor developing skills people will just go to another place.

It was only about 30 years ago that the internet came into being, pretty much as a decentralized entity. Standards were set, language was set, and methods were set, and all of them were part of the beginning of "open source" free to all who wanted to create.

WordPress has a really lightweight core and then a huge ecosystem of plugins anyone can install to add the functionalities they want. I think this design principle was critical to the massive success of WordPress. People can use Hive for the basics and for any additional functionalities beyond the lightweight core they can use second-layer stuff that provide what they're interested in.

In regards to Lite accounts, did you see what Leofinance has already created? - https://peakd.com/hive-167922/@khaleelkazi/durnibxb

Love this!

"The layer 1 has to be as lightweight as possible."

Dose that mean removing rewards and stop the insane inflation on the main chain? The layer 1 shouldn't be a social network.

"The layer 1 shouldn't be a social network."

The layer 1 shouldn't be a social network.

Can't agree on this one, inflation is normal and decaying, at rewards allow this place to grow and attract many users in times when the token is more expensive. This idea is unique and brilliant. During this time of consolidation and development, we cannot lose the biggest value here for the short term goals.

Agreed. Keep layer 1 as simple/scaleable as possible and push as much to layer 2 as possible. Make layer 2 decentralized and now you have the best of both worlds. Layer 2 you can build all the business logic you want without worrying about anyone else app, whereas everything you touch on layer 1 affects everything, and if it breaks it really sucks.

yeah now layer 2 need to improve and my be there be layer 3 in the future who knows

There very well could be a layer 2. The inventor of Steem, Dan L, had a great vision back in the day. https://hive.blog/steem/@dan/steemit-s-evil-plan-for-cryptocurrency-world-domination

Think of Bitcoin and Lightning Network. There simpler layer 1 is the more you can scale it. Hive is by far one of the most scaled blockchains in existence, with massive use over several years with the code. it has only gotten more efficient over time. Having a decentralized, robust layer 2 is what apps want, as can be seen from our biggest project Splinterlands is telling us exactly what they need to succeed. Layer 1 can only do so much, layer 2 is really where the hub of action is, and layer 3 from there can always be a possibility.

CRYPTOCTOPUS: How do we get a marketplace on Steemit?


DAN: Once we have private messaging we will have a classified tag. Posts made in the classified section will have payouts disabled.

Private messages are necessary for exchanging personal information to close the deal (shipping addresses).

We will add escrow support at the blockchain level.

Which 2nd Layer dev is working on this?

Has the memo-encryption feature been fully implemented on DHive? The last time I checked it wasn't and I was forced to use a deprecated library to get the job done on my Good World Order website.

If private messages are so important then why aren't we focusing more on that?

I'm more focused on the foundation of a decentralized second layer. I would be willing to fund the private messaging part to any dev that wants to start working on it now.

After giving it some thought, the most important thing that we need is the escrow functionality. If that's already been implemented on Layer-1, as Dan suggested, then we can do some amazing stuff on Layer-2. Private messaging is only required for shipping physical products.

Dhive's library shows 4 escrow operations:

But, I'm not sure if those types of transactions are currently accepted by the blockchain. I will do some tests tomorrow to find out, unless someone else can enlighten us? @inertia @blocktrades @someguy123

I don't know much about escrow transactions, other than knowing that they are in-fact fully working at the blockchain level last I knew.

I'm sure at least a few libraries have Escrow APIs ready to use - since they were added a good few HF's ago.

Have you seen BEECHAT? There is a tool that people can use to chat.

imo we haven't got HF24 right and people are thinking about HF25 🤦‍♂️

I shared this post on Twitter to try and get your work in front of more people.
You can find your post and me on Twitter if you like? https://twitter.com/dick_turpin
I've also upvoted you and shared your content on Hive.
I read your post. No Bots were used this was all done manually. Hope That Helps.


"If you don't have enough power or Crypto to upvote me; reshare me instead. Reshares are worth their weight in gold!"
Don't forget, you can upvote peoples comments too!

There were some hickups but if you follow blocktrades blog you'll see most of the issues have been squashed. This HF really wasnt that bad, we had the chain crash back in the Steem days, now that was a bad HF. Plus this was a first real one outside of the orginal Hive HF done under crazy circumstances.

Good post, didnt know anything about the layer program before. Can you relate me to other post talking about this?

Its true that a fast an free of fees chain is one of the strongest points in hive.

The worst problem is the SEO and the search system on the blockchain... Damn is preety bad, always was bad... But now with more data is just getting worse HiveSearcher is a great adition but almost no front end uses it.

There is a long way to create a perfect system but i think we are going in the right path. If you ask me i guess its prioritary to do something about that SEO thing...

After the last HF YouTube links are invisible on hive.blog Is there any chance to fix this? The correct number of comments is not displayed either - you can always see that there is only one comment.

Lastly, if we're going to get apps to develop here or board here there needs to be a focus on making sure all the libraries are easily accessible, readable, code is up to date, and as many examples are given in as many ways as possible.

This right here. I have chatted with @patrickulrich and others that there should be some written and video tutorials on how to interact or build dapps on the Hive blockchain. There are many video tutorials on youtube on "how to build a dapp". But guess which blockchain almost all of those tutorials use? Ethereum. I did find one tutorial which used the Tron chain, but all the rest were for the ETH chain.

I know we have some pretty awesome devs and content creators here on Hive. I would love it if a few of them would be willing to make some how to's on working with the Hive chain. And with those video's and written content that could possibly get more developers over here to make stuff or move their projects to Hive.

"Aggroed, you stupid fuck, you greedy piece of shit shill, who the fuck is going to trust you here. You operate Hive-Engine you fucker. Clearly you're biased as fuck you little shit."

Thanks dude you have just showed that geek shit can be entertaining!

did you read the post?
LoL

well I like your proposals and in-network and blockchain improving is the key I hope whenever HF25 OR MORE HF26,27 HAppen successfully

Makes sense to me. Let the witnesses kep improving layer 1 to make it able to handle even more traffic. Then build tools that allow more people to build actual use cases on hive.

Build smts which ordinary people can work with and monetized communities. Account creation is a huge barrier and being able to sign up without messy keys would be a start. If we want more people to use hive we need to make hive more accessible to users.

Not just tech people but every day users that play games and wrote blogs. We also need buy pressure on the token so improving the tribes closer to a LeoFinance level would be great. Customise options on your tribe at a front end level. Ad revenue as standard when you create on. Either as a stand alone feature or as an opt in option when your tribe goes live as a group with the other tribes. These could be a big income stream for the token with ads on each tribe and easier to set up and use. We could set up more of them. Also this ties into easier sign up as LeoFinance are again leading the way to bring in more users.

Posted using Dapplr

In case we move business logic to the second layer, do you think inflation should decrease?

Ok, but what is with the SMT developing? There are close to finishing? I would say it shouldn't be wasted resources and get used.

Coin Balances on Chain is not bad, also for exchanges to list them. With Smart contracts, I think you are right. There more flexible on layer 2.

What I don't like is with a layer 2 Token (governance) for Hive, we make the Hive token again more useless.

Long Term I think hive can be successful but there is no reason to hold large amounts.

  • High Inflation ( what is more worse Transaction fees and higher price or infinite Tokens and low price)
  • no real Resource Credits use cases (like RC delegations....)
  • curation sucks because of the curve
  • ....

If there will be a use case to hold more than 1000 Hive and it makes sense. At the moment there is no use case to hold more than 1k ( except account tokens).

Delegations and other onchain applications on the hive will also scale in value if it makes sense to get a delegation.

If I'm wrong @aggroed, tell me.

Thanks for the timely update. Just a quick question, how can community members help with App Developer documentation?

I always vote for you as witness.

Do you consider layer 1 SMTs to be a waste of resources? (without additional smart contracts or NFTs).

And do hive-engine token transfers consume Resource Credits? Sorry for the noob question.

Keeping the basic platform working well has to be a major priority. People can do a lot with that, but then adding other layers for fancy stuff is still a possibility. For now we need Hive in general to be working well and it is taking a while to shake the wrinkles out of HF24. I know some people are frustrated by that and we cannot afford to be losing users.

Cheers for all you do.

As someone that was working on a layer 2 solution I've always appreciated your opinion on competition, and couldn't agree more. Documentation, easy on-ramps, and things of that nature are key to getting more apps on the chain.

You post has been manually curated by @monster-curator Team!**

monstermarket.png

Can we make this happen already and not take another 6 months to do so?

I agree with you, the layer 1 shall be stable, fast, and preferably not complex. Am not too technical to understand what this means. I do think we need SMT as part of the core. Again, am not technical enough to determine if 'core' means layer 1, or if that is layer 2.

Your reasoning wrt Smart Contracts and such feature will result into none-scalable services build into smart contracts, I think is a weak argument against adoption of smart contracts to HIVE. In the end the robust, performing and scalable services will find mass adoption. Any service that can't keep up with increase of usage, will simply fail. This is regardless of implementation of services on whatever layer in whatever form.

If we need smart contracts as part of the core of HIVE? Again, am not qualified enough to take a position on it. That said, I do like the aim of the KOINOS team. They state they are designing a blockchain tackling all the core problems of any chain around: essentially robustness, scalability and modularity. They include smart contracts. They even intend to implement consensus algorithms as smart contracts to avoid the constant hardfork-ing we have at our HIVE chain. Are they wrong? I don't know, but their story sounds good and that team has a lot of knowledge of the HIVE chain. And I believe we shall stop all the hardforks. HF's leeds to unnecessary disruptions of the layer 1 which needs to be robust and stable, 24x7!

We should be able to talk to a group with an existing app with an existing community and talk through how we could bring their thousands or millions of users here, have the app continue to function, and how the blockchain will handle that additional traffic.

Definitely we need to get to this! ASAP! Not sure what you mean with bringing those communities over to HIVE. I see it likes this: We enable other communities to make use of HIVE, but they don't have to come to HIVE. I mean: we enable eg tokenisation of xyz community by integrating into their own service. Tokens can be tradable tokens as we have them on our layer 1, and in HIVE Engine (layer 2 I suppose?). But tokens could also be just loyalty points, or stable tokens. Not sure what we need to allow these use cases, but I don't believe in the world coming to HIVE. HIVE needs to go to the world, and that starts with a B2B approach, and leaving the communities where they are; We just need to add HIVE features to their service; Thats it :)

I tried to voice my idea of tokinsed comments to 3rd part services in a recent post. In case you are interested; check this link:

To finish: 3 seconds is fast, but it is not fast enough imho. Can't we get to 1 second? Some chains around can go as fast as 1 second. Waiting is something the mass won't do. When something else is faster, the mass will move to the faster service. It is as simple as that. Now, we may not need to be as fast as 1 second today, but I always learned from great software architects: The foundation is where the time is to be spend and needs to be developed in a solid way, before the rest is build on top of it. The more is build on top of the foundation, the less likely its gonna be the foundation is re-architected. Thats why in the software industry, a popular service/application is rebuild a few times from the ground up in its lifecycle. Most software and services are not well architected from the ground up, at day one; As you may know very well yourself.

great ideas, let's not wait too long with HF25, there are so many things that we should improve on

How about some simple, plain English instructions on how to set up the nodes? Inexpensive nodes. That should be possible now, shouldn't it?

These instructions may already be out there somewhere. If so, can anybody share the link? Thanks!

As for the business logic on the second layer ... Is there a possibility to write this logic supported with a set of tools/libraries? Or is everybody on her/his own when starting the layer 2 coding journey?

Thanks again for some input.

Ps: I agree that layer 1 should be slim and robust.

You said it several different ways, but the one I like best is:

Just, if the goal is to make Hive a great place for apps, let's not fuck up the one technical thing that we really have going for us and kill the fast, steady, free, and scalable block production by throwing a crap ton of smart contracts into the layer 1.

Count on all my support and whatever I can ever do to help!

So who wants to throw a crap ton of smart contracts into layer 1? Enlighten sheeple like me.

I agree. Also prevents Layer 1 bloat which should prevent chain size and chain growth from becoming issues that lead towards node centralization. Also depending on how further layers are organized applications can more easily hold state and data that is important and relevant to them while organizing other transactions and data in the ecosystem.

If compromises have to be made for the sake of scalability, it makes more sense to abstract those compromises away from the base layer rather than spend years undermining the base layers through updates and struggle to make any progress without introducing enormous amounts of complexity. Somebody is eventually going to learn from Ethereum's mistakes.

Exactly what this blockchain needs to scale, light accounts and delegation pools...

What does the Hive-Keychain basically consist of?

can layer2 smart contracts hold user funds? I would not understand how, without exposing the key to the contract

Now I can already hear the haters. "Aggroed, you stupid fuck, you greedy piece of shit shill, who the fuck is going to trust you here. You operate Hive-Engine you fucker. Clearly you're biased as fuck you little shit."
Ok, first off, that kind of talk is hateful and I'd appreciate if you could calm your tits a little and speak to me professionally.

Lol. Its funny how people exaggerate their opposing position and try to diminish it with caricatures like the one you wrote here.

I always found that funny. Its lowbrow and cheap, but funny. 😂

Yes, HE is centralized and if people continue building on it your power and influence grows more and more.
Im not sure you can call anything we have Layer 2. Shouldnt layer 2 have layer 1 security?

Anyways. HIVE doesnt have a business model and creates no incentive to buy it. Wer 150th in MC and sinking like a rock every passing day.

Your suggestion here is basically: "Do nothing HE will handle it."

And honestly with the work you guys have done with SL and HE id be more inclined to side with your bad idea than with the "no idea" folks running HIVE into the ground..

@aggroed, can you explicitly state your position on SMTs and how they fit into your view? My impression from this is you want to drop their development, or are you specifically referring to smart contracts here? How about dropping base chain blogging rewards?

Other than technical aspects of the coin, Hive and it's respective tokens should probably run some marketing campaigns or something similar. It would definitely help drive some public attention and maybe more developers. I've been looking more into tribes and so far I am liking what I am see when it comes to the diversity of content.

Good luck to everyone and I wish you all the best!

Please return my hive. I'm a victim. Please take pity on me.

I deeply pity you. You are utterly pitiful.

Why are you here?

I delegated a witness vote, and I didn't get a hive. Please pity me.

You needn't ask anymore, I do pity you.

Why would you get a Hive for a witness vote? I voted for 30 of them. Do you think I got a Hive? Not even one!