Hi ZmnSCPxj, Thank you for your comments. You raise an important point that I should clarify.
>1. In event of a sybil attack, a fullnode will stall and think the blockchain >has no more miners. You can still attack the full node by feeding it a minority PoW chain, then it won't stall. >2. In event of a sybil attack, an SPV, even using this style, will follow the >false blockchain. Correct, but this false blockchain does need to have valid PoW. So in both cases valid PoW is required to fool nodes. The one difference is that for a full node, the blocks themselves also need to be valid (except for the fact that they are in a minority chain), but the end result is still that a victim can be successfully double spent and lose money. I hope this clarifies why I consider the security for these two situations to be roughly equivalent. In either situation, victims can be fooled into accepting invalid payments. Cheers, Ruben On Mon, Sep 9, 2019 at 6:14 AM ZmnSCPxj <zmnsc...@protonmail.com> wrote: > > Good morning Ruben, > > > > One might intuitively feel that the lack of a commitment is unsafe, > > but there seems to be no impact on security (only bandwidth). The only > > way you can be fooled is if all peers lie to you (Sybil), causing you > > to follow a malicious minority chain. But even full nodes (or the > > committed version of PoW fraud proofs) can be fooled in this way if > > they are denied access to the valid most PoW chain. If there are > > additional security concerns I overlooked, I’d love to hear them. > > > I think it would be better to more precisely say that: > > 1. In event of a sybil attack, a fullnode will stall and think the > blockchain has no more miners. > 2. In event of a sybil attack, an SPV, even using this style, will follow > the false blockchain. > > This has some differences when considering automated systems. > > Onchain automated payment processing systems, which use a fullnode, will > refuse to acknowledge any incoming payments. > This will lead to noisy complaints from clients of the automated payment > processor, but this is a good thing since it warns the automated payment > processor of the possibility of this attack occurring on them. > The use of a timeout wherein if the fullnode is unable to see a new block > for, say, 6 hours, could be done, to warn higher-layer management systems to > pay attention. > While it is sometimes the case that the real network will be unable to find a > new block for hours at a time, this warning can be used to confirm if such an > event is occurring, rather than a sybil attack targeting that fullnode. > > On the other hand, such a payment processing system, which uses an SPV with > PoW fraud proofs, will be able to at least see incoming payments, and > continue to release product in exchange for payment. > Yet this is precisely a point of attack, where the automated payment > processing system is sybilled and then false payments are given to the > payment processor on the attack chain, which are double-spent on the global > consensus chain. > And the automated system may very well not be able to notice this. > > Regards, > ZmnSCPxj _______________________________________________ bitcoin-dev mailing list bitcoin-dev@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev