From d81603002d3a28be5596ea6bc397d8a983025dd5 Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 26 Jul 2022 16:16:51 +0100 Subject: [PATCH 1/2] update client diversity page --- .../docs/nodes-and-clients/client-diversity/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/content/developers/docs/nodes-and-clients/client-diversity/index.md b/src/content/developers/docs/nodes-and-clients/client-diversity/index.md index 80e3a73e919..43528c23a07 100644 --- a/src/content/developers/docs/nodes-and-clients/client-diversity/index.md +++ b/src/content/developers/docs/nodes-and-clients/client-diversity/index.md @@ -11,7 +11,7 @@ The behavior of an Ethereum node is controlled by the client software it runs. T ## Prerequisites {#prerequisites} -If you don't already have an understanding of what nodes and clients are, check out [nodes and clients](/developers/docs/nodes-and-clients/). The Beacon Chain is explained [here](/upgrades/beacon-chain/). [Execution](/glossary/#execution-layer) and [consensus](/glossary/#consensus-layer) layers are defined in the glossary. +If you don't already have an understanding of what nodes and clients are, check out [nodes and clients](/developers/docs/nodes-and-clients/). [Execution](/glossary/#execution-layer) and [consensus](/glossary/#consensus-layer) layers are defined in the glossary. ## Why are there multiple clients? {#why-multiple-clients} @@ -31,11 +31,11 @@ Client diversity also offers resilience to attacks. For example, an attack that ### Proof-of-stake finality {#finality} -Ethereum has had 100% uptime since the network began. After The Merge, the risks caused by poor client diversity become more alarming. A critical bug in a consensus client with over 33% of the Ethereum nodes could prevent the Beacon Chain from finalizing, causing Ethereum to go offline. +A bug in a consensus client with over 33% of the Ethereum nodes could prevent the Beacon Chain from finalizing, meaning users could not trust that transactions would not be reverted or changed at some point. This would be very problematic for many of the apps built on top of Ethereum, particularly DeFi. Worse still, a critical bug in a client with a two-thirds majority could cause the chain to incorrectly split and finalize, leading to a large set of validators getting stuck on an invalid chain. If they want to rejoin the correct chain, these validators face slashing or a slow and expensive voluntary withdrawal and reactivation. The magnitude of a slashing scales with the number of culpable nodes with a two-thirds majority slashed maximally (32 ETH). -Although these are unlikely scenarios, the Ethereum eco-system can mitigate their risk by evening out the distribution of clients across the active nodes. Ideally, no consensus client would ever have more than a 33% share of the total nodes. +Although these are unlikely scenarios, the Ethereum eco-system can mitigate their risk by evening out the distribution of clients across the active nodes. Ideally, no consensus client would ever reach a 33% share of the total nodes. ### Shared responsibility {#responsibility} From cbc1c44e33d1adc55eebf3d88e4e34efce6e2670 Mon Sep 17 00:00:00 2001 From: Joshua <62268199+minimalsm@users.noreply.github.com> Date: Wed, 27 Jul 2022 14:38:47 +0100 Subject: [PATCH 2/2] Update src/content/developers/docs/nodes-and-clients/client-diversity/index.md --- .../developers/docs/nodes-and-clients/client-diversity/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/developers/docs/nodes-and-clients/client-diversity/index.md b/src/content/developers/docs/nodes-and-clients/client-diversity/index.md index 43528c23a07..f17e541d618 100644 --- a/src/content/developers/docs/nodes-and-clients/client-diversity/index.md +++ b/src/content/developers/docs/nodes-and-clients/client-diversity/index.md @@ -11,7 +11,7 @@ The behavior of an Ethereum node is controlled by the client software it runs. T ## Prerequisites {#prerequisites} -If you don't already have an understanding of what nodes and clients are, check out [nodes and clients](/developers/docs/nodes-and-clients/). [Execution](/glossary/#execution-layer) and [consensus](/glossary/#consensus-layer) layers are defined in the glossary. +If you don't already understand what nodes and clients are, check out [nodes and clients](/developers/docs/nodes-and-clients/). [Execution](/glossary/#execution-layer) and [consensus](/glossary/#consensus-layer) layers are defined in the glossary. ## Why are there multiple clients? {#why-multiple-clients}