Could payments between nodes be used to determine the quality and the importance of a node?

Erik Hedman

Member
Dec 27, 2015
27
32
Skövde, Sweden
sauerkraut.se
Hello brain trust!

Ever since there have been nodes trying to promote consensus changes to the network, there have been attempts to spoof the numbers of nodes by using sybil nodes (what I have come to understand is a node connected to a large numbers of unique IP-addresses, and thus it looks like many nodes) or nodes that are pruned and thus do not contribute as much security and service to the rest of the network as a non pruned full node.

I think there will be more attempts to achieve UAF:s (User Activated Fork) in the future, after the BIP 148 UASF (User Activated Soft Fork). So how do we do to evaluate the quality of the service, and thus the importance, a node brings to the network? If somebody tries to do a UAF with 20 000 sybil nodes, you can just disregard and carry on petting your cat. If there are 5000 well connected, high uptime, full nodes that tries a UAF, then you need to listen.

Could it be done by making the nodes buy and sell information from each other? If you get a new block or a new transaction that you confirm is valid, you pay the sender a small amount. If you use public payment channels, nodes that you see get payed more will obviously contribute more service, and are thus more important. 20 000 sybil nodes will probably not contribute more than one single well connected node. A pruned node will contribute somewhere in between.

The payments will then probably flow from non validating wallets, like SPV wallets, to pruned nodes, to full nodes, and ultimately to the miners.

Is it possible? What are the drawbacks? How could it be spoofed? Would it be better to have some P2Pool share chain technology? Some proof of connectivity chain? proof of something else?

Bitcoin Unlimited had in a roadmap the ides to have payment channels between SPV wallets and full nodes, in a way, this is just that idea extended:
https://bitco.in/forum/threads/bitcoin-unlimited-proposed-development-roadmap.1401/
 
Last edited:
  • Like
Reactions: Bloomie

painlord2k

Member
Sep 13, 2015
30
47
You can not do that, because you can link addresses, not nodes.
A node can use a near limitless number of addresses, to make difficult to know what it is doing.

The best idea I have to have (real) users, signalling in favor (or against) something is to have them able to pay a larger fee if the block their transaction is included have some features (vote for something, a certain size, block version, etc.)

this can not be sybillable.
 
  • Like
Reactions: Bloomie

Erik Hedman

Member
Dec 27, 2015
27
32
Skövde, Sweden
sauerkraut.se
Wouldn't it be in every node operators interest to use a single address for the node? That you broadcast the address that you want funds be sent to. Payments to your address would be your reputation and thus it would be in your interest to use one single address for your node.
 

painlord2k

Member
Sep 13, 2015
30
47
A node could tell his address to anyone connecting to it.

The node could offer its services to anything connecting to it able to sign a message with the paying address.