Breaking Beam - Reading Assignment

Read BEAM’s response to that silly takedown article. Answer the questions and post your answers below:

  1. What is a ‘one-kernel transaction’, and why does Grin have so many of them?
  2. What is Beam’s solution to linkability?
  3. What is the minimum number of outputs required for Beam nodes to re-broadcast a transaction?
  4. How does Beam prevent dummy transactions from cluttering up the blockchain?
  5. What protocol will increase the anonymity set of Beam to 100,000+?
  1. A One-kernel transaction is a transaction that was not merged with any other transaction, meaning that inputs and outputs of such transaction are clearly linked. Grin has many of them because it is still not widespread and adopted by enough people.
  2. Beam uses decoy transactions, that are added by nodes during the Dandelion Stem Phase if merged transactions have less than 5 outputs.
  3. To re-broadcast it, it should have at least 5 outputs.
  4. Adding random UTXOs to spend the dummy transactions.
  5. Lelantus-MW
2 Likes

2.The reason for a large amount of such one-kernel transactions being broadcast to the network is that Grin network is not saturated and there are not enough transactions to be merged in the stem phase of Dandelion protocol. As the usage grows, the anonymity will improve.

  1. Beam uses decoy transactions, decoys in Beam make building the transaction graph a probabilistic task, with the probability of a link between two wallets decaying exponentially with the growth of the number of hops.

3.Beam nodes check whether the merged transactions (might be only one transaction) have at least 5 outputs.

  1. By adding dummy UTXOs as inputs to a random transaction, most likely belonging to a different user, thus spending them and removing them from the blockchain, but also creating a relation between users that are in fact unrelated

5.Lelantus-MW will dramatically increase the anonymity set (100K outputs) and will make it almost impossible to build the transactions graph if the user chose to use Lelantus-mw transactions from time to time.

1 Like
  1. What is a ‘one-kernel transaction’, and why does Grin have so many of them?

    A one-kernel transaction is indicates that a transaction was not merged with any other transactions, and thus the inputs of this transaction are linked to its outputs.

    Grin has so many one-kernel transactions because of the network not being saturated enough and not enough transactions to be merged in the stem phase of the Dandelion Protocol

  2. What is Beam’s solution to linkability?

    At every step of the Dandelion Stem Phase, Beam nodes check whether the merged transactions (might be only one transaction) have at least 5 outputs.

    If not, decoy outputs are added to the merged transactions, making sure that the number of outputs is at least 5.

  3. What is the minimum number of outputs required for Beam nodes to re-broadcast a transaction?

    5

  4. How does Beam prevent dummy transactions from cluttering up the blockchain?

    At a later stage (a randomly chosen block height for each output, the node adds dummy UTXOs as inputs to a random transaction, most likely belonging to a different user, thus spending them and removing them from the blockchain, but also creating a relation between users that are in fact unrelated. Hence the “decoys” name.

    It’s important to note that since those decoy outputs are eventually spent, the mechanism doesn’t create any permanent clutter on the blockchain.

  5. What protocol will increase the anonymity set of Beam to 100,000+?

    Lelantus-MW

1 Like
  1. A one-kernel transaction is not mixed with other transactions and sender and receiver can be linked. The GRIN network is not saturated and there are not enough transactions to be merged in the stem phase of Dandelion protocol.
  2. Decoy UTXOs.
  3. 5 outputs.
  4. Decoys in BEAM make building the transaction graph a probabilistic task, with the probability of a link between two wallets decaying exponentially with the growth of the number of hops.
  5. Lelantus-MW
1 Like
  1. A one-kernel transaction is not mixed with other transactions, so the inputs of this transaction are linked to its outputs: lack of anonymity. Grin has so many one-kernel transactions because of the network not being saturated enough and not enough transactions to be merged in the stem phase of the Dandelion Protocol.
  2. Beam solution to linkability is to use decoy transactions. They are are added by nodes during the Dandelion Stem Phase if merged transactions have less than 5 outputs.
  3. At least 5 outputs.
  4. By adding random UTXOs to spend the dummy transactions.
  5. The protocol is Lelantus-MW
1 Like
  1. Only agregated tx are multi-kernel in Grin, in Beam also dual-kernel tx exist for those ‘donations’ that Alice-send-to-Bob while Bob was offline. So one single simple tx is always 1-kernel only at GRIN and most probable also since GRIN network is still very little used.
  2. To use min amount of txouts used decoy txouts whenever needed to fulfill this.
  3. 5 outputs ‘default’ “anonymity set of at least 4 decoy outputs (it’s a configurable number)”
  4. after random time Beam use the decoy outputs(utxo with zero coins) created as decoy inputs (with zero coins), so these get spend inputs and get removed/erased from the blockchain
  5. Lelantus-MW
1 Like
  1. A kernel tx is one that was not merged with any other tx, meaning that inputs and outputs of such transaction are clearly linked. Grin has many of them because it is still not popular.
  2. Beam uses decoy transactions, that are added by nodes during the Dandelion Stem Phase if merged transactions have less than 5 outputs.
  3. At least 5 outputs.
  4. Adding random UTXOs to spend the dummy transactions.
  5. Lelantus-MW
1 Like

1- A one kernel transaction is a transaction that was not merged with any other transactions, and thus the inputs of this transaction are linked to its outputs.
The reason for a large amount of such one-kernel transactions being broadcast to the network is that Grin network is not saturated and there are not enough transactions to be merged in the stem phase of Dandelion protocol. As the usage grows, the anonymity will improve, but currently the anonymity set is very low.

2-At every step of the Dandelion Stem Phase, Beam nodes check whether the merged transactions (might be only one transaction) have at least 5 outputs.If not, decoy outputs are added to the merged transactions, making sure that the number of outputs is at least 5.

3- 5

4- Beam prevents dummy transactions from cluttering up the blockchain by getting the nodes to add dummy UTXOs as inputs to a random transaction, most likely belonging to a different user, thus spending them and removing them from the blockchain, but also by creating a relation between users that are in fact unrelated.

5- Lelantus-MW

1 Like
  1. What is a ‘one-kernel transaction’, and why does Grin have so many of them?
    A one-kernel transaction has not been merged with another transaction, therefore sender and receiver are linkable. The Grin network is not saturated, so there are not many transactions which can be merged during the stem phase of Dandelion.

  2. What is Beam’s solution to linkability?
    Beam creates 4 additional decoy transactions with are merged with a real transaction.

  3. What is the minimum number of outputs required for Beam nodes to re-broadcast a transaction?
    5 outputs

  4. How does Beam prevent dummy transactions from cluttering up the blockchain?
    Decoys are eventually spent, preventing cluttering of the network.

  5. What protocol will increase the anonymity set of Beam to 100,000+?
    Lelantus-MW

2 Likes
  1. What is a ‘one-kernel transaction’, and why does Grin have so many of them?

    • Transactions having one kernel. This indicates that a transaction was not merged with any other transactions, and thus the inputs of this transaction are linked to its outputs.
    • The reason for a large amount of such one-kernel transactions being broadcast to the network is that Grin network is not saturated and there are not enough transactions to be merged in the stem phase of Dandelion protocol.
    • As the usage grows, the anonymity will improve, but currently, as Ivan has shown it, the anonymity set is very low.
  2. What is Beam’s solution to linkability?

    • With dummy UTXO’s. At every step of the Dandelion Stem Phase, Beam nodes check whether the merged transactions (might be only one transaction) have at least 5 outputs. If not, decoy outputs are added to the merged transactions, making sure that the number of outputs is at least 5.
  3. What is the minimum number of outputs required for Beam nodes to re-broadcast a transaction?

    • 5
  4. How does Beam prevent dummy transactions from cluttering up the blockchain?

    • The decoy amounts, which is hidden ofcourse, are 0. Since dummy amounts can thus be spent and are eventually spent, the mechanism doesn’t create any permanent clutter on the blockchain.
  5. What protocol will increase the anonymity set of Beam to 100,000+?

    • Lelantus
1 Like
What is a ‘one-kernel transaction’, and why does Grin have so many of them?

A single kernal transaction indicates a transaction which has not yet been merged, so it the outputs must be linked to the inputs. They are numerous because there is not enough transaction volume on the GRIN network.

What is Beam’s solution to linkability?

The use of decoy UTXOs with zero value to ensure every transaction has at least 5 outputs. Since the values are hidden these dummies are indistinguishable from other UTXOs and do not effect the transaction balance.

What is the minimum number of outputs required for Beam nodes to re-broadcast a transaction?
  1. If there are less, dummies are added.
How does Beam prevent dummy transactions from cluttering up the blockchain?

These dummy UTXOs are used at random intervals as dummy inputs to future transactions.

What protocol will increase the anonymity set of Beam to 100,000+?

Lelantus

1 Like
  • What is a ‘one-kernel transaction’, and why does Grin have so many of them?
    The reason for a large amount of such one-kernel transactions being broadcast to the network is that Grin network is not saturated and there are not enough transactions to be merged in the stem phase of Dandelion protocol.

  • What is Beam’s solution to linkability?
    At every step of the Dandelion Stem Phase, Beam nodes check whether the merged transactions (might be only one transaction) have at least 5 outputs.
    If not, decoy outputs are added to the merged transactions, making sure that the number of outputs is at least 5.

  • What is the minimum number of outputs required for Beam nodes to re-broadcast a transaction?
    at least 5.

  • How does Beam prevent dummy transactions from cluttering up the blockchain?
    the node adds dummy UTXOs as inputs to a random transaction, most likely belonging to a different user, thus spending them and removing them from the blockchain,

  • What protocol will increase the anonymity set of Beam to 100,000+?
    Lelantus-MW will dramatically increase the anonymity set (100K outputs) and will make it almost impossible to build the transactions graph if the user chose to use Lelantus-mw transactions from time to time.

1 Like

1. What is a ‘one-kernel transaction’, and why does Grin have so many of them?
A one-kernel transaction is a transaction that has not been merged with any other transactions. Grin has so many of these because the network is not saturated and there are not enough transactions to be merged in the stem phase of Dandelion.

2. What is Beam’s solution to linkability?
Beam’s solution to linkability is the use of decoy UTXO’s that culminate to at least five outputs; thus, Beam links transactions that actually hold no relation.

3. What is the minimum number of outputs required for Beam nodes to re-broadcast a transaction?
The minimum number of outputs required for Beam nodes to rebroadcast a transaction is five.

4. How does Beam prevent dummy transactions from cluttering up the blockchain?
Beam prevents dummy transactions from cluttering up the blockchain by the fact that those dummy outputs either have a value of zero or are eventually spent.

5. What protocol will increase the anonymity set of Beam to 100,000+?
The Lelantus protocol will increase the anonymity set of Beam too 100k+.

1 Like
  1. a 1 kernel transaction is a transaction that has not yet merged with another one. thus it is easy to links the inputs and the outputs
    2.beam uses decoy transactions . beams adds decoy transactions in the stem phase . if the merged transactions have less then 5 outputs, beams adds decoy outputs
    3 5 outputs
    4.by adding random utxo to spend the dummy transactions
    5.lelantus -mw
1 Like
  1. What is a ‘one-kernel transaction’, and why does Grin have so many of them?
    A transaction that is not merged with any other transaction.

  2. What is Beam’s solution to linkability?
    Using dummy decoy UTXOs.

  3. What is the minimum number of outputs required for Beam nodes to re-broadcast a transaction?
    5 outputs.

  4. How does Beam prevent dummy transactions from cluttering up the blockchain?
    Since those decoy outputs are eventually spent, the mechanism doesn’t create any permanent clutter on the blockchain.

  5. What protocol will increase the anonymity set of Beam to 100,000+?
    Lelantus-MW.

1 Like

Q1: A one kernel TX is a TX that was not merged with any other TXs, leaving inputs and outputs exposed.

Q2: With the use of decoy outputs; if a TX has less than 5 outputs decoys are added.

Q3: 5

Q4: Add random UTXOs to account for the decoys in essence cancelling them out

Q5:Lelantus

1 Like
  1. A one-kernel transaction is created when there is a single transaction which makes it easy to link the inputs to the outputs. Grin has a lot of these due to the fact that there is currently not a lot of activity (saturation) of the network, therefor single-transaction blocks are more common.

  2. Beam’s solution to the link-ability problem is mixing decoy transactions in with legitimate ones, increasing the anonymity set.

  3. If a transaction does not have at least 5 outputs, a node will not send it along in stem mode without adding decoy transactions to make it so.

  4. Dummy transactions are actually zero value and will eventually be “spent”.

  5. Beam implemented Lelantus-MW which will dramatically increase the anonymity set to 100,000 or more.

1 Like
  1. A One-kernel transaction is a transaction that was not merged with any other transaction, meaning that inputs and outputs of such transaction are clearly linked. Grin has many of them because it is still not widespread and adopted by enough people.

  2. Beam uses decoy transactions, that are added by nodes during the Dandelion Stem Phase if merged transactions have less than 5 outputs.

  3. Beam nodes check whether the merged transactions (might be only one transaction) have at least 5 outputs.

  4. Adding random UTXOs to spend the dummy transactions.

  5. Lelantus-MW

1 Like
  1. transaction with just 1 output. Grin doesn’t have decoy transactions
  2. Decoy transactions
  3. 5
  4. inputs are added to spend the UTXO’s, for which they are then removed from the blockchain.
  5. Lelantus-MW
1 Like