Bitcoin Forum
May 05, 2024, 05:11:46 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Graphnet: A System for Peer-to-Peer Packet Networking (PRE-PROPOSAL)  (Read 213 times)
tansari (OP)
Newbie
*
Offline Offline

Activity: 10
Merit: 0


View Profile
January 05, 2018, 02:20:40 AM
 #1

I would like to propose a decentralized cryptocurrency, market and transfer protocol for a self-organizing, peer-to-peer packet network.

https://docs.google.com/document/d/e/2PACX-1vS8PCIVcwLTJZQC3uUstnksBbNfGAcWfWrp13IZkNp5G5uezRL3ABB5ZghoOwYBAUak4XBZ9Q6Aldg7/pub

This is a pre-proposal, and as such there are no technical specifications, only a discussion over a hypothetical system which can allow achieving this.

I am publishing it to gather feedback, mainly I want to see if I missed anything for which no obvious solution exist. I am also open to find others who would like to contribute to help fill in the voids for the eventual technical paper and implementation.

Before you ask, there will not be an ICO, as it is a distracting process which I don’t see providing benefits for the establishment of a successful network. If you would like to contribute to the development of this project, you can contribute intellectually or make a personal donation to one of my wallets addresses bellow. Provided there are regular contributors, a nonprofit foundation will be setup to support the ongoing development of the project.

BTC: 1E48iBFm98B3hqjAhPeEDdCVQHYVPFjXQK
ETH: 0xc0bFe51cF2c25b8121DDBa80b3E49f7c985f4Efb
LTC:  LXn8JxbsixHU3oLm66DZHuFDRZykQmi6rk
BitcoinCleanup.com: Learn why Bitcoin isn't bad for the environment
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714929106
Hero Member
*
Offline Offline

Posts: 1714929106

View Profile Personal Message (Offline)

Ignore
1714929106
Reply with quote  #2

1714929106
Report to moderator
neutronwave
Newbie
*
Offline Offline

Activity: 59
Merit: 0


View Profile
January 06, 2018, 02:47:01 AM
 #2

Mesh networking is always a good thing.  How long could a project like this take?
tansari (OP)
Newbie
*
Offline Offline

Activity: 10
Merit: 0


View Profile
January 06, 2018, 03:35:02 AM
 #3

I would like to publish the technical proposal before the end of the year.

After that, a first implementation could be delivered as a wallet, client software network interface, a wireless router firmware/ifsense distro, as well as explorer software for the futures node market. That's a lot of moving parts for a first release, but ideally all these components can be maintained over time by different actors, allowing for software competition and all sort of optimizations around transit fees, application-driven packet priority, custom hardware etc. I haven't decided yet how much surface area should "core" cover, but hopefully it can be progressively reduced to a minimum, focusing on a protocol standard and low-level library.

As you can see that's a lot of moving parts, the a PoC could be another year after the technical paper.

Part of the reason I am doing an early publication is to find people who want to contribute to help meet and possibly accelerate these dates, but more importantly improve the quality of the ultimate system.

In term of project timeline, if you think about it it's not much different from bitcoin, bitcoin is over 9 years old and still have quite a way to achieve it's full potential, though by now enough people have heard about it that a lot lot of capital is being deployed into developing it. Like bitcoin, it will not take over the world overnight, but the impact on existing structures will be profound.
tansari (OP)
Newbie
*
Offline Offline

Activity: 10
Merit: 0


View Profile
January 06, 2018, 04:03:00 AM
 #4

As an added note, since this is a current topic, the Graphnet would effectively help enforce net neutrality across the network -- and put pressure on existing infrastructure to follow it. Add to this network-wide QoS which would greatly improve quality for phone calls for example. There are other benefits which may not be obvious to the non-technical reader. This will eventually be presented in a digestible form when getting closer to the technical paper.
roberval123
Jr. Member
*
Offline Offline

Activity: 108
Merit: 1


View Profile
January 06, 2018, 04:08:11 AM
 #5

Make it minable, please. Great way to get people to buy into the project and want it to succeed since they have skin in the game.
tansari (OP)
Newbie
*
Offline Offline

Activity: 10
Merit: 0


View Profile
January 06, 2018, 04:12:14 AM
 #6

Make it minable, please. Great way to get people to buy into the project and want it to succeed since they have skin in the game.

It's minable, see 4. miners are paid according to the location transit price on the futures market. This means that if you want to mine a lot of coins, you deploy network access in an underserved area with demand.
Sosolean
Newbie
*
Offline Offline

Activity: 60
Merit: 0


View Profile
January 06, 2018, 07:15:23 PM
 #7

does sound like an interesting project please keep us informed
keyboard warrior
Sr. Member
****
Offline Offline

Activity: 266
Merit: 251


View Profile
January 06, 2018, 07:18:50 PM
 #8

Shouldn't this be in the development & technical discussion board as it's only a proposal?

This is the board I'm referring to.

https://bitcointalk.org/index.php?board=6.0
tansari (OP)
Newbie
*
Offline Offline

Activity: 10
Merit: 0


View Profile
January 06, 2018, 07:59:09 PM
 #9

Shouldn't this be in the development & technical discussion board as it's only a proposal?

This is the board I'm referring to.

https://bitcointalk.org/index.php?board=6.0

I thought this as well, and this is certainly getting drawn in the altcoin craze, but that board is clearly labeled under "Bitcoin". I just PM'ed a mod from that board to inquire about it, it certainly feels like a category is missing.
keyboard warrior
Sr. Member
****
Offline Offline

Activity: 266
Merit: 251


View Profile
January 06, 2018, 08:10:44 PM
 #10

Shouldn't this be in the development & technical discussion board as it's only a proposal?

This is the board I'm referring to.

https://bitcointalk.org/index.php?board=6.0

I thought this as well, and this is certainly getting drawn in the altcoin craze, but that board is clearly labeled under "Bitcoin". I just PM'ed a mod from that board to inquire about it, it certainly feels like a category is missing.

The OP is proposing a decentralized cryptocurrency, market and transfer protocol, which might mean a market using bitcoin, or one using altcoins. If it's using bitcoin this thread should definitely be i  the other board. If it's using altcoins there's a problem because as you say there's no altcoin development & technical discussion board.

Maybe the altcoin section needs a new board.
tansari (OP)
Newbie
*
Offline Offline

Activity: 10
Merit: 0


View Profile
January 06, 2018, 08:31:38 PM
 #11

The OP is proposing a decentralized cryptocurrency, market and transfer protocol, which might mean a market using bitcoin, or one using altcoins. If it's using bitcoin this thread should definitely be i  the other board. If it's using altcoins there's a problem because as you say there's no altcoin development & technical discussion board.

Maybe the altcoin section needs a new board.

I agree with this.

Someone has actually asked me if this could run on the Lightning network and I believe the technical answer is no. The reason for this is that the Graphnet is based on a packet protocol (similar to IP), and each transit of a packet through a node acting as router results in a money transfer, if that Lighning transfer happens on the Graphnet itselft it would create a positive feedback which would overload it until the fees to confirm a transaction become higher than what you are trying to reclaim.

I solve this by having each intermediary node simply signing the packet and the packet recipient eventually submit a block. Essentially the signature header must never become larger than the rest of the data on a packet. I am currently working on a technical solution to this, which is essentially the routing protocol. I might use an idea from the Lightning network by having routers sign a new transaction every time accounting for the previous balance owed to their peer -- though this poses a few problems if the packet doesn't get confirmed by the recipient.

My intuition is that no altcoins in the world can support this, which makes it an interesting problem.
tansari (OP)
Newbie
*
Offline Offline

Activity: 10
Merit: 0


View Profile
January 06, 2018, 08:45:51 PM
 #12

As a follow-up re: Lightning, what I said is not entirely true, thinking high-level, it may be able to run on Bitcoin, but would require a different layer-2 protocol than Lightning, specifically tailored to be embedded in packets. Assuming that the signature header never becomes larger than half the packet size.
JohnAGoodBoy
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
January 06, 2018, 08:52:17 PM
 #13

I would like to propose a decentralized cryptocurrency, market and transfer protocol for a self-organizing, peer-to-peer packet network.

https://docs.google.com/document/d/e/2PACX-1vS8PCIVcwLTJZQC3uUstnksBbNfGAcWfWrp13IZkNp5G5uezRL3ABB5ZghoOwYBAUak4XBZ9Q6Aldg7/pub

This is a pre-proposal, and as such there are no technical specifications, only a discussion over a hypothetical system which can allow achieving this.

I am publishing it to gather feedback, mainly I want to see if I missed anything for which no obvious solution exist. I am also open to find others who would like to contribute to help fill in the voids for the eventual technical paper and implementation.

Before you ask, there will not be an ICO, as it is a distracting process which I don’t see providing benefits for the establishment of a successful network. If you would like to contribute to the development of this project, you can contribute intellectually or make a personal donation to one of my wallets addresses bellow. Provided there are regular contributors, a nonprofit foundation will be setup to support the ongoing development of the project.

BTC: 1E48iBFm98B3hqjAhPeEDdCVQHYVPFjXQK
ETH: 0xc0bFe51cF2c25b8121DDBa80b3E49f7c985f4Efb
LTC:  LXn8JxbsixHU3oLm66DZHuFDRZykQmi6rk
The idea is brilliant, looks fine for me.
tansari (OP)
Newbie
*
Offline Offline

Activity: 10
Merit: 0


View Profile
January 07, 2018, 05:52:44 PM
Last edit: January 07, 2018, 06:48:04 PM by tansari
 #14

I want to share progress on current work -- only covering covering pre-protocol technical theory at this point.
  • 1. Pricing mechanism -- IN PROGRESS
  • 2. Payment confirmation mechanism
  • 3. Transfer report mechanism

1. The pricing mechanism relies on a sender asking its neighbor node prices for a destination before sending packets. This node asks the next node etc. and finally a pricing table is aggregated back to the sender by TTL, delay time, and available bandwidth, but doesn't need to maintain any information about the intermediary nodes. Nodes have to adjust their price with usage, and the better they do it, the more money they will make and less packets they will drop, but they can't spend too much time inquiring about destinations or it will compete with their paid traffic, as neighbor destination traffic is always free. They can use simple mechanisms such as only advertising half of their unused bandwidth over a given TTL to account for changes in traffic. The final TTL can be influenced by physical layer contraints (roaming client), as well as node's available memory to maintain unexpired pricing tables. There is an implied consensus that a node advertising a price will honor that bandwidth up until the pricing TTL, so if they do a bad job of advertising their prices, they will start having to drop packets and lose trust from their neighbors, increasing the cost to reach them.

There are a lot of interesting things happening here, for example:
- If you have a short TTL you have more opportunity to adjust price with traffic, but on the other hand, nodes that go through you will be forced to frequently request your new prices, and since this traffic competes with packet delivery, they may charge more to transit low-TTL priced traffic.
- Frequently-reached destinations will usually be already in memory for a lot of nodes, leading to faster time-to-price, Nodes can also pre-request destinations to be first to return prices to a client. This is ultimately memory and bandwidth-constrained.

I am still working on the mechanism to stream back price aggregation, as nodes shouldn't need to wait to receive back all prices to start returning them to the sender, but new prices might change the aggregation total, so we can think of this as the price request stream which is before we get the TTL driven-prices, probably constrained by a cascading timeout.

I also have to figure out how it piggy backs onto existing routing protocols to avoid packets going in circles and follow the subnet to the destination, and how to report a correspondant which cannot be found or reached. This may requires using secure protocols to protect from attacks.


2. Payment confirmation mechanism: this is where the magic happens, and packet sizes is likely to impose short-lived payments and short signatures. The number of transactions is going to be beyond anything currently done, and will thus require some sort of ledger segmentation or payment channels.

Packets include a destination, payment, and requested delivery time, each node subtract their charge and the recipient must apply their signature for everybody to get paid. There is an implied consensus to drop a packet which cannot be delivered according to the price table. No time synchronisation protocol is needed as a late clock would induce packet drop on the next hop for the sender, and a forward clock would mean they will overpay for delivery. A node administrator can figure out if packet drops are his fault's or a neighbor's and act accordingly.


3. This is something that probably need to go on the "ledger" -- probably simply as part of 2. -- and am still figuring out. It is needed to verify delivery for derivative markets (futures and options), mining rewards, and monitoring packet drop. There also need to be some sort of Graph discovery mechanism, which can probably be simply done over the network using a traceroute-like mechanism at the cost of the requester.




PS: this topic was moved to Development & Technical Discussion
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!