again
makes it sound that this was a thing in the past now being reactivated, rather than a new thing
again
makes it sound that this was a thing in the past now being reactivated, rather than a new thing
just accrued rewards
just the accrued rewards
under contro
under the control
block
(see figure 7 below).
similarly to
in the same way that
Ethereum 1
so will Ethereum 1 still exist separately after the merge?
miners
so there will be no other miners in Ethereum who are not validators?
is
will be?
on the above figure
in figure 4.
the application of a block to the state on which it is built
I still don't know what this actually entails in the real world, but it might not matter for your purposes
from
upon?
of
of sounds wrong... 'for'?
information
pieces of information
block that immediately proceeds this one, and by
immediately preceding block; by including...
is then
consists of?
ans
typo
,
delete?
as mentioned above
subclause - needs commas
of
really? for inclusion of a bundle just doesn't sound right... presumably there is a technical reason it shouldn't be 'in'...
,
delete comma?
graph
delete?
rewards
comma after rewards
completed
part of me wants to put a comma after completed
carried out
comma after carried out
TODO explicit color for this line.
complete
in
by?
spanning
or scanning? (when I first read spanning, my brain said 'spamming'!) actually, I think spanning is more accurate...
when
as?
contra
contrast
above
in figure 10
that for
including?
The
This?
highest amount of useful data
to the network or to Attestant for the purposes of its evaluation?
results
do you want the link to be simply on the 'viewing and analysis' bit?
was carried out
delete?
effectiveness
is there another word you can use here as you've used effective in the last sentence?
are
italics?
Enough is different from 2020 to consider it worthwhile to re-evaluate
Such evolution of the network means that a re-evaluation is now more than worthwhile.
undre
typo
,
comma necessary?
easily see
see easily
Because this certificate can be considered confidential, Vouch supports the use of Majordomo to store the certificates
Why does this follow?
environment variables, command-line flags
I don't know what these are but presume your readers will?
tegies allow Vouch to be extensible
incomplete fragment?
is available again
becomes available
its
vouch's or the node's?
to best
in order to provide the optimum validating service.
to intelligently decide
intelligently to decide
No movement of keys,
The user need not worry about movement of keys, or multiple instances running at the same time, etc.
requires
simply requires
takes advantage of the optimizations carried out in beacon nodes to provide a fast and efficient validating experience that benefits from the existing diversity of beacon nodes
I still don't really understand what this means
it reduces the potential for failure
the potential for failure is reduced.
as be more of
is far more of a
however validator clients only need to talk to their respective beacon nodes
However, validator clients built by beacon node teams only need to talk to their respective beacon nodes, with whom they [often] share the same codebase.
other,
other.
have to talk to
communicate with
validator client over one provided by the client teams
validator client, such as Vouch, over one provided by the client teams?
or verifying the aggregation of
needs commas around it
, a task that they want to carry out for service resiliency or client diversity purposes,
replace with (a necessary function to ensure service resiliency and client diversity)
Another recent article evaluated the performance of beacon nodes in proposing blocks. It’s conclusion was that any of the beacon nodes examined would be a good choice, however there is still a choice to be made. A better answer would be “don’t choose”: use all of the beacon nodes to ensure diversity and increase reliability. How can Vouch achieve this?
Vouch's ability to work with multiple nodes overcomes an issue unearthed in another recent article that evaluated the performance... continue as per your para and then delete 'How can vouch achieve this'
independently decide which of the blocks presented it wants to sign
is this bit the 'strategy'?
This avoids Vouch itself becoming a layer that requires diversity3, and in turn benefit from the existing diversity of beacon nodes.
Don't understand this (nor do I understand the link to footnote 3)
considering beacon nodes untrusted entities regarding the data they provide
maybe 'no assumed trust of the data provided by the beacon node'
So what is to be gained by using a dedicated validator client over one provided by the client teams?
You posit a simple question, but the rest of this section does not make the answer obvious to spot. You discuss issues without making it clear that client team validators have them. So it is convoluted.
You need something like:
first para - Firstly, the validator clients provided by the beacon node developers do not separate out the validating and signing functions seen in the diagram above. As we mentioned in our article about Dirk, separating out these functions results in... security domains. Vouch separates out validating and signing functionality by working with Dirk.
[second para] A dedicated validator client such as Vouch will also operate from a separate codebase than that contained in the beacon node. This prevents the inevitable overlap that can occur in many implementations involving validator clients built by the same team as beacon node: configuration directories... [incude rest of your para]
A dedicated validator client also addresses additional areas.
massively vague and unnecessary unless meant as an intro to next para. Which isn't clear
as users start to build their own staking infrastructures they understand that some of their operational requirements are hard to achieve using single-vendor codebases.
don't understand this
As has been mentioned above some of the scores could be artificially high due to lack of intelligent selection of the information included in the block.
And, indeed, as mentioned above, some of the node scores may be artificially high, and, regardless, users should be aware of the possible benefits of lower scores.
What does this tell you
So what does this tell you...
This provided a very brief look at a single aspect of beacon node performance.
From this very brief and specific investigation of beacon node performance, Attestant discovered that whilst each node had strengths and weaknesses, all three nodes performed well.
An outstanding question is if
This raises the question of whether
It can be seen that
delete?
Block proposal time distribution
what is 'ms'?
as the validators were unaware of its existence
not sure you need this bit - tautologous?
in
using
seemed to be
do you need to be that vague or are you wary of the results? If not, 'it was very close at all times' is more accurate from the data.
As a different approach, the scores for each node were summed across all slots to provide a different comparison:
To provide a different comparison, the scores for each node were summed across all slots as follows:
each node’s
...slots for which each node's...
The obvious question to ask from the data is which node provides the best block proposals
Looking at the data, the obvious question to ask is: 'which node provides the best block proposals?'
[though didn't you just say above that you weren't looking at a direct comparison?]
in to
of?
could contain
could have contained
Some reasons why are
This is because:
direct comparison of the results
Then what are you looking at, if not that?
proposer
who is the proposer? the node? because you have spoken of a 'beacon block proposal'?
attester
attester or attestor?
inclusion distance
can't remember what this is from a previous article - worth referencing?
he block given a score
by Attestant as part of its test?
At the beginning of each slot
What slot?
Within the bounds of the available parameters
Does that mean enough to inform the reader of the constraints?
Attestant took a brief look
As part of its ongoing consideration of which beacon nodes to use in its staking service, Attestant has taken a brief look at one aspect of such nodes and presents the results here.
The beacon node is the piece of an Ethereum 2 infrastructure that forms the Ethereum 2 network
Either 'Beacon nodes are an essential component of the Ethereum 2 network.' Or 'Beacon nodes are a fundamental part of the Ethereum 2 network to the extent that it can be said that they are the network.'
secrets management
is this different to distributed key generation?
overhead
?
ll configuration options are available through environment variables, command-line flags or a dedicated configuration file.
I presume this would make sense to people who aren't me...
when configuring, running and monitoring.
delete?
Distributed key generation
refer to previous article again?
Threshold signing is a powerful tool to provide high levels of availability.
Necessary?
If so, change 'to' to 'that'
,
;
to build a valid signature
delete
, however the most important feature it provides is that a strict subset of Dirk instances can create a valid signature.
; here it is sufficient to note that it allows a strict subset of Dirk instances to create a valid signature.
a single point
providing a single target for attackers to attempt to gain access to Dirk's private keys.
It can be seen that simply signing a proposal or attestation without slashing protection takes a couple of milliseconds. Adding in slashing protection increases these numbers, however the vast majority of the additional time is spent in ensuring that the protection is written safely to disk.
Whilst simply signing a proposal or attestation without slashing protection takes a couple of milliseconds, adding in slashing protection significantly increases these numbers. However, most of this additional time is spent in ensuring that [the protection - is this right?] is written safely to disk.
than running without slashing protection
to run.
allowing a “warm standby” configuration without having to worry about two validators running at the same time and generating slashable attestations.
you what now?
describe
describes
Here
Here in figure 3
[^Here, administrator means whomever is running the Dirk instance.]
why has your footnote moved up here?!
and NB - is it obvious who would be running the dirk instance? Is it just attestant or would you sell it to other validator services?
it
that it
stop
to stop
combination of information
what does this actually mean?!
running a service
or who are running...
.
typo
keymanager
it's either key manager or keymanager but not both! You used spacing in the first para...
Clients that want to talk to Dirk over the network require a certificate that provides their identity before sending requests. The process is: the administrator2 generates a master certificate; the administrator generates client certificates and provides them to users; and users send their client certificates with requests.
This is confusing. And once again, I'm unsure what 'client' refers to. And as for your diagram... Maybe I'm missing some context or real life scenario. What is 'test' and 'withdrawal'?
Network access is good, but unrestricted network access is bad.
I get the 'four legs good, two legs bad' thing but do you need a brief addition to say why it's bad?
as new wallet support is added to Dirk
as Dirk adds new wallet support
A wallet implementation could be software or hardware, standalone or distributed, and they are all supported with the same network call to Dirk.
Wallet implementations vary - software or hardware, standalone or distributed - but Dirk will support all of them with the same network call.
Dirk provides access to different wallets without the user needing to know the particular type of wallet.
delete
Why is a gateway necessary? Dirk provides a number of features that are not available if the wallet is on a local filesystem, and can provide higher security and availability than would be possible with such a configuration.
Such a gateway is not necessary but Dirk provides a number of features that simply will not be available if the wallet is on a local filesystem, leading to higher security and availability.
each feature is judged against the principles to see if it adds to or detracts from them: if it adds to them the feature is considered for inclusion,
a feature will only be added if it benefits one of the principles;
if software is going to be part of a long-term infrastructure
delete
Any fault in the validator client has a chance of exposing validating keys, but if the validator does not hold those keys it removes this risk.
There are also security benefits: any fault in the validator client cannot expose the validator keys if it does not hold them.
It will be faster to restart in the case of a crash or server reboot, as it does not need to obtain and decrypt keys.
If the validator client crashes or requires a server reboot, restarting will be much faster as it will not need to obtain and decrypt any keys.
Although there are other keymanagers available,
Ditch this.
both in and out of band
no idea what this means
Access control to the key management features can easily be controlled
Equally, by separating validating and key management, access control...
as if both are active at the same time it presents a slashing risk
to prevent a slashing risk.
If a server does not contain critical data it allows for a more flexible architecture.
What? Don't understand. In fact, why do you even need this sentence?
A dedicated keymanager allows the validator to validate and the keymanager to manage keys. By dedicating Dirk to carrying out key management alone it is easier to manage, has lower code complexity, and is focused on doing its only job. This separation also forces a cleaner architecture, as all communication is carried out over interfaces between Dirk its own clients. This separation extends to the physical realm, where Dirk can run on its own server and serve multiple validator clients.
Again, this is confusing. Is this within the Attestant infrastructure or is Dirk an optional extra that can be provided to those running validators themselves but who want a separate key manager?
Most Ethereum 2 validator clients have key management built in to them, providing mechanisms to create keys and use them to attest. So why use a dedicated keymanager? There are a number of benefits that dedicated key management brings, some of which are outlined below.
This is confusing. Who is the article aimed at? What is the context for Dirk? Is it something that clients of Attestant will have the benefit of?
A previous article discussed the protection of Ethereum 2 validator keys. It described a configuration that provided both security and availability, with threshold signing and distributed key generation. Details of these systems, why they are important and what they provide, are in the previous article, however it did not discuss an implementation that provides this functionality. This article introduces Dirk, a distributed remote keymanager1 that provides these features suitable for a production Ethereum 2 infrastructure.
Clunky. Suggested re-write:
In a previous article, we discussed the protection of Ethereum 2 validator keys and features of a system that would provide both security and availability to a user. Key layers of this security system include threshold signing and distributed key generation. This article introduces Dirk, a distributed remote keymanager [designed or provided by Attestant??] that provides these features within an Ethereum 2 infrastructure.
We are excited to share further metrics
do you mean the ones outlined in this article or others to come? If the former, this sentence needs to begin the paragraph!
find
locate?
there is nothing an attesting validator can do to force inclusion by a block-producing validator.
this sounds bad. does attestant fix this?
a large number of validators
in what? doing what?
validators
delete
included
in the blockchain?
are
is?
As a balance
Instead,
had
was required
attesting
aggregating?
attestation
should be plural?
aggregation
attestation?
chain head
so the chain head is the latest valid block in the chain at the time of attesting? have I understood correctly?
Of specific interest for the purposes of this paper is the chain head vote
Makes it sound like a key focus, but you only mention it here!
in
on?
To measure its performance, attestations included on the Ethereum 2 blockchain are tracked by Attestant.
One of the ways it does this is by tracking attestations included on the Ethereum 2 blockchain so that it can measure its performance [do you mean Attestant's performance or the network? not clear]
puts security of customer funds first and foremost. Notwithstanding this, it carries out various advanced validating strategies to provide customers with higher rewards than would be possible with traditional validating infrastructures
provides the highest levels of security for customer funds whilst also utilising advanced validating strategies to reap higher rewards than would be possible with more traditional validating infrastructures.
(node, cluster and full network)
include bracket after 'scales'
although block production is expected it is not required
? bit vague, plus who or what is responsible for block production?
an aggregator receives an attestation in time to integrate it into the aggregated attestation before broadcasting
that it is received by an aggregator in time for integration into the aggregated attestation before broadcasting.
the aggregator broadcasts an aggregated attestation for block producers to include
broadcast by the aggregator as part of an aggregated attestation for inclusion on the block.
[so aggregration isn't optional?]
Once a validator has generated an attestation it needs to propagate it across the network so it is available for the next block producer to include
Once generated, a validator needs to propagate its attestation across the network so it is available for inlusion in the next block.
the information in the attestation is more useful to the network the sooner it is presented
the sooner the information is presented to the network, the more useful it is.
An arbitrary subset of attesting validators will also be assigned to carry out aggregation duties. Such validators are known as aggregators.
I don't understand these two sentences at all.
This provides a very efficient way of storing many attestations, however does add to the communications and computation burden (more on this below)
Aggregate attestation provides a very efficient way of storage, but there is an additional communciations and computational burden (more on this below).
has two major changes from an attestation
differs in two ways from a simple attestation.
chain it is important to reduce it if possible
... chain, reducing it is important, and this is done...
whose structure of an attestation is shown below
consisting of the elements shown below:
Attestant tracks when attestations are included on the Ethereum 2 blockchain
attestations included on the Ethereum 2 blockchain are tracked by Attestant.
Not sure if this is better, but I definitely don't like 'attestant tracks when' in your version
In order to achieve this
To achieve this,
maximizing
maximise
A fully protected validator key will take all of these areas, and more, in to account.
To fully protect a validator key, a security provider will take all of these areas, and more, into account (including all of the particular circumstances of a particular user).
requirements
security requirements
obtaining it
If this is a summary, you might want to remind people of the indirect losses they might sustain - loss of rewards or slashing penalties.
ha
who
If you have multiple validator keys should they have some sort of relationship, to either each other or to their respective withdrawal keys? Doing so brings no security benefit; if it brings an ease-of-use benefit is up to the individual user to decide. The discussion in the (previous article)[../protecting-withdrawal-keys/] may help the user to decide what they want to do in this situation.
This is so cursory as to be almost useless... Might want to be a little more specific.
Some sort of backup strategy should be put in place
Users will need a back-up strategy,
remote storage
do you not then just present a different target to the attacker, with the same issues as for remote storage of the passphrase?
only those allowed to can access the keys
access to the keys is permitted only to those authorised.
there could be an ease of use benefit
, if can allow faster recoverd of validator clients in case of hardware failure, which is of benefit to the user.
The article discusses remote storage of passphrases
The remote storage of passphrases has been discussed above, but...
some of which are touched on here.
suggests something more than one section on wallets and a catch all costs and benefits section!
Security is a very broad area, and the above information is provided to explain the features and benefits rather than define any sort of perfect, or even best, solution.
features and benefits of various security layers, rather than define...
key generation
add 'from being used'.
process,
add full stop. Then: Old and new keys cannot be combined to generate a valid signature, rendering the key held by the attacker useless.
the old keys
to the old keys
be
can still be
does
can
he weakness of the long-term attack if one of the servers is compromised remains
the perpetual weakness that arises if one of the servers is compromised remains.
down fo
it is down for...
key managers
in the diagram, keymanager is all one word - which is right?
We use the term key manager as the remote servers now carry out more operations than just signing
Didn't they do that at a previous stage, when they were preventing signing of undesirable messages?
starts
begins
generation.
colon?
where
don't like 'where' - replace with 'such that'?
Keys
?? Should this not be 'threshold signatures' or similar?
remote signer
in the diagram you've called them distributed signers
private
diagram shows 'public' key?
the user is still able to sign undesirable messages
I don't fully understand this aspect of the whole affair... does this mean because the user is in charge, rather than a remote signer, the user can make a mistake and sign an undesirable message? Or is this another kind of specific attack?
layer.
colon?
protection.
colon?
it.
colon?
,
can't decide if we need this comma!
representation.
colon instead of full stop?
As mentioned above, a simple scale of security against accessibility is of no use when both are required. Instead,
This is too repetitive. I suggest: To this end, we need...
First
First,
What is the validator key?
Generally, is it possible to get more spacing under or around your titles and sub-headings? They look a bit squashed...
It can immediately be seen that
Replace with 'Thus'
are very high
are also very high
such as blackmail
still don't get how this would work, even briefly