505 Matching Annotations
  1. Jul 2020
    1. Although this can have an indirect impact on their own wealth with a “Goldfinger attack” or combining an attack of suitable magnitude with suitable derivatives on Ether

      I still don't understand this footnote at all

    2. however a brief functional explanation is useful to explain how it overcomes the limitations of simple threshold signing.

      full stop after article. Then: We will, however, provide a brief functional explanation to show how it can overcome the limitations of simple threshold signing.

    3. decreasing security, or losing the just-obtained ability to protect against signing undesirable messages?

      losing either of the two benefits outlined above?

    4. Has this change really achieved anything, or just moved the attacker’s target so that they have to attack the signer rather than the validator client?

      What stops the attacker simply shifting focus and attacking the remote signer instead of the validator client?

    5. the issue of being unable to sign undesirable messages is still present

      the user is still unable to obtain the decrypted key in order to be able to sign desirable messages. Improved security and accessibility for the user can thus be obtained with an additional remote signer layer.

    6. Moving the decryption passphrase to be remote from the validator client significantly enhances the protections provided by encrypting the validator key

      If the decryption passphrase is stored remotely, encrypting the validator key provides significantly enhanced protection.

    7. But if the validator process can access the key, so can the attacker. This is usually achieved by storing the decryption key on the validator client, which results in many of the attacks remaining.

      But if the validator process can access the key, so too can the attacker, particularly if the decryption key is stored on the validator client which can then be attacked. [I'm nbot sure what you mean by 'which results in the many of the attacks remaining']

    8. It is entirely possible to store this number without any protection, however this would open the key up to a number of simple attacks, for example

      If this key is stored without any protection, it can easily be obtained, and the attacker's goal met, by (for example): delete 'can meet the attacker's goal' in every bullet point

    9. according to the goals the attacker only needs to sign a single arbitrary message to be able to meet their goal

      for the attacker to achieve its goal, it only needs to sign a single arbitrary message, whereas...

    10. It is important to be clear on the purpose of protecting the validator key, because this allows each feature to be weighed against how much it adds to the purpose. This is carried out through the definition of goals.

      First we must define the goals of both the attacker and the user. When we know the reasons for the protection of the validator key, we can consider how much each feature contributes to that purpose.

    11. t is generally considered that the security requirements for validator keys are similar to that for withdrawal keys.

      these diagrams don't seem to follow on easily from your text... you might need at least a colon... and thinking about it, I'm not sure they add anything...

  2. Feb 2020
    1. The more validators that are slashed around the same time, the higher the penalty for all slashed validators.

      refer to your previous article on slashing?

    2. Ethereum 2 uses a measure called effective balance to judge the weight of attestations, and the majority of validators will have a level of inefficiency where their balance is higher than their effective balance.

      I clicked on 'effective balance' to try and understand a bit more about it but the link didn't work. From this para by itself, I have no idea why Ethereum 2 does this.

    3. As such it is prudent to consider the estimated validator return to be a fraction of the maximum validator return

      But isn't this discussed further below? And isn't relevant to the graph that follows?

    4. what can be considered “good” or “bad” for each one.

      i don't like the 'good' and 'bad' bit but struggling to think of something different... how about 'what can be considered a positive or negative outcome for the user in terms of the information given by each one'? or 'what positive or negative information can be gleaned by the user with each one'...

    1. For example, if a validator has a balance of 31.7Ξ its effective balance will be 31Ξ, resulting in it being only 1−31.7−3131=97.7%1−31.7−3131=97.7%1-\frac{31.7-31}{31} = 97.7\% effective.

      If this is the same as the calculation given below, you should maybe not include it as an example until after you've explained how to calculate it.

    2. Staking effectiveness matters because the more Ether used to secure the network the better

      Confused. If this is the case, why not use the higher value as the effective balance?

    3. This could be vulnerable to temporary peaks and troughs in network participation rate, however, so an average participation rate over a time period may provide a more accurate representation. However, as this is a forward-looking metric it will only every be possible to provide an estimate.

      However, even this calculation would be vulnerable to temporary peaks and troughs in the network participation rate; a more accurate representation could be provided by using an average participation rate over time. Even here, however, it will only ever be possible to provide an estimate as this is a forward-looking metric.

    4. Maximum rewards dependent on number of validators (approximate)

      So a validator wants to be on a node with fewer other validators? Does this graph factor in the participation rate or network liveness issues? It's a little vague...

    5. current epoch can be calculated from the three chain values genesis time, seconds per epoch and slots per second, along with the current timestamp

      do you need to explain this further? how do you calculate it with these values?

    6. Network liveness range

      I would delete the good and bad annotations - the colour strip should show that by itself. And the fault at 0% looks out of place (plus, couldn't faults occur in situations where liveness is lower than 50% but not 0?

  3. Jan 2020
    1. Being aware of the conditions required for, and time taken in, transitions between states is vital for ensuring the successful operation of an Ethereum 2 staking infrastructure.

      A bit abrupt! You might want another sentence to conclude.

    2. Annotated validator lifecycle

      again you need a space between the two situations that can lead to exiting, otherwise they look linked

      typo in the bracket under exited

    3. rather than just working its way to the end of the exit queue

      So it doesn't sit in a queue at all? What if there are multiple cheaters all caught at roughly the same time? Will they all exit immediately after 36 days at the same time?

    4. An exiting validator has signalled its intention to stop validating, however whilst in this state it carries on much as before, attesting and proposing as it did when active.

      Whilst an exiting validator has signalled its intention to stop validating, whether voluntarily or otherwise, it does not immediately stop validating. Instead, whilst in the exiting state, it carries on much as before, attesting and proposing as it did when active.

    5. the first situation listed above, where a validator is removed from active validating.

      validator funds dropping below 16E and the validator being added to the exiting queue.

    6. However, becoming a validator, and stopping being a validator, is part of an overall lifecycle that includes various transitions that are generally not well understood.

      However, between the decisions to control a validator and then to cease its control exist various transitions that are generally not well understood.

    1. in early stages

      in the early stages

      does this mean the early stages of Ethereum 2 going live, or that, in every case, rewards can't be withdrawn for a certain period?

    2. It is not so easy to be sure that those 10,000 Ether are definitely controlled by the staking service, that the staking service is unable to withdraw the Ether for themselves, that the staking services’ security is adequate to protect the withdrawal keys from hackers. etc. These difficulties may result in the tokens’ market price being significantly below par.

      am confused - are you saying that the token may have a separate value to the ether that is being held, due to trust issues based on those things? because that is different to your statement in the first line of the para that the token's value is based on the value of the actual Ether held, isn't it?

    3. It is possible for a staker to create their own deposit agreement, or for a service to provide the deposit agreement.

      A staker may create their own deposit agreement or a service can provide it for them.

    4. The risk is that the value of the token depends on the reputation of the service. Because the withdrawal of funds from validators is not managed by a smart contract the asset underlying the token (i.e. staked Ether) is not tied to the token. It would be possible for an untrustworthy service to withdraw all of the staked Ether for themselves, rendering the token worthless. There are also possible tax implications of this action: it is possible that tax authorities look at the exchange of Ether for tokens as selling Ether and buying a token, in which case it becomes a taxable event. Although there is no final word on this, and treatment is likely to be different from one jurisdiction to another, the possibility exists and must be considered.

      can't comment on the rest of it without sorting the whole section.

    5. The benefit of this is that the staker has a fungible asset for their staked Ether: they can sell some or all of it at any time. They can also buy tokens, or fractions of tokens, whenever they wish rather than have to wait until they have 32 Ether to start a new validator.

      Yeah, you need to set this out properly because at current it's too convoluted and I can't follow it. When can they buy tokens? Why would they? How does it fit with staking their funds? And you've mentioned the 32 ether thing with no context for readers who've not read previous articles.

    6. and provide a smart contract that returns tokens for staked Ether. The token represents staked Ether at a certain rate, and as rewards accrue to the service’s validators the value of a token increases in terms of Ether. When a staker wishes to withdraw funds they can do so by selling the token on the open market.

      I get the general gist (to a point) but this needs to be much clearer.

    7. agreement that contains the details of the who will be validating and to where the funds can be returned.

      agreement, which contains the identity of the validator and the place to which funds can be returned.

    8. One other definition is useful: a “staker” is an entity that provides the funds with which validation occurs.

      This only helps if you know what validation is...

    9. Any staking service will have a number of features, including control of the deposit, control of the validator, access to staked funds, and payment for the service (cumulatively known as the “model”) . Each of these features can be done in different ways, resulting in many possible staking services. There is no single “best” model for a staking service. Each model has its own characteristics, and will suit different types of investor. Indeed, if too much staked Ether uses a single model it will create a frailty in Ethereum, where a single failure could result in a large percentage of validators going offline at the same time.

      This whole paragraph is quite confused. Can someone ask a staking service to carry out just one feature, even if they operate others? It's so vague I'm not completely sure what you're trying to say, so can't attempt to rewrite it.

    1. , however

      I would change the comma to a semi-colon and continue: however, this requires monitoring systems that themselves require management and maintenance

    2. These models provide a dilemma, because having more connections to other nodes provides a more up-to-date view of the network, gives less reliance on any single node to share information, and ultimately results in higher rewards. However, these come at the cost of paying the hosting company. Ultimately the consideration of increased cost with increased reward will need to be examined to pick a suitable balance.

      I don't understand this point.

    3. they can only do so once a suitable server has been selected

      and this still needs to be done by the user? Again, without a handle on the general process, this is confusing.

      But that could just be because I am a Kaz of little Brain.

    4. that may need to be made that can influence your decision, from the physical size of the server to the amount of power it requires (more on this below).

      this whole sentence is very vague and confusing.

    1. his is likely to be on-going work but early definitions will need to come in the second or third quarter of 2020 to allow implementation and testing.

      Work remains ongoing but early definitions will need to arrive in the second or third quarters of 2020 to allow for implementation and testing.

    2. have been on-going at the same time as phase 0 design and implementation however are significantly less mature and still undergoing significant changes.

      The design of phases 1 and 2, despite running at the same time as phase 0 design and implementation, is far less advanced and still undergoing significant changes.

    3. but as the changes in the design reduce to bug fixes and necessary optimizations the time between a new version of the specification being made and code running to that specification will reduce to a matter of days

      this is a bit convoluted and I'm still not entirely sure what you're getting at

  4. Dec 2019
    1. here have been a number of suggestions how to merge Ethereum 1 and Ethere

      Currently, the most promising suggestion on how to merge Ethereum 1 with Ethereum 2 is to bring Ethereum 1 under Ethereum 2 without the need to recreate an Ethereum 1 execution environment. Whilst there is no guarantee that this will turn out to be the final design, the general push to accelerate...

    2. Design of some of these more common special-purpose, as well as the general-purpose, execution environments will require significant work, not least to attempt to define what each features each execution environment should and should not have.

      Significant work is still required on the design of the general-purpose execution environment and, particularly, on the design of some of the more common function-specific environments, not least to attempt to define the specific features of each execution environment.