<p>Imagine an interaction/protocol/technique exists you could perform with a node in the network, and at its conclusion, the interaction teaches you whether the other party is a full node.</p>

<p>Now anyone who wants to pretend to be a full node can simply relay all messages related to this interaction to another full node, and relay its responses back to a potential querier.</p>

<p>So this is effectively vulnerable to a man-in-the-middle attack, but you aren't querying for a particular identity, just whether some computation was performed. As there is no secret data involved here, there is no solution to the problem of one entity pretending to be another.</p>

<p>Overall this shouldn't be a problem; you generally don't care whether someone else is performing full validation; if you would, you could be doing so yourself instead and not care about the behavior of other nodes.</p>

CC BY-SA 4.0
2019-04-20T18:38:55.217Z
2019-04-20T19:19:04.293Z
2019-04-20T19:19:04.293Z
Pieter Wuille
<p>I mean running themselves in a computer they control and not just fetching blockchain data from a public blockchain API or something like that.</p>

<p>I imagine that may be impossible, but there could at least be some operation that is trivial/fast to do with a local full node that's difficult/slow to do with a blockchain API.</p>

CC BY-SA 4.0
2019-04-20T18:36:56.393Z
Prove to whom? It would be easy to prove to someone sitting next to you
chytrik
<blockchain><full-node>
How can a person reasonably prove they're running a full node?
fiatjaf
# How can a person reasonably prove they're running a full node?

(Asked by: username_0 on 2019-04-20)

I mean running themselves in a computer they control and not just fetching blockchain data from a public blockchain API or something like that.

I imagine that may be impossible, but there could at least be some operation that is trivial/fast to do with a local full node that's difficult/slow to do with a blockchain API.

**Tags:** blockchain, full-node

> **Comments:**
> **username_1**: Prove to whom? It would be easy to prove to someone sitting next to you  

---

## 1 answers

### Answer by username_2 on 2019-04-20. Score: 5

Imagine an interaction/protocol/technique exists you could perform with a node in the network, and at its conclusion, the interaction teaches you whether the other party is a full node.

Now anyone who wants to pretend to be a full node can simply relay all messages related to this interaction to another full node, and relay its responses back to a potential querier.

So this is effectively vulnerable to a man-in-the-middle attack, but you aren't querying for a particular identity, just whether some computation was performed. As there is no secret data involved here, there is no solution to the problem of one entity pretending to be another.

Overall this shouldn't be a problem; you generally don't care whether someone else is performing full validation; if you would, you could be doing so yourself instead and not care about the behavior of other nodes.


---

