user41513: The paper that has been published here: https://dl.acm.org/citation.cfm?id=3282283 proposes a consensus algorithm based on distributed voting process in which it claims that it would be possible to detect (and not prevent) MAC address change using Cisco Port Security in a crypto-currency network like Bitcoin network, because this proposed idea is based on one-machine-one-vote and so it is important to detect MAC address change in a Bitcoin-like network.
Do you think it is practicable to detect MAC address change in a network like Bitcoin network? 
I mean assume a node is connected to a network like the Bitcoin network (en.bitcoin.it/wiki/Network), then if this node changes its MAC address, is it possible to notify the rest of Bitcoin network, if Bitcoin network uses Cisco Port Security configuration for detecting MAC address change? Thank you
P.S. MAC address change detection using Cisco Port Security is described here: https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst4000/8-2glx/configuration/guide/sec_port.pdf and here: https://www.cisco.com/c/en/us/td/docs/switches/datacenter/sw/4_1/nx-os/security/configuration/guide/sec_nx-os-cfg/sec_portsec.pdf

user85: 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.
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.
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?
We have two choices:

All nodes treat all MAC addresses as valid all the time.
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?
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.
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.

user36027: No, the paper is based on wrong assumptions and complete misunderstanding of bitcoin and the Internet. There are too many flaws to even list them in the paper. Here are just some of the claims that are wrong:

because of significant latency of proof-of-work for transactions confirmation, this consensus mechanism is vulnerable against doublespending

Double spending is the actual problem that bitcoin solved And the latency does not matter, there are many other coins that reduced the latency and they still need a mechanism to prevent double spending

... This does not seem to be a fair and democratic process. 

This is completely wrong way of thinking, which in having something like democratic process to decide what is the correct ledger. It is like saying that the circumference of the circle should be decided by the majority instead of maths laws.

Because of latency in block generation and transactions confirmation, the scalability is
  another problem of proof-of-work

The proposed solution a slightly crippled proof of stake, but there are many coins that already use proof of stake that cannot be fooled as simply as the one proposed in the paper and they also have scalability problem because that is nature of the blockchain and not of the consensus algorithm.
It is pointless to continue and one can simply reject this idea due to too many flaws in the paper.

Do you think it is practicable to detect MAC address change in a network like Bitcoin network?

no. MAC address is trivial to fake/generate and most importantly, it is not visible to other nodes outside the local network segment. thus cannot be proven or used for consensus

41513: <p>The paper that has been published here: <a href="https://dl.acm.org/citation.cfm?id=3282283" rel="nofollow noreferrer">https://dl.acm.org/citation.cfm?id=3282283</a> proposes a consensus algorithm based on distributed voting process in which it claims that it would be possible to <strong>detect (and not prevent)</strong> MAC address change using <strong>Cisco Port Security</strong> in a crypto-currency network like <strong>Bitcoin</strong> network, because this proposed idea is based on <strong>one-machine-one-vote</strong> and so it is important to <strong>detect</strong> MAC address change in a <strong>Bitcoin-like</strong> network.</p>

<p>Do you think it is practicable to <strong>detect</strong> MAC address change in a network like <strong>Bitcoin network</strong>? </p>

<p>I mean assume a node is connected to a network like the Bitcoin network (en.bitcoin.it/wiki/Network), then if this node changes its MAC address, is it possible to notify the rest of Bitcoin network, <strong>if Bitcoin network uses Cisco Port Security configuration for detecting MAC address change?</strong> Thank you</p>

<p>P.S. MAC address change detection using Cisco Port Security is described here: <a href="https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst4000/8-2glx/configuration/guide/sec_port.pdf" rel="nofollow noreferrer">https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst4000/8-2glx/configuration/guide/sec_port.pdf</a> and here: <a href="https://www.cisco.com/c/en/us/td/docs/switches/datacenter/sw/4_1/nx-os/security/configuration/guide/sec_nx-os-cfg/sec_portsec.pdf" rel="nofollow noreferrer">https://www.cisco.com/c/en/us/td/docs/switches/datacenter/sw/4_1/nx-os/security/configuration/guide/sec_nx-os-cfg/sec_portsec.pdf</a></p>
 85: <p>While I make no comments about the rest of the paper, that part of the paper is complete nonsense. Here's the excerpt:</p>

<blockquote>
  <p>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.</p>
</blockquote>

<p>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.</p>

<p>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.</p>

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

<p>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?</p>

<p>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?</p>

<p>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.</p>

<p>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?</p>

<p>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.</p>

<p>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?</p>

<p>We have two choices:</p>

<ol>
<li><p>All nodes treat all MAC addresses as valid all the time.</p></li>
<li><p>Nodes treat some MAC addresses as invalid.</p></li>
</ol>

<p>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?</p>

<p>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.</p>

<p>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.</p>
 36027: <p>No, the paper is based on wrong assumptions and complete misunderstanding of bitcoin and the Internet. There are too many flaws to even list them in the paper. Here are just some of the claims that are wrong:</p>

<blockquote>
  <p>because of significant latency of proof-of-work for transactions confirmation, this consensus mechanism is vulnerable against doublespending</p>
</blockquote>

<p>Double spending is the actual problem that bitcoin solved And the latency does not matter, there are many other coins that reduced the latency and they still need a mechanism to prevent double spending</p>

<blockquote>
  <p>... This does not seem to be a fair and democratic process. </p>
</blockquote>

<p>This is completely wrong way of thinking, which in having something like democratic process to decide what is the correct ledger. It is like saying that the circumference of the circle should be decided by the majority instead of maths laws.</p>

<blockquote>
  <p>Because of latency in block generation and transactions confirmation, the scalability is
  another problem of proof-of-work</p>
</blockquote>

<p>The proposed solution a slightly crippled proof of stake, but there are many coins that already use proof of stake that cannot be fooled as simply as the one proposed in the paper and they also have scalability problem because that is nature of the blockchain and not of the consensus algorithm.</p>

<p>It is pointless to continue and one can simply reject this idea due to too many flaws in the paper.</p>

<blockquote>
  <p>Do you think it is practicable to detect MAC address change in a network like Bitcoin network?</p>
</blockquote>

<p>no. MAC address is trivial to fake/generate and most importantly, it is not visible to other nodes outside the local network segment. thus cannot be proven or used for consensus</p>
