Skip to main content
added 555 characters in body
Source Link
David Schwartz
  • 51.7k
  • 6
  • 108
  • 179

By contrast, if someone claims to have mined a particular block in a system using proof of work, we are automatically guaranteed that we will have universal agreement that the block is valid. If someone does not do the appropriate proof of work, we are automatically guaranteed that we will have universal agreement that the block is invalid. I can easily ensure my node honors all valid blocks and dishonors all invalid blocks, even in the fact of an arbitrary number of hostile adversaries who all lie to me. How can we do that with MAC address validity?

It's surprising how commonly I see algorithms that claim to be able to replace proof of work that begin by assuming we can do things that are in fact precisely the things that proof of work enable us to do.

If we choose option one, the MAC address adds no security at all. If we choose option 2, we risk breaking the consensus algorithm as nodes disagree on which MAC addresses are valid and which aren't and so disagree on which registrations are allowed to vote and which aren't. We would need some protocol to ensure universal agreement by the mutually distrustful participants on which MAC addresses are valid, which we do not have. And if we had such a protocol, why not just use it to agree on which transactions are valid?

Suppose you're a node and someone just introduced a registration with particular MAC address. What process should every node in the network go through to determine whether that MAC address should be allowed or not such that they will all get the same answer, will not shut out legitimate users, and will detect spoofing? How can anyone on the outside tell whether I have one or a hundred machines behind my home router? And we're relying on every participant being able to do so and somehow getting the same answer. It's utterly, comically ridiculous.

It's surprising how commonly I see algorithms that claim to be able to replace proof of work that begin by assuming we can do things that are in fact precisely the things that proof of work enable us to do.

If we choose option one, the MAC address adds no security at all. If we choose option 2, we risk breaking the consensus algorithm as nodes disagree on which MAC addresses are valid and which aren't and so disagree on which registrations are allowed to vote and which aren't. We would need some protocol to ensure universal agreement by the mutually distrustful participants on which MAC addresses are valid, which we do not have. And if we had such a protocol, why not just use it to agree on which transactions are valid?

By contrast, if someone claims to have mined a particular block in a system using proof of work, we are automatically guaranteed that we will have universal agreement that the block is valid. If someone does not do the appropriate proof of work, we are automatically guaranteed that we will have universal agreement that the block is invalid. I can easily ensure my node honors all valid blocks and dishonors all invalid blocks, even in the fact of an arbitrary number of hostile adversaries who all lie to me. How can we do that with MAC address validity?

It's surprising how commonly I see algorithms that claim to be able to replace proof of work that begin by assuming we can do things that are in fact precisely the things that proof of work enable us to do.

If we choose option one, the MAC address adds no security at all. If we choose option 2, we risk breaking the consensus algorithm as nodes disagree on which MAC addresses are valid and which aren't and so disagree on which registrations are allowed to vote and which aren't. We would need some protocol to ensure universal agreement by the mutually distrustful participants on which MAC addresses are valid, which we do not have. And if we had such a protocol, why not just use it to agree on which transactions are valid?

Suppose you're a node and someone just introduced a registration with particular MAC address. What process should every node in the network go through to determine whether that MAC address should be allowed or not such that they will all get the same answer, will not shut out legitimate users, and will detect spoofing? How can anyone on the outside tell whether I have one or a hundred machines behind my home router? And we're relying on every participant being able to do so and somehow getting the same answer. It's utterly, comically ridiculous.

added 662 characters in body
Source Link
David Schwartz
  • 51.7k
  • 6
  • 108
  • 179

We have two choices:

  1. All nodes treat all MAC addresses as valid all the time.

  2. Nodes treat some MAC addresses as invalid.

If we choose option one, the MAC address adds no security at all. If we choose option 2, we risk breaking the consensus algorithm as nodes disagree on which MAC addresses are valid and which aren't and so disagree on which registrations are allowed to vote and which aren't. We would need some protocol to ensure universal agreement by the mutually distrustful participants on which MAC addresses are valid, which we do not have. And if we had such a protocol, why not just use it to agree on which transactions are valid?

I have not reviewed anything else in the paper, but I did skim it and nothing seemed as obviously wrong as this part. I have to wonder if this part of the paper was written by someone who didn't understand the problem the paper is trying to solve.

I have not reviewed anything else in the paper, but I did skim it and nothing seemed as obviously wrong as this part. I have to wonder if this part of the paper was written by someone who didn't understand the problem the paper is trying to solve.

We have two choices:

  1. All nodes treat all MAC addresses as valid all the time.

  2. Nodes treat some MAC addresses as invalid.

If we choose option one, the MAC address adds no security at all. If we choose option 2, we risk breaking the consensus algorithm as nodes disagree on which MAC addresses are valid and which aren't and so disagree on which registrations are allowed to vote and which aren't. We would need some protocol to ensure universal agreement by the mutually distrustful participants on which MAC addresses are valid, which we do not have. And if we had such a protocol, why not just use it to agree on which transactions are valid?

I have not reviewed anything else in the paper, but I did skim it and nothing seemed as obviously wrong as this part. I have to wonder if this part of the paper was written by someone who didn't understand the problem the paper is trying to solve.

added 558 characters in body
Source Link
David Schwartz
  • 51.7k
  • 6
  • 108
  • 179

While I make no comments about the rest of the paper, that part of the paper is complete nonsense. Here's the excerpt:

It is possible to recognise a host in the network which has changed its MAC address. For example, Cisco Port-Security allows to prevent hosts from changing MAC address on a port. So, we can control the spam transactions with supporting fee-free transactions at the same time.

This is wrong for many reasons. The simplest one is this -- port security allows the person who operates a particular network device to tell if any of its ports are now being used by a device with a different MAC address. This is useless in a bitcoin-like network for a very obvious reason: MAC addresses are purely local to a single network.

Say I change my MAC address from A to B. This is only detectable on my local network. It cannot be detected outside of that network. So unless whoever operates my local network is trusted by the consensus scheme to specify what MAC addresses I may or may not use, the information that my MAC address changed is useless. Only one network operator has that information, and nobody has any particular reason to trust them if they try to report that information.

There is no decentralized way to authenticate MAC addresses or of preventing them from being changed, so a MAC address can never be trusted by a decentralized algorithm.

Say I operate the connection between two networks, A and B. Or even say I don't operate such a connection. There is no decentalized way to tell that I don't operate such a connection between networks. Maybe network B is real. Maybe it's fake. But if I tell network A (or anyone else in the world) that network B has 17,000 different MAC addresses, how can a decentralized system know that I'm lying?

Proof of work can be used to establish a consensus because there is no way two honest nodes can disagree over what is valid proof of work and what isn't. Proof of work serves as an indisputable arbiter of truth for all honest nodes in the network. But there is no way for all honest nodes in a network to agree whether a particular MAC addresses is legitimately owned by someone claiming it. So there is simply no way a MAC address can play any role in a consensus algorithm without some other consensus algorithm to get people to agree on which MAC addresses are validly owned and who they're owned by. What happens if nodes disagree on whether someone is entitled to claim a MAC address or not entitled to? How will they stay in consensus?

The problem of agreeing on whether a MAC is legitimate or spoofed (in the face of a large number of hostile adversaries) is no easier than agreeing which transactions are valid in a similar environment. So any method of agreeing on which transactions are valid that requires us to already agree on which MACs are valid would be utterly useless.

It's surprising how commonly I see algorithms that claim to be able to replace proof of work that begin by assuming we can do things that are in fact precisely the things that proof of work enable us to do.

How do we ensure that all honest participants will agree on which MACs are valid and which are not, even if the network has lots of dishonest participants? And if honest participants can't agree on whether a MAC is valid or not (and there is no known way for them to do this) then what purpose does the MAC address serve?

I have not reviewed anything else in the paper, but I did skim it and nothing seemed as obviously wrong as this part. I have to wonder if this part of the paper was written by someone who didn't understand the problem the paper is trying to solve.

While I make no comments about the rest of the paper, that part of the paper is complete nonsense. Here's the excerpt:

It is possible to recognise a host in the network which has changed its MAC address. For example, Cisco Port-Security allows to prevent hosts from changing MAC address on a port. So, we can control the spam transactions with supporting fee-free transactions at the same time.

This is wrong for many reasons. The simplest one is this -- port security allows the person who operates a particular network device to tell if any of its ports are now being used by a device with a different MAC address. This is useless in a bitcoin-like network for a very obvious reason: MAC addresses are purely local to a single network.

Say I change my MAC address from A to B. This is only detectable on my local network. It cannot be detected outside of that network. So unless whoever operates my local network is trusted by the consensus scheme to specify what MAC addresses I may or may not use, the information that my MAC address changed is useless. Only one network operator has that information, and nobody has any particular reason to trust them if they try to report that information.

There is no decentralized way to authenticate MAC addresses or of preventing them from being changed, so a MAC address can never be trusted by a decentralized algorithm.

Say I operate the connection between two networks, A and B. Or even say I don't operate such a connection. There is no decentalized way to tell that I don't operate such a connection between networks. Maybe network B is real. Maybe it's fake. But if I tell network A (or anyone else in the world) that network B has 17,000 different MAC addresses, how can a decentralized system know that I'm lying?

Proof of work can be used to establish a consensus because there is no way two honest nodes can disagree over what is valid proof of work and what isn't. Proof of work serves as an indisputable arbiter of truth for all honest nodes in the network. But there is no way for all honest nodes in a network to agree whether a particular MAC addresses is legitimately owned by someone claiming it. So there is simply no way a MAC address can play any role in a consensus algorithm without some other consensus algorithm to get people to agree on which MAC addresses are validly owned and who they're owned by. What happens if nodes disagree on whether someone is entitled to claim a MAC address or not entitled to? How will they stay in consensus?

While I make no comments about the rest of the paper, that part of the paper is complete nonsense. Here's the excerpt:

It is possible to recognise a host in the network which has changed its MAC address. For example, Cisco Port-Security allows to prevent hosts from changing MAC address on a port. So, we can control the spam transactions with supporting fee-free transactions at the same time.

This is wrong for many reasons. The simplest one is this -- port security allows the person who operates a particular network device to tell if any of its ports are now being used by a device with a different MAC address. This is useless in a bitcoin-like network for a very obvious reason: MAC addresses are purely local to a single network.

Say I change my MAC address from A to B. This is only detectable on my local network. It cannot be detected outside of that network. So unless whoever operates my local network is trusted by the consensus scheme to specify what MAC addresses I may or may not use, the information that my MAC address changed is useless. Only one network operator has that information, and nobody has any particular reason to trust them if they try to report that information.

There is no decentralized way to authenticate MAC addresses or of preventing them from being changed, so a MAC address can never be trusted by a decentralized algorithm.

Say I operate the connection between two networks, A and B. Or even say I don't operate such a connection. There is no decentalized way to tell that I don't operate such a connection between networks. Maybe network B is real. Maybe it's fake. But if I tell network A (or anyone else in the world) that network B has 17,000 different MAC addresses, how can a decentralized system know that I'm lying?

Proof of work can be used to establish a consensus because there is no way two honest nodes can disagree over what is valid proof of work and what isn't. Proof of work serves as an indisputable arbiter of truth for all honest nodes in the network. But there is no way for all honest nodes in a network to agree whether a particular MAC addresses is legitimately owned by someone claiming it. So there is simply no way a MAC address can play any role in a consensus algorithm without some other consensus algorithm to get people to agree on which MAC addresses are validly owned and who they're owned by. What happens if nodes disagree on whether someone is entitled to claim a MAC address or not entitled to? How will they stay in consensus?

The problem of agreeing on whether a MAC is legitimate or spoofed (in the face of a large number of hostile adversaries) is no easier than agreeing which transactions are valid in a similar environment. So any method of agreeing on which transactions are valid that requires us to already agree on which MACs are valid would be utterly useless.

It's surprising how commonly I see algorithms that claim to be able to replace proof of work that begin by assuming we can do things that are in fact precisely the things that proof of work enable us to do.

How do we ensure that all honest participants will agree on which MACs are valid and which are not, even if the network has lots of dishonest participants? And if honest participants can't agree on whether a MAC is valid or not (and there is no known way for them to do this) then what purpose does the MAC address serve?

I have not reviewed anything else in the paper, but I did skim it and nothing seemed as obviously wrong as this part. I have to wonder if this part of the paper was written by someone who didn't understand the problem the paper is trying to solve.

added 1 character in body
Source Link
David Schwartz
  • 51.7k
  • 6
  • 108
  • 179
Loading
Source Link
David Schwartz
  • 51.7k
  • 6
  • 108
  • 179
Loading