4 ms·
The way I see it --correct me if I am wrong-- is that Ripple has zero defenses against an attacker controlling many public IPv4 or IPv6 addresses and broadcasti
by mrb 13y ago
The way I see it --correct me if I am wrong-- is that Ripple has zero defenses against an attacker controlling many public IPv4 or IPv6 addresses and broadcasting his transactions to effectively control what the consensus is.
IOW, attacker-controlled Ripple nodes can outnumber legitimate Ripple nodes, therefore legit Ripple nodes are forced to accept transactions broadcasted by attacker-controlled nodes.
- kylebrown 13y agoTransactions are accepted if they are signed by private keys, it doesn't matter who broadcasts them. But the reason for fees is to prevent DoS attackers overloading the consensus process with spam transactions. Also, just running a node on an IP address doesn't give you any amount of control. That IP address also has to be other validators' UNL (unique node list).
- mrb 13y agoMy point is that if an attacker controls consensus (by having many IP addresses), he can double spend by signing transactions to send coins to an address, then by spaming the network to change the consensus and re-send the same coins to another address.
- SJoelKatz 13y agoNot so for two reasons. First, the number of IP addresses you have is irrelevant. Trust is weighted by the number of signatures made with keys that a server has chosen to trust. Second, you can't "change the consensus". Once a consensus is reached on a given ledger, it's irrevocable. Every validator that witnesses the consensus signs the resulting ledger providing cryptographic proof that they agreed to that particular consensus. A transaction is not considered confirmed until the server possesses that cryptographic proof.