Difference between revisions of "Scalability through Prefix Filtering"
Jump to navigation
Jump to search
JonathanCoe (talk | contribs) (Added diagrams) |
JonathanCoe (talk | contribs) (Added some more content) |
||
Line 8: | Line 8: | ||
== Summary of the proposal == | == Summary of the proposal == | ||
− | * Each Bitmessage address has a 'prefix' and a 'prefix length'. These values determine the balance between anonymity and efficiency that the owner of the address will have when | + | * Each Bitmessage address has a 'prefix' and a 'prefix length'. These values determine the balance between anonymity and efficiency that the owner of the address will have when retrieving messages from the network. |
− | * Each node in the Bitmessage network has a 'prefix' and a 'prefix length'. These values determine what part of the total network traffic the node will handle. | + | * Each node in the Bitmessage network has a 'prefix' and a 'prefix length'. These values determine what part and what proportion of the total network traffic the node will handle. |
− | * | + | * Groups of nodes form overlapping 'streams' based on their prefix values. As the network grows or shrinks, nodes change their stream in order to handle a smaller or greater proportion of the network objet traffic. |
− | * | + | * Nodes maintain long-lived connections to nodes in their own stream and 'nearby' streams that are 'nearby' in the stream hierarchy, but also temporarily connect directly to nodes in any stream when necessary. |
* XXX | * XXX | ||
Revision as of 14:55, 2 February 2015
This page is a proposal or recommendation. Its content is most likely not representing an actual situation.
Contents
Introduction
This page describes a proposal for a way to make Bitmessage scalable.
NOTE: This proposal is not yet complete, as some aspects of proposed system are not yet resolved. Suggestions and contributions are welcome.
Summary of the proposal
- Each Bitmessage address has a 'prefix' and a 'prefix length'. These values determine the balance between anonymity and efficiency that the owner of the address will have when retrieving messages from the network.
- Each node in the Bitmessage network has a 'prefix' and a 'prefix length'. These values determine what part and what proportion of the total network traffic the node will handle.
- Groups of nodes form overlapping 'streams' based on their prefix values. As the network grows or shrinks, nodes change their stream in order to handle a smaller or greater proportion of the network objet traffic.
- Nodes maintain long-lived connections to nodes in their own stream and 'nearby' streams that are 'nearby' in the stream hierarchy, but also temporarily connect directly to nodes in any stream when necessary.
- XXX
Reasoning behind the proposal
XXX
Proposed changes
XXX
XXX
Examples
Example 1
XXX
Example 2
XXX
Example 3
XXX
Notes
XXX
XXX
XXX
XXX
XXX
XXX
Idea: POW variable by prefix specificity
Since
Unresolved Questions
Rules for nodes moving between streams
As the overall size of the network changes, nodes will need to adjust the proportion of the network traffic that they handle. This will require moving between streams. How should this be done?
Rules for addresses moving between streams
As the overall size of the network changes, addresses will need to move between streams in order to preserve the balance between anonymity and efficiency that their owner has selected. How should this be done?