Ulf has been performing tests of block witness calculations on real-world data. The results have given some new ideas about how to proceed. Time spent: 40 hours
The MetaTx’s TTL is done and merged. Dimitar fixed some intermittent test failures in CI. The huge chunk of time went into introducing a new P2P info message. It is backwards compatible and would be used to monitor the health of the network. This is in a PR and a corresponding protocol PR is yet to be prepared. Time spent: 40 hours
No progress from Hans Svensson and Dincho Todorov.
Ulf made some progress with block witness calculation, and resolved to extend the existing garbage collector. He also assisted in analysis and mitigation of the network attack and analysed ways to protect against database corruption in the ae database. Time spent: 42 hours
Dimitar spent his time mostly attending the emergency situation and providing the new p2p message in the noise protocol. The latter was merged only this week so you will also see it in the next update as well. Time spent: 40h
Dincho fixed the DB snapshots, he healed some seed nodes and did a proper maintenance to whole regions. He also spent some time doing monitoring checks. Time spent 15 hours.
Hans Svensson did not contribute to the project last week, we could expect more involvement from him after the holidays
Hi all. Our progress for the passed week. The highlight for sure would be that we produced a release candidate for 5.6. It includes a lot of changes, some visible for users, and some - not. Hopefully we will not see a corrupted database anymore. Please note that this is a pre-release and tests would be ran on it for us to make sure it is stable. Please do not update your nodes yet
Ulf helped investigate causes of database corruption, supported in the post-attack analysis and continued working on the garbage collector and block witness production. Time spent: 32 hours
Dimitar finished the new p2p info message which is merged. Dimitar fixed an inconsistency in the /status endpoint, also not yet merged. Dimitar merged some improvements of the spec of aec_conductor_sup, also merged but not in the scope of the release candidate. Speaking of which, Dimitar also produced the release candidate. Time spent: 44 hours
Dincho did a lot of work for the release: first he healed some nodes, he improved the CI, he did some tests, published the release candidate and deployed it on an integration node where it is left to sync the whole chain from the genesis block. Time spent: 21 hours
Hans is on his Christmas vacation, no update from him.
I forgot to mention that this is thanks to @gorbak25’s fix. Since he is not subject to this proposal, I did not get into details but later on felt like I missed him here Kudos to @gorbak25!
Ulf continued working on refactoring the database support for extended garbage collection. This involves doing some adaptations to new features of rocksdb that should also improve robustness. Time spent: 26.5 hrs
Hi @dimitar.chain@uwiger@philipp.chain@YaniUnchained @ lydia and all the AE team members,Wish you all a nice vacation,Thanks for your efforts in the past,we are looking forward to you AE team surprise in 2021,don’t let those people down who believe in AE.
@Fee.chain nope, I had developed flu-like symptoms and I’ve eventually lost the sense of taste. The PCR test was negative so I am not sure what I had caught. I am back now and I am collecting input from team members.
Thanks. I was feeling sick during the emergency situation but I thought it was from the lack of sleep. Only later I found out my wife was having the same symptoms… We didn’t have any symptoms yesterday already (except my lack of sense of taste) but I took yesterday off as well. Today I feel fine and I am back to contributing to the ecosystem.
So here is our update for the past week. Last week I promised you an update, more interesting than the past ones. Hell, was I right
As you all know we were about to release 5.6.0 which had been in making for quite some time now. We were discussing attack detection algorithms and even started writing a proposal for some of those. The basic research for this lead up to us being pretty sure an attack is to follow soon so we started preparing an emergency release to mitigate it. The strategy proposed by @gorbak25 was quite successful, the ecosystem members gathered around the Aeternity Anstalt and the Foundation and the rest is history. Now we have the tools to fight such attacks efficiently.
Ulf initially did some more work on refactoring the database support, then shifted his focus to preventing the 51% attack. After the attack had been successfully mitigated, Ulf started prototyping a solution for dynamic fork resistance. The idea is documented in issue 3463 and a draft implementation can be inspected in corresponding PR Time spent: 42 hours
Hans did some work on AENS pointers which are in a PR 3447, fixed the enact issue on MacOS (which is merged). He also did help with the 51% attack testing. A total of 16 hours.
Dincho did all of his magic with 5.6.0 release and its successors all the way till 5.6.3.1. He participated in most of the discussions and helped with monitoring. A total of 36 hours.
Dimitar finished the make inner transaction invalid, did some preparations for 5.6.0 and happily started on providing “sync only headers” functionality for the fast sync. Then he committed to the attack prevention. A total of 64 hours.
Hopefully next week’s update will be not that exciting.
Dincho fixed DB snapshot production, did some nodes fixes. He also updated rebar3 and introduced an automated versioning. The latter is really convenient and would reduce the risk of errors while preparing a release. Time spent: 11.5 hours
Dimitar fixed the DB issue identified the previous week. He also introduced the feature of delegates to be able to snapshot and started working on allowing them to do a force progress. This happens to be a large can of worms that required some refactoring, only a small fraction of which was done during the last week. Time spent: 41.5 hours
Ulf implemented support for a finalized height, which follows the fork resistance height. This has now been merged into master. He also created an extension script for updating the whitelist, which could have worked as a stop-gap solution, while waiting for the finalized height support. Time spent: 40.5 hours
Ulf worked on a node extension script for rolling back the database to a safe state. The need for this was highlighted recently when some users suffered very long download times for new backups, and a custom rollback measure was implemented for the specific situation. As part of this work, Ulf has also worked on a more structured approach to extension scripts, in order to make it easier to add and maintain them in the future. Time spent: 38 hours.
Dimitar wrapped around the delegates refactoring. This is required either polluting the API or refactoring it. Thus Dimitar started the migration from swagger 2 to OAS3. This is intended to go to iris. Time spent: 40 hours.
Dincho was on a vacation and Hans did not have time to contribute to the project.