diff --git a/README.md b/README.md index 54e5a35..e480824 100644 --- a/README.md +++ b/README.md @@ -11,8 +11,10 @@ Robust, minimal-server-interaction peer routing in the browser ## What is this? The Membrane module creates living peer networks, taking signalling to the browser. After just one server-based signal, a node never again needs centrality. The network acts as one giant signaling *membrane*, connecting far-flung peers at a whim. So long as a node remains a part of the network, it has full contact with every participant. Meanwhile, the network actively stabilizes around each new member, ensuring that severed connections will not damage the network nor cut off nodes, and allowing for an overall seamless "immediate-access-to-anyone" experience. -![](./Assets/demo.gif) -*Taken from Membranexus.com, which was built with Membrane* +| ![](./Assets/demo.gif) | +|:--:| +| *Taken from Membranexus.com, which was built using Membrane* | + Membrane capitalizes upon the `RTCPeerConnection` API's inherent agnosticism regarding signaling. That you could just as well communicate `ICE` connectivity data through smoke signals or quantum teleportation (*if only*), as through a more conventional signalling server. That's profound; *we aren't constrained to this terribly unreliable, centralized approach*. Membrane creates unencumbered, living peer networks. Just one server-based signal opens access to an entire realm of peers, forming a single, behemoth router. Distant, unconnected members can exchange arbitrary data in miliseconds, with no clumsy intermediary server, nor any risk of downtime. However, this approach is far from perfect. The boon of decentralization may in fact be this project's worst enemy. Without a singular, trusted register to authenticate peers, spoofing, posing, and generally manipulating the structure of the network become elementary.