Be a crypto hero in the market by logging in
Don't you have an account? Sign in
Market trends report
The following report details the two recent incidents of local block rollbacks on a small set of nodes. The incidents were made possible by the introduction of epoch blocks and resolved with the latest V17.1 release.
On January 14th at 11 pm GMT an invalid fork resolution attempt was detected between a distributed account-open epoch block and a send block, with this root block. It occurred on one of our internal nodes and on a handful of other nodes on the network, most notably the Canoe and Nanowat.ch representatives.
During propagation of the epoch block across the network, the affected nodes went through a series of elections and rollback events related to invalid matching roots on the blocks (see root cause analysis below for more details on this). This caused a rollback of related blocks on the send block’s account to its predecessor from ~15.8 million to ~11.9 million, totaling approximately 3.9 million blocks (see chart below). Due to the design of the network, the few nodes affected stayed connected and were able to fully resync between 12–20 hours later without interference or updates.
On February 5th at 12 pm GMT we received multiple reports of unexpected deposits of Nano into users’ Binance accounts. We immediately requested Binance suspend deposits, withdrawals and trading, and later notified the community while working with Binance to diagnose the issue. It was discovered that older transactions were received again on their node during the process of resyncing. This issue was possible in V17.0 of the Nano node they were running and was triggered similar to the epoch block distribution issue mentioned above.
Due to their particular wallet implementation, these old transactions were incorrectly credited to user accounts in their system. Binance has upgraded their nodes to V17.1, initially released on January 21st which resolves the epoch block related rollback issue, and is working to resolve the incorrect deposits that occurred on user accounts. We are also in the process of assisting them in a review and update of their wallet implementation of Nano. Normal operations for Binance will resume once the situation is fully resolved.
After thorough code reviews, we identified an issue where the node would incorrectly determine that two blocks conflicted. The node detects conflicts between blocks by comparing the block’s “root” for equality. For non-open blocks, its root is the hash of the previous block (block hash root). For account-open blocks, the root is the account numbers public key hash (account number root).
The conflict detection code relies on the impossibility of having a block hash equal an account number’s public key hash. This impossibility exists because block hashes are random and it would not be possible to produce a public key hash for a chosen account number by the account signer since this would require deriving a private key from a public key. When epoch blocks were introduced, this impossibility no longer applied because an account can be opened by a signer other than the account signer, which is the epoch signer.
So the following conditions must be in place for this issue to have the potential to occur:
In addition to these conditions, a specific series of events had to occur to cause the incidents: some nodes would have to receive the epoch block before a majority of the network had seen it. Within this timeframe it must have sent a query out to at least one node that had not yet received the epoch block which would then have responded with the old block it thought was in conflict and this would have been added to the local election. Once both were in the election and the epoch block received sufficient quorum, it would initiate a rollback of the old block thinking this was necessary to fit the epoch block. Since this rollback was actually unnecessary as there is no conflict, subsequent bootstrapping would have inserted the old block again and the node would recover.
V17.1 was released to resolve the issue, preventing the node from seeing conflicts between roots that are account number public key hashes and roots that are block hashes. We have been in contact with Binance and other services and exchanges to verify they have upgraded their nodes to this latest version.
It’s important to note: no double spend occurred on the network and the issue was not caused by the 17.0 to 17.1 upgrade.
We want to provide confidence that in the future any key upgrades to the network will happen as broadly and quickly as possible, so we are reviewing our processes to ensure that we have streamlined communications in place for notifying and verifying exchanges and services of these releases going forward.
We will also be following up with additional details and best practices around integrating Nano with exchanges and services in the coming weeks.
Thank you for your patience as we’ve worked through the V17.1 release and upgrade process. We are currently testing our next Dolphin release and look forward to continuing improving the Nano network for everyone.
Incident report: v17.0 local block rollback events and Binance incorrect deposits was originally published in Nano on Medium, where people are continuing the conversation by highlighting and responding to this story.
늘 즐거운 날들 되세요
Community | 스포와이드공지 잘 확인하세요
Community | 토큰뱅크 리워드 시스템 우올~
Community | 스포츠 코인 순 매수왕이 되어 보시렵니까?
와... 이거슨 ..아니지
Community | 레아 프로토콜 이벤트 당첨금이 바뀌었네요 ㅠㅡㅠ
안녕하세요. 토큰뱅크 운영팀입니다. 해당 팀과의 가격 변동에 따라 지급 시점에 맞춘 당첨금액을 지급하는 것으로 변경되어 혼란을 드린 점에 대해 죄송합니다. 기존에 이벤트 공지드렸던 내용에 해당 수량은 해당 팀의 정책으로 인해 시세 변동 및 수량 변동될 수 있다는 점 안내드렸습니다. 현재 레아 프로토콜의 당첨금액 수량인 320 RHEA는 8000원 상당의 시세로 측정되어 산정되었던 수량이며, 해당 수량은 지급 시점에 맞춰 8000원 상당의 RHEA로 지급될 예정입니다. 추후 이와 같은 이벤트 진행 시 변동사항 없이 고객님들에게 충분히 안내된 상태에서 진행할 수 있도록 개선하겠습니다.
Community | 레아 프로토콜 이벤트 당첨금이 바뀌었네요 ㅠㅡㅠ
fastest rising posts
Write a post
Are you sure you want to delete this post?
Are you sure you want to delete this comment?
Purchase has been completed.
닉네임을 설정 후 작성해주세요.