505 Matching Annotations
  1. Mar 2022
    1. 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

  2. Feb 2022
    1. 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.

  3. Sep 2020
    1. 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

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

    3. , 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)

    4. 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'

    5. 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)

    6. 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]

    7. A dedicated validator client also addresses additional areas.

      massively vague and unnecessary unless meant as an intro to next para. Which isn't clear

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

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

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

    3. 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:

    4. 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?]

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

    6. 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.'

  4. Aug 2020
    1. 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...

    2. , 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.

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

    4. allowing a “warm standby” configuration without having to worry about two validators running at the same time and generating slashable attestations.

      you what now?

    5. [^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?

    6. 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'?

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

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

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

    10. 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;

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

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

    13. 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?

    14. 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?

    15. 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?

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

    1. 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!

    2. 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]

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

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

    5. 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?]

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

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

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

    9. 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).

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

  5. Jul 2020
    1. 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).

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

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

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

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

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

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

    8. 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?

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