Matt Corallo [ARCHIVE] on Nostr: 📅 Original date posted:2013-11-06 📝 Original message:No, the transactions ...
📅 Original date posted:2013-11-06
📝 Original message:No, the transactions relayed are piped through a bitcoind first (ie
fully verified by a bitcoind). For blocks, for which the timing needs to
be tighter, bitcoinj does SPV-validation. Though it is possible to
create a block which passes SPV validation but causes a DoS score, doing
so would cost a miner a full block's worth of profits, which they are
fairly unlikely to do. In any case, if it every becomes a problem, its
not hard to adapt addnode to allow higher DoS scores for individual nodes.
Matt
On 11/06/13 07:25, Tier Nolan wrote:
>
>
>
> On Wed, Nov 6, 2013 at 5:50 AM, Matt Corallo <bitcoin-list at bluematt.me
> <mailto:bitcoin-list at bluematt.me>> wrote:
>
> Relay node details:
> * The relay nodes do some data verification to prevent DoS, but in
> order to keep relay fast, they do not fully verify the data they are
> relaying, thus YOU SHOULD NEVER mine a block building on top of a
> relayed block without fully checking it with your own bitcoin validator
> (as you would any other block relayed from the P2P network).
>
>
> Wouldn't this cause disconnects due to misbehavior?
>
> A standard node connecting to a relay node would receive
> blocks/transactions that are not valid in some way and then disconnect.
>
> Have you looked though the official client to find what things are
> considered signs that a peer is hostile? I assume things like double
> spending checks count as misbehavior and can't be quickly checked by a
> relay node.
>
> Maybe another bit could be assigned in the services field as "relay".
> This means that the node doesn't do any checking.
>
> Connects to relay nodes could be command line/config file only. Peers
> wouldn't connect to them.
Published at
2023-06-07 15:09:12Event JSON
{
"id": "133cea80f3c51abae2ff8ed8b52bf26b64ce4410fbb6e3cfa695fbca12dd79f3",
"pubkey": "cd753aa8fbc112e14ffe9fe09d3630f0eff76ca68e376e004b8e77b687adddba",
"created_at": 1686150552,
"kind": 1,
"tags": [
[
"e",
"1a98a3cfd54df3ed479efd51703516524134bdfd6bb00267750e15ea4fca3178",
"",
"root"
],
[
"e",
"db9c2d824ec0053d3dd8284f126f100eda1b2a8fbdb62d3c66bf733b7da7c5f7",
"",
"reply"
],
[
"p",
"46986f86b97cc97829a031b03209644d134b939d0163375467f0b1363e0d875e"
]
],
"content": "📅 Original date posted:2013-11-06\n📝 Original message:No, the transactions relayed are piped through a bitcoind first (ie\nfully verified by a bitcoind). For blocks, for which the timing needs to\nbe tighter, bitcoinj does SPV-validation. Though it is possible to\ncreate a block which passes SPV validation but causes a DoS score, doing\nso would cost a miner a full block's worth of profits, which they are\nfairly unlikely to do. In any case, if it every becomes a problem, its\nnot hard to adapt addnode to allow higher DoS scores for individual nodes.\n\nMatt\n\nOn 11/06/13 07:25, Tier Nolan wrote:\n\u003e \n\u003e \n\u003e \n\u003e On Wed, Nov 6, 2013 at 5:50 AM, Matt Corallo \u003cbitcoin-list at bluematt.me\n\u003e \u003cmailto:bitcoin-list at bluematt.me\u003e\u003e wrote:\n\u003e \n\u003e Relay node details:\n\u003e * The relay nodes do some data verification to prevent DoS, but in\n\u003e order to keep relay fast, they do not fully verify the data they are\n\u003e relaying, thus YOU SHOULD NEVER mine a block building on top of a\n\u003e relayed block without fully checking it with your own bitcoin validator\n\u003e (as you would any other block relayed from the P2P network).\n\u003e \n\u003e \n\u003e Wouldn't this cause disconnects due to misbehavior? \n\u003e \n\u003e A standard node connecting to a relay node would receive\n\u003e blocks/transactions that are not valid in some way and then disconnect.\n\u003e \n\u003e Have you looked though the official client to find what things are\n\u003e considered signs that a peer is hostile? I assume things like double\n\u003e spending checks count as misbehavior and can't be quickly checked by a\n\u003e relay node.\n\u003e \n\u003e Maybe another bit could be assigned in the services field as \"relay\". \n\u003e This means that the node doesn't do any checking. \n\u003e \n\u003e Connects to relay nodes could be command line/config file only. Peers\n\u003e wouldn't connect to them.",
"sig": "0a627925be97a254c2ca795bdfbbcd3cc556684d923666b5fd38404e28f8980172c0e8fe4d7a8b0283afbf59fb0b0db1de5d992c44c725efe58b9879474cb6e9"
}