Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

AppGameKit Classic Chat / Peer to Peer

Author
Message
Conjured Entertainment
AGK Developer
18
Years of Service
User Offline
Joined: 12th Sep 2005
Location: Nirvana
Posted: 28th Jul 2021 13:12 Edited at: 28th Jul 2021 20:06
Those of you who already know me know that my networking knowledge is very limited, so anyone else I ask to please bear with me if my questions seem silly to you with your expertise.

I am now exploring Peer to Peer networks, and while it sounds simple enough, there are some confusing points.

My searches here have resulted in some information and examples, but all of them talk about clients and hosts.

When I search elsewhere on the web about peer to peer networks, most of the results come back with blockchains, and that is where the confusion sets in.

For instance, O'Reilly says...

Quote: "The term peer-to-peer, or P2P, means that the computers that participate in the network are peers to each other, that they are all equal, that there are no “special” nodes, and that all nodes share the burden of providing network services. The network nodes interconnect in a mesh network with a “flat” topology. There is no server, no centralized service, and no hierarchy within the network. Nodes in a peer-to-peer network both provide and consume services at the same time with reciprocity acting as the incentive for participation. Peer-to-peer networks are inherently resilient, decentralized, and open.
"

If all are equal with no special nodes, then why is there a host?

Also, who would be the 'host' in a decentralized p2p network like those found with cryptocurrencies?

There seem to be a major contradiction here, so can anyone please explain this in a way that makes better sense?

Thanks in advance


EDIT

Never mind....

The answer is SEED NODES.

So, the contradiction is the fault of O'Reilly, because the seed nodes are essentially acting as the 'host' in order to do the handshake for a new node to discover its peers.

That means that the long running seed nodes are creating a hierarchy, making their statement false.

Cryptocurrencies do not have to have a blockchain, and blockchains do not have to be used for a cryptocurrency, but a lot of people consider them one in the same.

The non-fungible-tokens (NFT) seem to be a hot topic right now for being used to protect intellectual property, so there are lots of opportunities there for the immediate future.

If anyone has anything to add about peer to peer with AppGameKit and how it could be used for a decentralized network then please share your thoughts here. Thanks

EDIT_2
Bitcoin seems to have a list of only ten peers for each client running the core.

Each node shares its list of peers, and it seems the host is dropped once a node has established connection to a peer from the host.

Don't want to take any one peers whole list but assemble the list from the best ping from the peer nodes list, then its best peer, then its best peer etc. without duplicating which should keep things fairly local for speed but still reach out in different directions to connect them all.

I am thinking 8 or less would be enough instead of the ten, and if each list does select 2 with lower pings then the reaching out could be forced somewhat to ensure all subgroups are connected.


I think making a blockchain would be more fun than a game, and it will definitely require less graphics and sound, so should be easy to do again with the right framework.

The real work is working it all out for the first one, but many other chains are open source, just need to convert those to AppGameKit language.

Don't bother replying if you don't want to, and this thread will drop... I'll just do the edits until I have something worthy of bumping if no ones replies.

I do plan to play around with the peer to peer with AppGameKit though, so heads up on that experiment.

Coding things my way since 1981 -- Currently using AppGameKit V2 Tier 1

Login to post a reply

Server time is: 2024-03-28 17:32:11
Your offset time is: 2024-03-28 17:32:11