2달이 난 후 지난 3월 23일 github에서 EOS Dawn 3.0의 개발률이 100%에 다다랐습니다. 관련 Github 링크
2017년 9월 14일 Eos Dawn v1.0.0, 2017년 12월 4일 EOS Dawn v.2.0.0에 이어
EOS Dawn 3.0이 곧 발표된다는 말이겠죠.
그렇다면 EOS Dawn 3.0의 주요 내용은 무엇일까요?
\
먼저, EOS Dawn 3.0으로 트랜잭션(거래)속도 증가와 지연시간 감소가 있습니다.
현재 EOS는 대역폭(TPS)를 백만을 목표로 개발중에 있습니다. 네오의 경우 1만, 이더리움은 15, 비트코인은 7인데 비해
이것은 굉장히 빠른 속도죠(무려 비트코인의 142857배입니다.)
EOS.IO 기반 체인은 서로 메시지를 보내는데 3초 이내로 암호화 및 확인, 반응이 가능하다고 합니다.
B2B 통신도 이런 방식을 이용해 수행할수 있다고 하네요.
Infinite Scaling and Infinite Decentralization
The holy grail of blockchain technology is to enable secure communication between two independent blockchains without requiring both blockchains to validate everything on the other blockchain. This requires making one blockchain a light-client of another blockchain.
Light clients authenticate transactions using only the block headers and merkle proofs. EOS.IO will be the first proof-of-stake protocol with support for light client validation. More importantly, it will be the only one capable of generating proof-of-completeness. This means it will be possible to prove you have received all relevant prior messages from another chain in order without having a waiting/challenge period.
Whereas traditionally light clients have to process all block headers, EOS.IO will enable light clients that only have to process block headers when producers change or when a new message is required from a more recent block. This will enable efficient infrequent communication between chains along with frequent communication. In the worst case, the overhead of two blockchains communicating every 500 ms will be about 2 transactions per second above the total number of messages sent.
Under this model, the communication will be secured so long as at least ⅓ of producers are honest. Furthermore, if even one producer is corrupt they can be automatically punished if they sign any message that could potentially corrupt a light client (aka foreign blockchain).
Lastly, the round-trip time for communicating to another blockchain depends upon the latency until irreversibility of each chain. An EOS.IO based chains will be able to send a message to a foreign EOS.IO chain and get a cryptographically verified response in under 3 seconds.
This level of interchain communication and security enables the creation of two-way pegs between chains with very low latency. While the two-way peg is the most obvious example, any business-to-business communication can be performed using this same method.
또한 이오스는 이론상 매초 2블록을 생성(DPOS)함으로써, 분산 응용프로그램의 응용성을 향상시켰습니다.
이전 다른 코인들은 프로그램에서 블록 생성시간이 느려, 프로그램들과의 속도가 느렸습니다.
하지만 이오스는 블록 생산 속도를 늘리고,
또한 생성자-생성자간 인수인계 블록생성에서 최대 12개 블록을 생상함으로써
아주 적은 지연시간으로 블록 생산의 병목 현상을 해결해준다고 합니다.
이런식으로 한다면 첫 확인(검사)을 할때 6초정도 걸린다고 하네요.
500 ms Block Confirmation
On our eos-noon branch we have implemented a number of changes to the underlying DPOS framework to support 500 ms blocks (2 blocks every second). This change will dramatically increase the responsiveness of decentralized applications. To achieve this we have introduced some changes in how block scheduling occurs.
The same producer will now produce 12 blocks in a row before handing off to the next producer. This solves the single biggest bottleneck on block production which is producer-to-producer handoff. Under the new structure unexpected latency may cause a few blocks to be missed every time there is a hand off, but between handoffs there should be very fast confirmation. We will be experimenting with different hand-off periods. The longer the handoff period the fewer missed blocks during normal operation, but the longer the outage will be if a single node goes down. With 500ms and hand off every 12 blocks, the “down time” is no worse than when a single producer misses a single block on Steem and BitShares. In this event it could take 6 seconds for first confirmation.
One Second Irreversibility
Every block producer will sign every block which will enable a block to be marked irreversible as soon as ⅔+ producers have signed it. Producers are only allowed to sign one block header per block height. This means that in the event of a fork producers cannot sign blocks at the same height on both forks. Any such a signature will be cryptographic proof of misbehavior of a producer which can be dealt with by a number of methods including automatic loss of producer position, potential loss of bond, and potentially liability for damages under arbitration.
Unlike other protocols which gather ⅔+ signatures before the next block can be produced, EOS DPOS does optimistic pipelining that allows the blockchain to advance in “pending state” while the signatures are gathered. These additional signatures occur outside the blockchain and can be pruned after a block becomes irreversible under traditional DPOS rules of Steem or BitShares.
Under this model, it is possible to achieve byzantine fault tolerance because it is impossible for any block to receive ⅔+ signatures without cryptographic evidence of the byzantine nodes.
또한, 타원 곡선을 이용한 EOS의 보안 관련 암호화를 새롭게 지원한다고합니다.
애플, 안드로이드, 스마트 카드등에 사용하는 해시 함수들은 타원 곡선을 이용하는데,
애플 제품인 MacBook Pro나 Touch ID와 Face ID 등에서 메시지를 검증할때 이용할때 이용하는 수준의
높은 수준의 보안성을 가지고 있다고 합니다.
EOS에서 이런 타원 곡선을 이용한 해시 함수를 이용해, 모바일 애플리케이션에서
가장 안전한 블록체인 지갑을 만들려고 한다고 합니다.
Working Integration with Apple’s Secure Enclave
In our last update we announced our intention to support the same elliptic curve used by Apple, Android, and many smart cards. Our eos-noon branch now includes a fully functional proof-of-concept where messages are signed and verified using Touch ID (and also Face ID) on the latest MacBook Pro’s. Similar code also works on native iPhone applications. This means that EOS.IO based mobile applications will be among the most secure blockchain wallets known.
Furthermore, the eos-noon branch has now integrated this support for multiple signature types which means it is possible to use secure enclave to sign transactions which will be validated on eos-noon.
이 외에도 EOS Dawn 3.0에서는
무한 확장 및 무한 분권화(Infinite Scaling and Infinite Decentralization)
공공 / 개인 통신(Public / Private Communication)
Runner Up Producers 제거(Removing Runner Up Producers)
프로듀서 스케듈 셔플링 제거(Removing Producer Schedule Shuffling)