project goal: demonstrate p2p encrypted messaging
i'm interested in exploring how the fundamental parts of a decentralized system function, and being the foundation of a decentralized structure, P2P (peer to peer) networks are a good place to start. what would a network of nodes propogating some data package, ie. a message, look and feel like? could you better understand the abstract concepts of a network by stepping inside of one? ...maybe even tell it a secret, just as we trust the networks and encrypted messaging apps we use today. i'm curious if human participants will think of a physical manifestation of a p2p network differently than the ones they can't see, even though they both take up space in some way.
in normal p2p networks, "peers" are computer systems that are connected between each other and don't need a central giverning body to be productive or communicate with one another. some well-known examples of systems that use p2p networking are BitCoin, BitTorrent, Google Docs & your local farmers market. blockchains are a slightly different animal; although they are politically and architecturally decentralized, they are still logically centralized, since there is one commonly agreed state and the system behaves like a single computer.
since there are many cool things happening in the decentralized space, i decided to zoom into one of the more pragmatic and tangible protocols in the blockchain world: communication protocols. in a nutshell, whisper is a protocol for DApps (decentralized applications) to communicate on the Ethereum network by using an existing protocal ("shh") that is rooted in the RLP (Recursive Length Prefix) function. this system would be implemented in a geodesic dome (the physical "network") where people could communicate over the network in real time, by speaking into a reciever, and recieved somwhere else in the dome. as of now, you can't track data packets in the whisper network, but you can analyze different "topics (which are assigned to packets as they are sent) propogate as they move from
sender -> network nodes - > reciever.
work is still being done on the selection and quantity of material etc, but for now, the end goal is something that looks like this, where humans will be able to walk inside and interact with the network.
UPDATE: We've begun building a budget sheet for the PVC piping we'll be purchasing (BOM will be available soon!), but for now we've located a nifty calculator that will render the amount of hubs and struts required for a dome that is 7ft tall.
(tracking progress on analog sensor via Project 8) first i thought a sticker circuit to place on the inside of the hubs would be interesting in order to capture messages from many angles within the dome to truly use the space we create. that has since changed, since i'm realizing that the analog sensor will not work for capturing voice data, only sensing it's existence.
(tracking progress on LED controller via Project 9) in order to demonstrate the binary translation of the encrypted packet (ie the voice message), i think it will be a good idea to offload that control to a dedicated unit (ie ATTiny44,45) since the RPi will be running its node packets for the communication protocol and the additional processing requirement might increase latency of information relay.
Tracking progress on ESP8266 in Project 12 on using the module as a node to use to interact with LED strips upon recognizing. Having an existential crisis around blockchain this week...not sure if needed anymore.
as of 12/11 the RPi's webserver is accessible by a client and allows control of certain GPIO pins
LED Dome: - W2812Bs (~4m), - 5V 6A DC power supply, - RPi3B+
think, DIY decentralized systems. i imagine this being an educational experience, where this project could be scaled down (or up) for kits to bridge the gap between the masses and the abstract concepts of blockchain and decentralized systems.