[Completed] Aeternity node maintenance - iris hard fork release candidate

Our progress for the past week:

Ulf Wiger @uwiger

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

Dimitar Ivanov @dimitar.chain

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.

1 Like

Hi all. Our progress report is a bit overdue but it was an intense week. Here it goes:

Ulf Wiger @uwiger

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 Ivanov @dimitar.chain

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 Todorov @dincho.chain

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

5 Likes

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 :slight_smile:

Ulf Wiger @uwiger

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 Ivanov @dimitar.chain

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 Torodov @dincho.chain

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.

5 Likes

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 :slight_smile: Kudos to @gorbak25!

4 Likes

Hi all. It is holidays time but we still managed to squeeze some work in between. You can see our report for the past week below.

Ulf Wiger @uwiger

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

Dimitar Ivanov @dimitar.chain

Mostly worked on a protocol changing bug fix for FP rollback of balances on failed call. Time spent: 6.5 hours

Hans and Dincho are enjoying their vacation time, no progress from them.

2 Likes

Hi @dimitar.chain , What time is the vacation going to finish?

I expect Monday, 4th Jan.

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.

7 Likes

@dimitar.chain @uwiger Happy New Year.Thanks for your works.

Thanks. It was an intense year and we all hope the next one is the year when AE will see the attention it deserves.

A small clarification: Ulf and I are here, contributing. We expect the rest of the team to come back on Monday :slight_smile:

6 Likes

Our progress for the past week:

Ulf Wiger @uwiger

Ulf kept working on the refactoring of the database support. Time spent: 25 hours

Dimitar Ivanov @dimitar.chain

Dimitar fixed a few bugs: FP balances rollback on error #3434, Make inner tx of PayingForTx non-valid #3437 (actually finalised this week) and Add Lima HF explicit settings #3438. The last one was of a particular interest for @marco.chain. Time spent: 41.5 hours

The rest of the maintenance team are now back from their vacation and the next weekly update will be more interesting :slight_smile:

6 Likes

Hello, @dimitar.chain hacking has delayed the progress of the maintenance team?

1 Like

@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.

2 Likes

What a bad news. COVID-19 is epidemic, please pay attention to protection, protect yourself, God bless.

1 Like

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.

2 Likes

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 :smiley:

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 Wiger @uwiger

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 Svensson @hanssv.chain

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 Todorov @dincho.chain

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 Ivanov @dimitar.chain

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.

6 Likes

Hi,

Our progress for last week:

Ulf Wiger @uwiger

Ulf spent most of his time last week prototyping dynamic fork resistance. Time spent: 38.5 hours

Hans Svensson @hanssv.chain

Hans and Ulf Norell worked on removing AEVM for iris. This is not ready yet. Time spent: 3 hours

Dincho Todorov @dincho.chain

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 Ivanov @dimitar.chain

Dimitar was off most of the last week. Once he was back, he helped identifying a DB issue. Time spent: 15 hours

3 Likes

Hi,

Our progress for the last week:

Ulf Wiger @uwiger

Ulf prepared the fork resistance PR #3478 for review. Time spent: 42 hours

Dincho Todorov @dincho.chain

Dincho helped with MDW infrastructure and provided some guidance for @gorbak25 regarding infrastructure. Time spent: 4 hours

Dimitar Ivanov @dimitar.chain

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

Hans was busy with another project.

1 Like

Our progress for the last week:

Ulf Wiger @uwiger

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

Hans Svensson @hanssv.chain

Hans worked on a Sophia task for Properly handle type errors during desugar. Time spent 1 hour.

Dimitar Ivanov @dimitar.chain

Dimitar did the refactoring needed for channel support of delegates per peer. Time spent: 40h

Dincho did not contribute to the project in the last week.

1 Like

Our progress for the last week:

Ulf Wiger @uwiger

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 Ivanov @dimitar.chain

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.

4 Likes