EOS.IO Development Update

in #eos6 years ago

Our team has been working around the clock to make our EOS.IO software the best it can be. Those following along on GitHub should see some substantial improvements in the structure of the code as we implement many of the things we discussed in the last update.

EOSIO BIOS

A computer's BIOS is built into the hardware and is the first thing a computer loads prior to starting the operating system. This week we continue with the operating system metaphor to make the EOSIO blockchain bootstrap process as simple as possible, like a computer BIOS. The blockchain now starts up with a very simple initial state:

  1. a single account (eosio.system)
  2. a single private key
  3. a single block producer

This initial account is like the root account on linux systems, it has unlimited power until it yields this power to a higher level operating system smart contract. From this initial state, the @eosio.system account will upload the operating system smart contract that implements the following:

  1. staking for voting, network bandwidth, cpu bandwidth, ram, and storage.
  2. producer and proxy vote creation

You can view this initial state as an embryonic stem cell capable of adapting an EOSIO based blockchain to any number of use cases and governance structures all of which can be updated and tweaked without requiring any hard forks.

We gain many benefits from this approach because it makes the core EOSIO software simpler and easier to test.

Dynamic Number of Block Producers

The primary outcome of this is that EOSIO blockchains now support a dynamic number of block producers which can be changed with a simple update to the @eosio.system smart contract. We will still default this to 21 producers, but this is no longer hard coded.

The primary reason for making it dynamic is because for many private blockchains, 21 producers is beyond overkill. Enterprise use of private blockchains may prefer to have just a couple of producers and test networks might want only a single producer.

Metering

Historically we have indicated that each transaction would have at most 1ms of runtime as measured subjectively by the block producer. We realized there is a demand for some transactions which could take up to 50ms to run and also want to incentivize efficiency by encouraging developers to design transactions that take less than 50us to run. Under our original model all transactions utilized the same CPU whether 50us or 1ms meaning there is no incentive to optimize below 1ms.

Because runtime is subjective and can vary depending upon other activities running on the same computer, it is not possible to generate an objective and reproducible measure of runtime.

We realized that at no additional cost, we could modify our existing time-based rate limiter to a limiter that would calculate an objective estimate of the number of WASM instructions executed. This is similar to how Ethereum measures gas consumption. With this new objective measure we can rate limit CPU just like we rate limit bandwidth.

The block producers will use the same "dynamic oversubscription" algorithm for CPU usage that they use with network bandwidth. This means that while the network has spare CPU capacity users can get more CPU-per-staked token than they would be guaranteed to get during full congestion.

The block producers would still implement a subjective runtime limit in addition to the CPU instruction counting. This subjective limit would protect the network from those who would abuse the metering algorithm by using the most time-expensive operations more than the less time-expensive operations.

Separation of CPU and Network Bandwidth

In previous updates we indicated that we would separate out RAM, Storage, and Bandwidth where CPU/Network were both considered part of bandwidth. We realized that some applications, like Steem, might have high network bandwidth (for posts) and low CPU bandwidth, whereas other applications might have low network bandwidth (exchange orders), but higher CPU bandwidth (order matching). This means that one-size-fits-all pricing and/or staking does not make sense.

To keep things simple, the user interface can still bundle these things together for normal users; however, power users now have more price flexibility.

Transaction Compression

In the process of adding support for the c++ STL library we noticed that smart contracts could get quite large (50kb) and would therefore consume significant network bandwidth. It is conceivable that more complex contracts might grow to be over 200kb. We also realized that many applications, such as Steem, bundle very compressible content into transactions.

We added support for zlib compression of transactions which can provide a 60% or more reduction in bandwidth usage for smart contract uploads and potentially higher for Steem-like content.

Network Updates

The P2P network team has been busy updating the code to enhance performance and stability. This week they made significant progress on the following:

  1. block summary - when a block is broadcast only the transaction IDs are included rather than retransmitting all the transactions in the block. This will reduce bandwidth usage by almost 50%.

  2. large message support - broadcasting large messages (like 50kb smart contracts) needs a different network protocol than small messages (like 200 byte transfers).

Conclusion

Our development team is working to make EOSIO the most efficient, general purpose, and flexible platform to date.

Sort:  
There are 8 pages
Pages

Dan,

Please consider ZStandard, LZ4 and LZMA2 as compression options. All have friendly licenses. At a minimum, ZStandard is faster and more effective than zlib. LZ4 is the fastest and smallest memory footprint, and LZMA2 will give you the best compression, great for a smart contract that compresses once and decompresses many times.

Having a compression type in the smart contract data structure would at least allow adding new compression types in the future.

We designed it for multiple standards

yeah multiple standards is perfect for this system.

You are very considerate, thanks sir

Designing it for multiple standards is your best bet!

ZSTD is a really strong balance of speed+compression.

Very cool.

Interestingly, Eos and Steem features in the top most promising altcoins in 2018 says Weiss
Good news!!!

We realized that some applications, like Steem, might have high network bandwidth (for posts) and low CPU bandwidth, whereas other applications might have low network bandwidth (exchange orders), but higher CPU bandwidth (order matching). This means that one-size-fits-all pricing and/or staking does not make sense.

Apparently, an indepth into this issue will be of pertinent value to the ecosystem in general.
Dynamism in the number of block producers will be valuable in the pace of transactions which will be needed for a great future of eos.

Bandwidth should summarily be taken into a bigger consideration.
Network stability will be a feat towards achieving a sustainable value too.
All the best!!!

Exactly bro! You speak my mind!
I gain so much from the awesome post. Thumbs up

Dan, you make it sound all so easy : ) Looking forward to an enlightened society, thanks for putting up the effort!

@Ned needs to start delegating his SP in quantities of 5k to community engagers like I've been doing. Delegating more than that (e.g. 500K) is just too damn much for an individual.

Really a massive effort. He has great ideas.

@dan, this is a race against the clock, at that speed we'll be reaching a zero point in time! ;)

Thanks a lot for all this incredible information and I want to congratulate you and your team for this phenomenal work you are all doing. I also love being educated in the matters at hand. Brilliant wording, equally powerful learning. I can't thank you enough for this either.

Namaste :)

Keep up the good work lads, EOS is one of my very few favorite blockchains and along with Cardano have huge potential to shape the future.

I know my upvote wont affect reward pool ...but you deserve it.....

He really does deserve it. Kudos to @dan for this excellent EOS project

Even my upvote isnt going to make much difference ... But still one who desrve u cant keep ur hands away from upvote... :p

It is really great by declining the post to the steemit reward pool ...hats off .....Great Steemians be like this ....
BTW nice work.....salutae

Ya lafmaya... Che kyo jumpa maermic .. Dont be great ... Just Grow some balls.

Steem is mentioned 4 times in your post, @dan (I include the tag). So it would be safe to conclude that a Steem-like dapp will run on EOS, I guess.

Why would we need a SteemOnEOS when we already have Steem? What would be the advantages?

... if they rebuild steemoneos ... airdrop to eos holders ... it will take advantage of eos distribution ... a lot less whales... votes will be worth more and minnows will now have a higher stake.

I mean, why wouldn't Steem just migrate to Eos? It already has Graphene infrastructure. It makes no sense to build another coin when Steem is already ahead and can be converted faster than a new one can be built..

whaleees

STEEM doesn't come with any EOS with which to board. And STEEM dollars won't be compatible with EOS dollars.

Eos isn't even out yet so idk what that means... It's built on the same infrastructure. I'm not sure I understand what that second part means either.. Why wouldn't you be able to trade steem dollars for Eos dollars on an Eos Dapp? Seems perfectly possible to me. Have you read the whitepapers and know something I don't?

Yeah, that could be possible advantages, but actually I'm really curious about @dan's perspective on this.

Very interesting perspective, I wouldn't be surprised to see it happen.

GREAT answer!!! Thank you, namaste :)

My limited understanding is that EOS is a smart contract platform, I'm not sure if it would be suited for developing a social media app onto... Would be grateful for more input

On EOS you can run multiple steemit like platforms. All running as Dapps, EOS can run ethereum as well with out a hitch you can essentially create an uber type platform as well with out concern to speed and or bandwidth.

I'm not sure if it would be suited for developing a social media app onto

I believe it would be possible to create a sophisticated social media app, in which you could curb the :self-aggrandising: that happens on Steem. For example, rewards could be based on a direct transfer of coins (rather than a common pool), and for motivating this you could add a curator reward clause as part of the transaction.

Excellent question! Namaste :)

Ned won't be there

Hey dan,

thanks alot for the regular updates. It's great to hear about the improvements to the software!

I'd love hear more on the 'human issues' side, if you find the time. Thomas Cox mentioned you had a conversation on the issue of vote-buying. I'd be great to hear your thoughts on this as well!

Awesome work by the Dan and the Block.One team - the Dynamic number of Block Producers is very welcome and a big step in the right direction.

Oh boy, I am so excited for this, and I already have my tokens registered and ready to go!

Plus, I'm so excited to see what new programs will be created atop the EOS blockchain soon, especially now that they have a one billion dollar project fund to incentivize companies to do so! 🐳

Dynamic number of block producers is an excellent change. Private enterprise adoption should lead to wider consumer adoption beyond that of dapps competing with legacy apps.

Maersk announced a partnership with IBM to build a blockchain, will block.one be directing some effort towards winning those clients?

Looking forward to EOS! I've been "Trollin" Charles Hoskinson a bit on Twitter just for kicks! 😂🤣😂🤣

Trollin just a bit...? You just destroyed the very last bit of his self confidence and faith in cardano! He probably cant sleep now. Even Tonny Robbins wouldnt be able to help him. Pure guy was looking for mental support from his community and then you had to step in 😂😂

Talks about maturity, proceeds to say "thank you for not being the EOS community" and "Have a gold star". This man's a walking contradiction.

haha .. amazing this guy going to be tired of explaining ADA, why it is better from EOS .. lol

Charles called me smelly today.

haha I love that! This is, what makes blockchain tech so great. Where else could you troll a CEO this way? 😂

He must of got "Triggered" when I told him I sold all my Cardano haha

Good One! LOL

Haha, that's hilarious!

I had a disappointing and enlightening experience with the Cardano wallet and their "support." If they are willing to put out such a piece of junk wallet with so many bugs and bad UI, and then give lackluster support, I'm out. Sold my fairly large stake in ADA as soon as I was able to recover my wallet, which took days, no thanks to help from "support."

This is simply amazing. I really salute the efforts of everyone trying to make this happen and give everyone an easy and smooth operations. I am always drawn to express gratitude to people who sacrifice and make life better for everyone else regardless of everything. More strength.

hahhaha my boss don hammer

If only dan and ned can settle their issues amicably

I really must say Dan Larimer and his EOS team are doing a revolutionary service that will change the world. We need to acknowledge and encourage people like these. The more its easier for the average Joe or noob to understand crypto currencies and blockchain technology the better. Cheers to Dan Larimer.!!!!!!!!!!!!!!

🗅

Dan, thanks for continuing to update us with these posts. The analogies are also very helpful for understanding. I'm very glad to hear about the solutions for price flexibility that you are working on. I'm not sure if you will see this message, but will you and/or anyone from the EOS team be at Consensus this year? I've been thinking about trying to attend, but honestly I am not interested unless EOS will be represented there.

All the best.

Outstanding Dan. You're an inspiration.
Ned is such a jealous jerk. Cant wait for a better steemit to be developed on EOS.

I can´t wait for June to arrive and even only being an enduser, I can already sense, that the name Dan Larimer will be the Mark Zuckerberg of the blockchain generation!
Thanks for making the blockchain great again 😂You rock!

Hello @dan
All these updates are wonderful. I hope to see more of of such. More strength to you and your team. So for clarity, EOSIO is the most efficient and flexible platform so far?

Our team has been working around the clock to make our EOS.IO software the best it can be. Those following along on GitHub should see some substantial improvements in the structure of the code as we implement many of the things we discussed in the last update.

Wow good innovation i see eos as a step forward to steemit, i really appreciate you and your team for the working you are caring on to make steemit a better place.

This is outstanding . I really duff my hat for the efforts of everyone trying to make this happen and give everyone an easy and smooth operations with the EOS trades and followups. Thanks for the updates despite everything you are indeed an icon @dan !
A blessing to all. More grace!

Hmmmmm
@Dan. You seem to make all these sound so easy to achieve....

I must sincerely commend your efforts though...

You're exceptionally great...

You did not tell me early.

I tell you @kingernie ,the guy @dan is more than a genius, imagine all that he has done with bitshares, EOS, Steem. I am so sure he has more to come. @dan you will always be successful, that's my prayer for you sir.

I tell you @kingernie ,the guy @dan is more than a genius, imagine all that he has done with bitshares, EOS, Steem. I am so sure he has more to come. @dan you will always be successful, that's my prayer for you sir.

I really look forward to you guys resolving whatever this is about. A down vote @ned? The best thing would be to resolve this outside the platform. I believe so much in steemit and would love to see it blossom so well

Unbelievable that this kind of amazing post was downvoted... Although nobody knows what's between both of you, but things are not suppose to go like this. Afterall you are our mirror.

PhotoGrid_1517713790787.jpg

Am still gonna upvote this, and if possible upvote all reasonable comments.

This was a really good one.
I think am buying Eos..
Thank you @dan

@yhubie, Yeah... eos is amazing. the team is properly organised.

Fantastic post @Dan, thanks for keeping us in the loop.
A question I have, when do you think we will start seeing real application of EOS and its contracts? I am not talking about random smart contracts (like crypto kittens), but things that people and companies will use.

Wow!!! This is amazing... You guys @dan and his team are wonderful for the great project. Nothing really s as sweet as crypto currency. The power behind crypto currency if you view deeply, is beyond trading... Your efforts really need to be commended. Thanks a lot
download (8).jpg

So amazing!!! Gratitude to this brother from another mother... I really appreciate both the information and the motivation you show.

images (2).png


Judging by what @ned just did to @dan, it shows that ned has no chill at all even on dan? This is ridculous seeing such act from the sole founders of this platform. You are suppose to commend dan for this great effort trying to update us on EOS.IO development. This platform is mearnt to appreciate a good content with the intent of making the world a better place, but i doubt if ned is really concerned with that right now. Instead of supporting each others, it is the other way round. @dan if only my steem power is enough to make this post moon to $5000 payout, believe me, i would but don't worry now, i am going to be your soldier to protect and fight for you even if my 'SP' is not much, i don't care to die in the process. My loyalty is gon be 100% for you. More greese to your elbows, you deserve to take a chill, relax and worry less about what ned just prove to be by down voting this post. Followed, and resteem has been done to this marvellous post @dan.

wow bro...uv said wat i really wanted to...am also a minnow..
what @ned did to @dan is really strange and weird..so sad at wat he did...@ned needs to also learn some skills @dan doz...wat happened to this post wowed everyone.
ws_blue_tear_1280x960.jpg

Very surprising seeing that. Like wow @ned and @dan are business partners they are meant to be watching each others back not this display of foolishness Portrayed by his beloved partners @ned. I hope to see them in good terms though for the movement of steemit for good.

@ned needs to take a chill pill.. It hurts my spirit when I see people who are trying to give out their best getting penalised for nothing.. And I think @ned needs to apologise to @dan ASAP

For God's sake @ned I know you got bad blood with @Dan but you can't risk the platform on some grudges. You have to give it to @Dan he creates a platform makes sure it runs like it's supposed to ... than moves on the bigger creator things. Can't be mad at him you might be pissed that he left steemit inc. But he was the one who created this platform that is able to award you the amount for a one liner.

Give props where it belongs.

Settle this off chain.

Give caesar what belongs to caser.. @dan doesnt not derserve such embarrassment. Hes really doing a great job..

@dan and his co-team, you guys are really trying. EOS is moving better, this is impressive and it really help. Kudos to y'all. Great work should never stop

images (13).jpg

yes @dan is nd his co-team are really trying and i personally appreciate their effort..U5dt3DKEaXwSiBEbPGLdhVzgS5VosPK.gif

Wow... thanks alot for the regular updates. It's great to hear about the improvements to the software! I'll really love to knw more on the 'human issues' side, Thomas Cox mentioned you had a conversation on the issue of vote-buying. I'd be great to hear your thoughts on this as well. I really can´t wait for June to arrive and even only being an enduser, I can already sense, that the name Dan Larimer will be the Mark Zuckerberg of the blockchain generation!
Thanks for making the blockchain great again . Thanks @dan for this. A great man, you are

I wish one day I could meet Dan. I fell in love with EOS and I’ve been following the project since before the crowd sale began. Dan will go down as one of the greats that are talked about in history books!

This kind of post does not worth downvoting... If there is any disagreement between you both, try to settle it amicably... You are leaders and the role model.

IMG_20180204_051642_631.jpg

I'm honoured for the motivation you gave.... You are the best

images (3).png

I just can not understand that @ned would downvote this or any post. You know that you have alot of power in steemit and you can make or BREAK posts.

@dan is already declining payouts which I think is very respectfull. Dan also knows that he's got alot of power and should'nt go along with it and use or abuse it for his own reasons.

As I can see dan is the most friendly "whale" in history and ned is acting like dan is MOBY DICK. Pierced right in the chest and let him bleed to death. (Figurely)

But yeah, hence the freaking logics right?

Just downvote + post a negative comment without real context + upvote your own comment worth 2K+ SBD. Sounds like a role model..... NOT

Thanks so much for this @dan. You're a great leader. I wonder why this great post was downvoted. This is disheartening

@dan Upvoted this, not that my vote is worth much, this doesn't deserved to be downvoted @ned, shame on you!!

You are kind

Really can't wait...looking forward to it..Thanks to your team for working tirelessly to make EOSIO efficient and flexible platform to date. A very big thank you to @dan for what you've done so far and for what you're yet to do...

Sir, i sincerely want to use this opportunity to say thank you so much for all you do. This is pure selflessness borne out of a heart that truly cares and love. This is massive. Thank you. Thank you. Thank you.

thank you @dan for sharing you,r doing gud job such a gorgious Things for developers......Outstanding software dreams comes true Just Can Thousands of transactions per Sec. from this Software....i,m glaD to hear such a terrific news about transaction.....i will staye here for more Learning writing and Building my skil......Solute For Your team And For You 😊 Keep it up m Going To resteem your Post Soo Other Stemians Can follow You and they Get Your Tremedious Work and contents.....thanks again.....

I don't think @dan has to exaggerate anything about EOS to make it sound awesome, it just is.

Team @dan. You guys are doing a really great work. In the spirit of valentine season I'm offering @ned free medical checkup to see why he won't just appreciate good things.

I really support the idea from @dan as i belive he would not innovate what would bring down the system and @ned two wrongs never make a right. We are not just here to post and get paid, how we treat people too is also involve.

And @dan thank for tge the efficiency of the EOSIO ,Please settle this off this platform and we would like to see sign or post from you guys showing that. @dan and @ned

In the olden days, it was common to have a boot disk that ran apps without an operating system. There were certain advantages to this, mainly eliminating DOS version compatibility, and getting slightly more resources without the OS overhead.

Is there a possible scenario like this for EOS as well?

ie, with the basic drivers etc + bootstrapping right ?

Are you thinking of a micro-kernel approach where the OS starts in the RAM & then runs only EOS ?

I think this should be possible with https://www.bootrino.com/ ... I was thinking of running my witness nodes in this mode. Though haven't tried.

Wow this is really amazing though, it's good to see some improvements on EOS. This is good for the community but to see this downvoted keeps me wondering though. @ned why this??!!

Pettiness? There is such a thing as irreconcilable differences.

The blockchain revolutionary is truly a high feet for mankind and the coming generations to come I guess... That's If they don't flush this technology Lolz... I love the development so far with the EOIOS BIOS and I must commend the team a great effort for a job well thought into. Hopefully this kicks into full gear soon and become a true vision of what blockchain should be. Thank @dee-y over and out.

Wow, you and your team have come a long way. With all the detailed analysis, it is quite obvious that it has not been easy. Congratulations for achievements so far and more to come. More grace to your elbows.

Thank you for the information and your hardwork!

I'll have to research on the EOS.IO so I can know more about it!

Good luck in your endeavours and keep us posted!

hello @dan
its great to hear about d improvement on the software..i am also excited an cant wait to see d new programs....simply amazing and fantastic...
If this bandwidth issues can be resolved it will be highly appreciated...because at times it annoys me wenever i have a low bandwidth...cnt comment or upvote
Thanks for ur effort really appreciate Looking forward to an enlightened society and more post from u...STEEM ON!!
#cheers

There are 8 pages
Pages