EOS.IO Developer Update - Support for Apple's secure enclave and similar technologies

in #eos7 years ago

The block.one team has been working around the clock to make eos.io the most advanced blockchain software possible. While advancing the core software, we have also been working with a number of major players in the industry to migrate their platforms to make use of the eos.io software.

Constantly Evolving Design

EOS.IO is not a fixed specification, but a living design that is constantly being enhanced above and beyond our original white paper. We strive to make EOS.IO the best possible platform and to deliver it as rapidly as we can. Today we would like to discuss some of the changes that we are in the process of implementing.

Parallel Execution Ahead of Schedule

Our original roadmap called for a single threaded implementation to be complete by June 2018 and for multi-threaded development to take place thereafter. We are excited to share that work on the parallel execution engine has begun 8 months ahead of schedule and we believe that it will be ready by June 2018. The work required to make this happen includes a complete rewrite of chainbase, the underlying database technology behind Steem.

New Shard-Aware EOS.IO Database

Over the past several weeks we have implemented a new shard-aware database that is designed to enable multiple threads to access independent memory regions (called shards) at the same time. Shard data ranges are not fixed, different transactions can group different shards depending upon the necessary data access patterns.

New Multi-Threaded Key Recovery

We have developed a multi-threaded key recovery service that will accelerate the rate at which transactions can be validated compared to our existing single threaded approach.

Interblockchain Communication

We have been putting a lot of design work into how two blockchains will communicate with each other. This involves carefully crafting the structure of our merkle trees to make proofs meaningful and efficient. It also means restructuring our block headers and transaction headers.

Introducing Regions

Transactions now have an extra header field, a region. Think of it like a postal code indicating which blockchain the transaction is intended to be included in. By default region 0 implies the current chain and all other chains have different region codes. When a contract generates a deferred transaction for another region it is a signal for block producers to ignore that transaction. It is up to the other chains to use merkle proofs to verify the region code they have assigned themselves.

Error Handling on Deferred (Asynchronous) Transactions

Originally the EOS.IO software had no error handling for asynchronous transactions except for timeout. The reason we had this limitation was that error handlers themselves could fail. The only option for error handling was to wait for the transaction to expire without executing.

We have updated the block structure to allow producers to schedule transactions that fail for objective reasons and to execute an error handler. There are 3 possible states that a deferred transaction could be included as: success, error with successful error handler, or error with failure of error handler. Only objective failures are included, subjective failures such as using too much wall clock time will still require waiting for a timeout.

Adding Support for Apple's Secure Enclave

We are extending our support for elliptic curve keys validation to include the secp256r1 curve. This is the standard created by NIST and used by Apple, Android, and many Smart Cards. Users will have the option to pick their curves (secp256k1, is used by Bitcoin and EOS by default) and can use both (r1 and k1) if they don't know which one to trust! The most important aspect of this is that it will give every cell phone user a hardware wallet with biometric 2nd factor validation.

Implementation is ongoing, but the design decision has been made and should make EOS.IO usable in far more environments.

Conclusion

There is a lot of work going on here at block.one and the eos.io software is becoming better every day.

Disclaimer

block.one is a software company and is producing the EOS.IO software as free, open source software. This software may enable those who deploy it to launch a blockchain or decentralized applications with the features described above. block.one will not be launching a public blockchain based on the EOS.IO software. It will be the sole responsibility of third parties and the community and those who wish to become block producers to implement the features and/or provide the services described above as they see fit. block.one does not guarantee that anyone will implement such features or provide such services or that the EOS.IO software will be adopted and deployed in any way.

All statements in this document, other than statements of historical facts, including any statements regarding block.one’s business strategy, plans, prospects, developments and objectives are forward looking statements. These statements are only predictions and reflect block.one’s current beliefs and expectations with respect to future events and are based on assumptions and are subject to risk, uncertainties and change at any time. We operate in a rapidly changing environment. New risks emerge from time to time. Given these risks and uncertainties, you are cautioned not to rely on these forward-looking statements. Actual results, performance or events may differ materially from those contained in the forward-looking statements. Some of the factors that could cause actual results, performance or events to differ materially from the forward-looking statements contained herein include, without limitation: market volatility; continued availability of capital, financing and personnel; product acceptance; the commercial success of any new products or technologies; competition; government regulation and laws; and general economic, market or business conditions. Any forward-looking statement made by block.one speaks only as of the date on which it is made and block.one is under no obligation to, and expressly disclaims any obligation to, update or alter its forward-looking statements, whether as a result of new information, subsequent events or otherwise.

Sort:  

You are one of the most talented genius in the cryptocurrency world and I know my investment with you is safe because you are a visionary.
Thank you for everything

I feel the same way. Well articulated.

Luvin on the belle

Thank you for your support =)
I'm glad to have discovered your blog. I'll make sure to keep an eye on it =)

We trust in Dan!

lol top comment secured. youd need millions of steem just to upvote a comment any higher

I commented this 3 years ago lol ! Now I'm back for good =)

A very valuable article which was helpful for me a lot.

Dan, thank you for the update on EOS. I am especially interested in the biometric 2nd factor authentication you mentioned as I have been thinking a lot lately about what account security will look like in the future. I am very glad you have chosen to use the photocollage I made of you and your code enmeshed in your face. I wonder how did you find that image? A google search of your name? I mentioned you and EOS today during my interview with Ani Alexander...your presence and influence is missed on here! :)

Am sure he saw the photocollage worthwhile. Everyone loves good things and @dan is not excluded.

Great photo... good work.

I love it too! And 8 months ahead on multithreaded execution! Wow just wow!

that photo is going to be part of history.

Very well. I'm an investor from the beginning of the ICO, and I'm so excited about the features and new options!!

"we have also been working with a number of major players in the industry "

That's exactly what i'm lookin' for. Marketing efforts are so crucial for a mass adoption, many don't accept this truth just bet on their technology.. and finally often fail. That's a very promising update of your edge technology and i wish you all the power and enthusiasm to push it as far as possible! Thank you for the comprehensive update on EOS.IO!

It sounds like those looking to migrate to EOS will reap the benefits of these advancements. Parallel execution, sharding, improved merkel tree design. Projects building payment intergration platform6 or other use case intergrated across chain "Interblockchain" technology and support for Apples secure enclave all relative to mass adoption.

Wow we get a progress report from Dan with all these comments so far and theres not a single one saying "EOS is a scam!" or "But your EOS tokens are worth nothing!" Now that's what I call progress!

I remember going to meetups about Ethereum and talks with Vitalik and there was always someone saying it was impossible, Vitalik was a moron, and would be a huge failure. Oh well, every community has it's flat-earthers I guess. EOS is not different but at least they are become slightly rarer these days.

Personally it's great to leave see more and more people leaving the world of me and joining the world of we. That's the net positive win-win fork of humanity I want to be on!

Thanks @dan and thanks all the EOS visionaries, developers, investors, and believers.

You are correct. Earth is flat.

We have developed a multi-threaded key recovery service that will accelerate the rate at which transactions can be validated compared to our existing single threaded approach.

Is that to look up transaction ids after broadcast using signatures, by chance?

Key Recovery Service? WOW all of thsi stuff soudns so cutting edge

Also @dan this part here...

! The most important aspect of this is that it will give every cell phone user a hardware wallet with bio-metric 2nd factor validation.

WOW so is this have something to do with Appl'e finger print scanners or their new Facial recognition system? is that how we could have biometric 2nd factor validation with EOS? using the iphones biometric sensors?

very fun read glad im at the cutting edge fo software and clicked on this link @inertia its super high tech stuff!

and glad dan is here live on the platform, strange to see him here like this, i hope I can get a response from him... this stuff is so heady cant wait for visualizations of it all!

Amazing seeing this stuff take form right before our eyes! were watching the live development of web 3.0!

or rather should I say, project Xanadu 1.0?

Not only on the iphone

This is the standard created by NIST and used by Apple, Android, and many Smart Cards

Since Dan is on this project, I'm planning on buying some more EOS after the upcoming bitcoin fork :))

@dan, one question: Will EOS allow companies to create their own blockchain? For example, if I wanted to start a blockchain project in the future, EOS would allow me the tools to do that? Thanks!

@dan this is goddamn exciting! Apple hardware wallet with biometric authentication. #winning