Justus Ranvier submitted by
on Mar 17 2015:
-----BEGIN PGP SIGNED MESSAGE-----
The ability of entities with large numbers of nodes to track the
origination of Bitcoin transactions is very similar to an attack on
the Freenet project.
The Freenet project addressed this weakness by via a technique they
called "Darket" - which means that nodes would only connected to a
defined set of trusted peers instead of being open to all connections
(Opennet) An individual Freenet node can operate in Opennet mode, or
Darknet mode, or mixed mode. 
This approach would be beneficial to Bitcoin as well to reduce privacy
leaks due to harvesting attacks.
Allow Bitcoin nodes to create authenticated connections with trusted
peers via CurveCP . Nodes that have at least one CurveCP peer only
broadcast their transactions to those peers.
Use of CurveCP requires both sides of the connection to know each
other's long term public key. This key can be packaged in a structure
similar in concept to a Freenet node reference.
A Bitcoin node reference consists of a JSON structure containing one
or more "externalip" elements followed by one "pubkey" element. The
structure is then clearsigned by the long term CurveCP public key
contained in the "pubkey" element.
Users who wish to set up a secure connection between their nodes would
first use an API command to generate their node references, exchange
these files, and copy them to the ~/.bitcoin/curvecp directory with a
.ref extension. The node only accepts CurveCP connections from, and
attempts CurveCP connection to, peers whose references are present in
Instead of listening both for regular TCP and CurveCP connections on
the same port, CurveCP connections would take place on a separate
port, designated by -bind_curvecp, -port_curvecp, and -externalip_curvecp
If -bind_curvecp is specified, the node will always listen for
incoming CurveCP connections, -listen=0 can be set to disallow
non-authenticated incoming connections.
Relationship with Tor:
This proposal would work along with, or independently of Tor usage.
The same network monitoring techniques which can track an originating
transaction to a particular IP address could do the same thing for a
node which is listening as a hidden service, and any technique for
deanonymising hidden services could then identify the point of origin.
Currently the only way to configure a node to submit its transactions
anonymously to the network is to make the node non-listening, which
means it can not contribute to the network.
This proposal would allow nodes to contribute to the network as
listening nodes, while retaining privacy with regards to transactions
originating from themselves.
CurveCP connections also can be created between full nodes and SPV
nodes, in which case transactions originating from the SPV peers would
be routed as if they originated from the full node.
 http://curvecp.org Justus Ranvier | Monetas <http://monetas.net/>
| Public key ID : C3F7BB2638450DB5
| BM-2cTepVtZ6AyJAs2Y8LpcvZB8KbdaWLwKqc -----BEGIN PGP SIGNATURE-----
-----END PGP SIGNATURE-----
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 18381 bytes
Desc: not available
Every full node must download every transaction. If normal people can't do this, then they can't be full nodes. If there aren't enough full nodes, then miners don't have any incentive to follow the rules. Improvements in the Bitcoin software/network can improve this somewhat, but this technology doesn't exist yet. Even the fairly well-planned ... Ranvier also admits that the costs he is referring to may not be large, but the point he is making is that the costs aren’t zero. A number of other possible criticisms are also addressed by the end of the post. 7. Jeff Garzik (BitPay Co-Founder, Bitcoin Core developer with commit access) Justus Ranvier has added that Full Nodes should get compensated by those operating SPV client wallets. Personally I argue that is not enough incentive because those operating SPV client wallet will of course run 1 full-node + use a Block explorer API for other things if needed. Hence you still end up with few Full-Nodes my theoretical solution would be to modify Full-Nodes to be able to run ... Justus Ranvier: The point is that nobody knows, or can know, the correct number of transactions the Bitcoin network should process, or at what price they should do so. Any attempt to set a protocol-defined policy relating to the block size would require the designers of the policy to solve the economic calculation problem in order to create the ideal policy. For full nodes, with the entire block chain history, fraud is fairly easy to detect. Since they have all the relevant information, they can simply check everything themselves. Or they can detect if information is missing. Where fraud proofs become valuable is for light clients or clients with a sharded or pruned block chain.
The number of confirmations is the number of blocks that have been added to the blockchain after a transaction is confirmed. For example, if a transaction is in one block, it has 1 confirmation ... Satoshi's Vision: Development and Scaling Conference 25 September 2016, San Francisco. How are hashes and transactions determined to be "valid" in Bitcoin? How are nodes determined to be "honest"? How much of this process is automated? Consensus is an agreement on what "valid" is ... A nice less known slow track from the metal core band, Nodes of Ranvier, title is Number Four from the album Self Titled (2003) Of course I don't own the credits of the track, nor the album cover. Number Four - Duration: 4:16. Nodes of Ranvier - Topic 1,407 views. 4:16 . Nodes of Ranvier - Dont Blink (Or We May Miss It) - Duration: 3:51. Rim Tepsik 23,551 views. 3:51. Edifice of Tyranny ...