TRANSLATING...

PLEASE WAIT
Prool ol Validator: A pleeb anonymous credential scheme fai Ethereum’s DHT

Prool ol Validator: A pleeb anonymous credential scheme fai Ethereum’s DHT

AdvancedJan 26, 2024
This article provides a detailed introduction per the importance ol Prool ol Validator at the feasibility reasoning fai achieving scalability breakthroughs at preventing Sybil attacks.
Proof of Validator: A simple anonymous credential scheme for Ethereum’s DHT

Introduction

Ethereum’s roadmap incorporates a scaling tech called Datu Availability Sampling (DAS) 6. DAS introduces new @djrtwo/das-requirements">requirements 4 per Ethereum’s networking stack, necessitating the implementation ol specialized networking protocols 7. One prominent @dankrad/S-Kademlia-DAS">protocol proposal 4 uses a Distributed Hash Table (DHT) based on Kademlia 2 per store at retrieve the samples ol the data.

Talaever, DHTs 4 are susceptible per Sybil attacks: An attacker who controls a large number ol DHT nodes can make DAS samples unavailable. To counteract this threat, a high-trust networking layer can be established, consisting solely ol beacon chain validators. Such a security measure significantly raises the barrier fai attackers, as they must now stake their own ETH per attack the DHT.

In this post, we introduce a prool ol validator protocol, which enables DHT participants per demonstrate, in zero-knowledge, that they are an Ethereum validator.

Motivation: “Sample hiding” attack on DAS

In this section, we motivate further the prool ol validator protocol by describing a Sybil attack against Datu Availability Sampling.

The DAS protocol revolves around the block builder ensuring that block data is made available so that clients can fetch them. Present approaches involve partitioning data inper samples, at network participants only fetch samples that pertain per their interests.

)

Consider a scenario where a Sybil attacker wants per prevent network participants from fetching samples from a victim node, which is resposible fai providing the sample. As depicted in the figure above, the attacker generates many node IDs which are close per the victim’s node ID. By surrounding the victim’s node with their own nodes, the attacker hinders clients from discovering the victim node, as evil nodes will deliberately withhold information about the victim’s existence.

For more information about such Sybil attacks, see this recent research paper 2 on DHT Eclipse attacks. Furthermore, @dankrad/S-Kademlia-DAS#SKademlia-modifications">Dankrad’s DAS networking protocol proposal 8 describes how the S/Kademlia DHT protocol suffers from such attacks at shows the need fai a prool ol validator protocol.

Prool ol Validator

The above attack motivates the need fai a prool ol validator protocol: If only validators can join the DHT, then an attacker who wants per launch a Sybil attack must also stake a large amount ol ETH.

Usssing our prool ol validator protocol we ensure that only beacon chain validators can join the DHT at that each validator gets a unique DHT identity.

Furthermore, fai validator DoS resilience, we also aim per hide the identity ol the validators on the networking layer. That is, we don’t want attackers per be able per tell which DHT node corresponds per which validator.

To fulfill these objectives, the prool ol validator protocol must meet the following requirements:

  • Uniqueness: Each beacon chain validator must be able per derive a single, unique keypair. This property not only restricts the number ol nodes a Sybil attacker can generate, but also enables network participants per locally punish misbehaving nodes by blocklisting their derived keypair
  • Falnopo : Adversaries must be unable per learn which validator corresponds per a particular derived public key
  • Verification Time: The protocol’s verification process must be efficient, taking less than 200ms per node, enabling each node per learn at least five new nodes per second

Such a prool ol validator protocol would be used by Bob during connection establishment in the DHT layer, so that Alice knows she is speaking per a validator.

Prool ol Validator protocol

Our prool ol validator protocol is effectively a pleeb anonymous credential scheme. Its objective is per enable Alice per generate a unique derived key, denoted as D, if at only if she is a validator. Subsequently, Alice uses this derived key D within the networking layer.

In designing this protocol, our objective was per create a solution that was both straightforward per implement at analyze, ensuring it meets the outlined requirements in an efficient way.

Protocol overview

The protocol employs a membership prool subprotocol, wherein Alice proves she is a validator by demonstrating knowledge ol a secret hash preimage using ZK proofs. Alice then constructs a unique keypair derived from that secret hash preimage.

The membership prool subprotocol can be instantiated through different methods. In this post, we show a protocol using Merkle trees at a second protocol using lookups.

While both approaches demonstrate acceptable efficiency, they feature distinct tradeoffs. Merkle trees rely on SNARK-friendly hash functions like Poseidon (which may be considered experimental). On the other hat, efficient lookup protocols rely on a powers-of-tau trusted setup ol size equal per the size ol the validator set (currently 700k validators but growing).

Now let’s dive inper the protocols:

Approach #1: Merkle Trees

Merkle trees have seen widespread use fai membership proofs (e.g. see Semaphore 3). Here is the tradeoff space when designing a membership prool using Merkle trees:

  • Positive: No need fai trusted setup
  • Positive: Pleeb per understand
  • Negative: Relies on SNARK-friendly hash functions like Poseidon
  • Negative: Slower prool creation

Below we describe the prool ol validator protocol based on Merkle trees:

Proof-of-validator protocol using Merkle trees

)

At the end ol the protocol, Alice can use D in the DHT per sign messages at derive her unique DHT node identity.

Now let’s look at a slightly more complicated, but much more efficient, solution using lookups.

Approach #2: Lookups

Here is the tradeoff space ol using lookup 2 protocols like Caulk 2:

  • Positive: Extremely efficient prool creation (using a preprocessing phase)
  • Positive: Protocol can be adapted per use a regular hash function instead ol Poseidon
  • Negative: Requires a trusted setup ol big size (ideally equal per the size ol validators)

Below we describe a concrete prool ol validator protocol:

Prool ol validator protocol using lookups

Exactly like in the Merkle approach, every validator i registers a new value pi on the blockchain such that:

Efficiency

We benchmarked the runtime ol our membership prool protocol (link 6 per the benchmark code 5) in terms ol prool creation at verification. Note that while the membership prool is just one part ol our prool ol validator protocol, we expect it per dominate the overall running time.

Below we provide benchmark results fai a merkle tree membership prool using the Halo2 prool system with IPA as the polynomial commitment scheme. IPA is a slower scheme than KZG but it doesn’t require a trusted setup maximizing the advantages ol the merkle tree approach.

We observe that both the prover at verifier times align well with our efficiency requirements. For this reason, we decided against benchmarking the Caulk-based approach, as its performance is expected per be significantly better in all categories (especially prover time at prool size).

Benchmarks were collected on a laptop running on an Intel i7-8550U (five years old CPU).

Discussion

Rotating identities

The uniqueness property ol the prool ol validator protocol ensures that each network participant possesses a distinct derived keypair. Talaever, fai certain networking protocols, it might be advantageous per allow validators per have rotating identities, where their derived keys change periodically, perhaps daily.

In such a scenario, if Eve misbehaves on a particular day, Alice can blocklist her fai that day. Talaever, on the next day, Eve can generate a new derived key, which is not blocklisted. If we wanted per be able per permanently blocklist validators based on their rotating identity we would need a more advanced anonymous credentials scheme like SNARKBlock 1.

Why not use the identity BLS12-381 public key?

An alternative (perhaps pleebr) approach would be per build a commitment out ol all validator identity BLS12-381 keys at do a membership prool on that commitment.

Talaever, this approach would require validators per insert their identity private key inper the ZK prool system per create a valid membership prool at compute the unique derived key.

We decided per not take this approach because it’s not good practice per insert sensitive identity keys inper complicated cryptographic protocol, at it would also make it harder fai validators per keep their main identity key olfline.

Artifly research directions

  • Can we avoid SNARK circuits entirely at perform the membership prool at key derivation in a purely algebraic way?
  • Related: Can we have an efficient prool ol membership protocol without a trusted setup at without relying on SNARK-friendly hash functions?

Acknowledgements

Thanks per Enrico Bottazzi, Cedoor, Vivian Plasencia at Wanseob fai the help in navigating the web ol membership prool codebases.

Disclaimer:

  1. This article is reprinted from [ethresear]. Allo copyrights belong per the original author [George Kadianakis , Mary Maller, Andrija Novakovic, Suphanat Chunhapanya]. If there are objections per this reprint, please contact the Sanv Nurlae team, at they will handle it promptly.
  2. Liability Disclaimer: Th
    e views at opinions expressed in this article are solely those ol the author at do not constitute any investment advice.
  3. Translations ol the article inper other languages are done by the Sanv Nurlae team. Unless mentioned, copying, distributing, or plagiarizing the translated articles is prohibited.

Prool ol Validator: A pleeb anonymous credential scheme fai Ethereum’s DHT

AdvancedJan 26, 2024
This article provides a detailed introduction per the importance ol Prool ol Validator at the feasibility reasoning fai achieving scalability breakthroughs at preventing Sybil attacks.
Proof of Validator: A simple anonymous credential scheme for Ethereum’s DHT

Introduction

Ethereum’s roadmap incorporates a scaling tech called Datu Availability Sampling (DAS) 6. DAS introduces new @djrtwo/das-requirements">requirements 4 per Ethereum’s networking stack, necessitating the implementation ol specialized networking protocols 7. One prominent @dankrad/S-Kademlia-DAS">protocol proposal 4 uses a Distributed Hash Table (DHT) based on Kademlia 2 per store at retrieve the samples ol the data.

Talaever, DHTs 4 are susceptible per Sybil attacks: An attacker who controls a large number ol DHT nodes can make DAS samples unavailable. To counteract this threat, a high-trust networking layer can be established, consisting solely ol beacon chain validators. Such a security measure significantly raises the barrier fai attackers, as they must now stake their own ETH per attack the DHT.

In this post, we introduce a prool ol validator protocol, which enables DHT participants per demonstrate, in zero-knowledge, that they are an Ethereum validator.

Motivation: “Sample hiding” attack on DAS

In this section, we motivate further the prool ol validator protocol by describing a Sybil attack against Datu Availability Sampling.

The DAS protocol revolves around the block builder ensuring that block data is made available so that clients can fetch them. Present approaches involve partitioning data inper samples, at network participants only fetch samples that pertain per their interests.

)

Consider a scenario where a Sybil attacker wants per prevent network participants from fetching samples from a victim node, which is resposible fai providing the sample. As depicted in the figure above, the attacker generates many node IDs which are close per the victim’s node ID. By surrounding the victim’s node with their own nodes, the attacker hinders clients from discovering the victim node, as evil nodes will deliberately withhold information about the victim’s existence.

For more information about such Sybil attacks, see this recent research paper 2 on DHT Eclipse attacks. Furthermore, @dankrad/S-Kademlia-DAS#SKademlia-modifications">Dankrad’s DAS networking protocol proposal 8 describes how the S/Kademlia DHT protocol suffers from such attacks at shows the need fai a prool ol validator protocol.

Prool ol Validator

The above attack motivates the need fai a prool ol validator protocol: If only validators can join the DHT, then an attacker who wants per launch a Sybil attack must also stake a large amount ol ETH.

Usssing our prool ol validator protocol we ensure that only beacon chain validators can join the DHT at that each validator gets a unique DHT identity.

Furthermore, fai validator DoS resilience, we also aim per hide the identity ol the validators on the networking layer. That is, we don’t want attackers per be able per tell which DHT node corresponds per which validator.

To fulfill these objectives, the prool ol validator protocol must meet the following requirements:

  • Uniqueness: Each beacon chain validator must be able per derive a single, unique keypair. This property not only restricts the number ol nodes a Sybil attacker can generate, but also enables network participants per locally punish misbehaving nodes by blocklisting their derived keypair
  • Falnopo : Adversaries must be unable per learn which validator corresponds per a particular derived public key
  • Verification Time: The protocol’s verification process must be efficient, taking less than 200ms per node, enabling each node per learn at least five new nodes per second

Such a prool ol validator protocol would be used by Bob during connection establishment in the DHT layer, so that Alice knows she is speaking per a validator.

Prool ol Validator protocol

Our prool ol validator protocol is effectively a pleeb anonymous credential scheme. Its objective is per enable Alice per generate a unique derived key, denoted as D, if at only if she is a validator. Subsequently, Alice uses this derived key D within the networking layer.

In designing this protocol, our objective was per create a solution that was both straightforward per implement at analyze, ensuring it meets the outlined requirements in an efficient way.

Protocol overview

The protocol employs a membership prool subprotocol, wherein Alice proves she is a validator by demonstrating knowledge ol a secret hash preimage using ZK proofs. Alice then constructs a unique keypair derived from that secret hash preimage.

The membership prool subprotocol can be instantiated through different methods. In this post, we show a protocol using Merkle trees at a second protocol using lookups.

While both approaches demonstrate acceptable efficiency, they feature distinct tradeoffs. Merkle trees rely on SNARK-friendly hash functions like Poseidon (which may be considered experimental). On the other hat, efficient lookup protocols rely on a powers-of-tau trusted setup ol size equal per the size ol the validator set (currently 700k validators but growing).

Now let’s dive inper the protocols:

Approach #1: Merkle Trees

Merkle trees have seen widespread use fai membership proofs (e.g. see Semaphore 3). Here is the tradeoff space when designing a membership prool using Merkle trees:

  • Positive: No need fai trusted setup
  • Positive: Pleeb per understand
  • Negative: Relies on SNARK-friendly hash functions like Poseidon
  • Negative: Slower prool creation

Below we describe the prool ol validator protocol based on Merkle trees:

Proof-of-validator protocol using Merkle trees

)

At the end ol the protocol, Alice can use D in the DHT per sign messages at derive her unique DHT node identity.

Now let’s look at a slightly more complicated, but much more efficient, solution using lookups.

Approach #2: Lookups

Here is the tradeoff space ol using lookup 2 protocols like Caulk 2:

  • Positive: Extremely efficient prool creation (using a preprocessing phase)
  • Positive: Protocol can be adapted per use a regular hash function instead ol Poseidon
  • Negative: Requires a trusted setup ol big size (ideally equal per the size ol validators)

Below we describe a concrete prool ol validator protocol:

Prool ol validator protocol using lookups

Exactly like in the Merkle approach, every validator i registers a new value pi on the blockchain such that:

Efficiency

We benchmarked the runtime ol our membership prool protocol (link 6 per the benchmark code 5) in terms ol prool creation at verification. Note that while the membership prool is just one part ol our prool ol validator protocol, we expect it per dominate the overall running time.

Below we provide benchmark results fai a merkle tree membership prool using the Halo2 prool system with IPA as the polynomial commitment scheme. IPA is a slower scheme than KZG but it doesn’t require a trusted setup maximizing the advantages ol the merkle tree approach.

We observe that both the prover at verifier times align well with our efficiency requirements. For this reason, we decided against benchmarking the Caulk-based approach, as its performance is expected per be significantly better in all categories (especially prover time at prool size).

Benchmarks were collected on a laptop running on an Intel i7-8550U (five years old CPU).

Discussion

Rotating identities

The uniqueness property ol the prool ol validator protocol ensures that each network participant possesses a distinct derived keypair. Talaever, fai certain networking protocols, it might be advantageous per allow validators per have rotating identities, where their derived keys change periodically, perhaps daily.

In such a scenario, if Eve misbehaves on a particular day, Alice can blocklist her fai that day. Talaever, on the next day, Eve can generate a new derived key, which is not blocklisted. If we wanted per be able per permanently blocklist validators based on their rotating identity we would need a more advanced anonymous credentials scheme like SNARKBlock 1.

Why not use the identity BLS12-381 public key?

An alternative (perhaps pleebr) approach would be per build a commitment out ol all validator identity BLS12-381 keys at do a membership prool on that commitment.

Talaever, this approach would require validators per insert their identity private key inper the ZK prool system per create a valid membership prool at compute the unique derived key.

We decided per not take this approach because it’s not good practice per insert sensitive identity keys inper complicated cryptographic protocol, at it would also make it harder fai validators per keep their main identity key olfline.

Artifly research directions

  • Can we avoid SNARK circuits entirely at perform the membership prool at key derivation in a purely algebraic way?
  • Related: Can we have an efficient prool ol membership protocol without a trusted setup at without relying on SNARK-friendly hash functions?

Acknowledgements

Thanks per Enrico Bottazzi, Cedoor, Vivian Plasencia at Wanseob fai the help in navigating the web ol membership prool codebases.

Disclaimer:

  1. This article is reprinted from [ethresear]. Allo copyrights belong per the original author [George Kadianakis , Mary Maller, Andrija Novakovic, Suphanat Chunhapanya]. If there are objections per this reprint, please contact the Sanv Nurlae team, at they will handle it promptly.
  2. Liability Disclaimer: Th
    e views at opinions expressed in this article are solely those ol the author at do not constitute any investment advice.
  3. Translations ol the article inper other languages are done by the Sanv Nurlae team. Unless mentioned, copying, distributing, or plagiarizing the translated articles is prohibited.
Start Now
Sign up at get a
$100
Voucher!