4 ms·
How does Reticulum solve the fundamental issue of mesh networks: either you have to have a central controlling authority for addressing, or an adversary can jus
by cyberax 2y ago
How does Reticulum solve the fundamental issue of mesh networks: either you have to have a central controlling authority for addressing, or an adversary can just flood your network?
Does it have some kind of blockchain crap tie-in?
- dicknuckle 2y agoblockchain can be cheap (power, compute etc) and not crap. Doesn't mean every project that builds with it takes that into consideration.
- cyberax 2y ago> blockchain can be cheap (power, compute etc) and not crap. No. All blockchain is crap, no exceptions are fundamentally possible. The reality reflects that rather starkly. By "blockchain" I mean a system with a distributed consesus via proof-of-work or proof-of-stake.
- __MatrixMan__ 2y agoSo it stops being a blockchain if the criteria for adding a block is based on something else? Or do you intend to update your definition to incorporate other consensus mechanisms as they emerge? Seems to me that a more useful definition would abstract out the consensus model such that a blockchain is essentially a merkle-linked-list together with some function for determining which of two candidate next-blocks will be the actual one, but without getting too specific for what that function is... just because there's so much potential for variation there.
- jazzyjackson 2y ago> just because there's so much potential for variation there. There really isn't. Either you expend some resource to make it expensive to attack or you stake some resource so you have something to lose to prove you're not a bad actor. I've never seen anything more creative than this.
- EGreg 2y agoThere are lots of other approaches - IOTA DAG, HashGraph, Ripple Consensus Process etc. I am not a fan of blockchains, though. They are overkill for most uses. But here is an example of a non-blockchain system that doesn’t even require global consensus: http://intercoin.org/technology.pdf http://intercoin.org/technology.pdf Also check out the Autonomi network
- cyberax 2y agoIt's not really going to work. Without a centralizing consensus, any such scheme is vulnerable to be drowned in forks. A malicious notary network can simply flood the ledger with conflicting views. So clients will have to somehow find a set of notaries that is the "best". Proof-of-stake means that there's effectively a vote on the set of "reliable" agents, and proof-of-work works because the malicious notaries can't outrace everyone else.
- EGreg 2y agoSorry, but you're not exactly an expert on this. There is a huge body of literature that says otherwise, and reference implementations. You don't NEED "a centralizing consensus". IOTA did have one, called a "governor". And now they also did away with it. I had a discussion with the CTO of Ripple (back then their chief cryptographer) David Schwartz about this exact issue in 2018, when I was also connecting with Leslie Lamport and others in the industry to discuss why and how global consensus was even needed https://community.intercoin.app/t/intercoin-technology-consensus/80 https://community.intercoin.app/t/intercoin-technology-conse... You can also read this post here: https://community.intercoin.app/t/intercoin-technology-recovery/82/4 https://community.intercoin.app/t/intercoin-technology-recov... At the end of the post, it links to the mathematical results on arxiv if you're interested: https://arxiv.org/pdf/0802.0832v1 https://arxiv.org/pdf/0802.0832v1
- cyberax 2y ago> Sorry, but you're not exactly an expert on this. There is a huge body of literature that says otherwise, and reference implementations. Yep, and none of them managed to solve the issue of resiliency without some kind of a stake. From your own link: > Intercoin’s ledger technology requires the sender to endorse a transaction after a supermajority of validators have approved it. > Validators periodically check one another with “proof of resource” techniques. Basically, it just moves the problem of validating individual transactions to validating the set of trusted notaries via proof-of-stake. Just another rehash of crapcoin bullshit.
- acaloiar 2y agoI'm afraid you're redefining what a blockchain is. A blockchain is a distributed ledger. Distributed ledgers are an application of distributed conensus, which is a truly interesting field within computer science.
- EGreg 2y agoYou’re being downvoted because you’re making sweeping unsupported assertions, likely based on an ideological opposition to blockhain. I am guessing it has to do with anger at FTX and other negligent participants in the wider “crypto” ecosystem that has very little to do with blockchains. But that is a “non sequitur” (Latin for “it does not follow). If I am wrong in my assumptions and you have an actual argument supporting your assertions about “all blockchains” being crap, please do elaborate on the substance.
- cyberax 2y agoThe reality is: blockchain has failed in EVERY area it's been tried, except for illegal/unregulated payments. Assets tracking? Failed. Interbank settlements? Failed. NFT and art? Spectacularly failed (wanna an NFT for that spectacle?).
- __MatrixMan__ 2y agoIf you've picked mesh networking, then you care about partition tolerance. But blockchains prioritize consistency. So I think using blockchains on mesh networks puts you in a disadvantaged situation re: the CAP theorem. There's got to be a way which better aligns the application layer with the constraints of the physical layer.
- __MatrixMan__ 2y agoI can't comment on Reticulum, but I think there are solutions to that problem re: content-addressing rather than node-addressing. If you replicate a piece of data based on whether you or your (explicitly trusted) peers are interested in it, then the only way to flood the network is to convince all of the users to become interested in it, which is likely difficult enough to discourage misbehavior. pub/sub, not request/response.
- cyberax 2y agoSigh. The problem is not the content. It's the addressing. For the content-based addressing to work, you need to flood the network with the reachability information ("how can I get to this block?"), and it's trivially easy to just generate enough of it to overwhelm the routing nodes.
- __MatrixMan__ 2y agoBut that's request/response, because you're requesting blocks. I'm saying that when two nodes pass each other in the street or whatever they think "hey, a peer is in range" so they see if: - The peer carries any topics they're interested in - That topic's synchronization algorithm indicates that any actual synchronization is needed in this case So some content may get shared between the devices, but nobody requested it. The event source was the arrival of the peer. You might also recheck periodically, supposing they stick around for a while. If you subscribe to topics with dumb synchronization algorithms that just copy everything they see and don't check a web of trust, then yeah you could still get floods of data that saturate whatever resources you've allocated to that topic, but that would quickly become a useless topic, so just unsubscribe and pick smarter topics next time. In summary, push the routing problem to the application layer. Different data is going to have different needs. Map tiles need to stay near the parts of the planet that they describe. Information about how to mitigate a harm needs to be near the audience that might be harmed. Manuals need to be in the hands of people who are interested in the objects that they describe. Menu and open hours data needs to be near the restaurants with those menus and hours, or to nodes whose owners like that kind of food... The goal is to converge on a particular distribution of data across nodes, not to get any one piece of data to any one particular node. No requests, and no handling data that you haven't opted into handling by subscribing to that topic. I suppose you might conceive of the synchronization process as a series of requests, but they don't propagate anywhere. For each datum you either already have it, you decide to take it, or you decide to leave it.
- icepat 2y agoNo, Reticulum does not require a blockchain. My understanding is that Reticulum solves this by allowing network redundancy.
- cyberax 2y agoSo what happens if I create a node, then create 10 trillion addresses and send a message to every one of them?
- AyyEye 2y ago> either you have to have a central controlling authority for addressing, or an adversary can just flood your network False dichotomy. IIRC reticulum does something like an inverse TTL, so packets have priority based on how local they are.
- LinuxinaBIt 2y agoReticulum uses absolutely no blockchain. It uses a fairly novel routing strategy with something called announces. Read this page to learn more about it: https://reticulum.network/manual/understanding.html https://reticulum.network/manual/understanding.html TL;DR it only flood routes packets that tell the network the location of a node; each node stores the “next hop” to get to every other node on the network. Everything else is routed along a single path determined by those “next hops.”
- cyberax 2y agoWhat stops me from flooding the network with 10^12 of fake addresses?
- LinuxinaBIt 2y ago[dead]
- adinisom 2y agoThe intended solution seems to be a 2% bandwidth limit for announcements and a preference for lower hop-counts to keep your flooding local. There's a FAQ item on this: https://github.com/markqvist/Reticulum/wiki/Frequently-Asked-Questions https://github.com/markqvist/Reticulum/wiki/Frequently-Asked...