goTenna Mesh and Blockchain: Potential Applications and Integrations

@Legion asks a good question, and the answer relates to one detail of the hashed time-lock contracts (HTLCs) that I had not properly considered.

The receiver of the last payment in a chain A->B->C->D either reveals the secret or forfeits the payment through a refund clause in the transaction. In the case of payments this works as expected, but in my earlier musings for using such a system for data delivery, it would mean that the B and C nodes, which fairly delivered the message, lose out.

The lightning network system is pretty “concept dense” so I’m going to have to reread a few papers to see if I can better understand it. My instinct tells me there’s still something useful that can be applied to paying mesh nodes to deliver data.

Another consideration is that the physical network of mesh nodes may not be the same as the financial network of payment channels. If every pair of nodes had a payment channel between them, it’s easier, but realistically that won’t be the case.

I’ll try to come back with my thoughts soon, it’s fun to think about this problem.

2 Likes

I’m a big fan of reputation systems; definitely worth considering.

A recurring problem is how to deal with a sybil attacks. In this context, it would be someone fooling their device into thinking it routed a bunch of packets, but in reality they were all from the same person’s second device. Maybe it’s not a problem if the goTenna’s can’t be tampered with and internally keep these scores. It’s harder if it happens on the phone.

Another popular non-financial way to do things is with a white list (or black list) for peers that deliver messages for you (or don’t). It’s simple and decentralized, but depends a bit on how many repeated interactions you have with the same peers.

3 Likes

Guys, this message thread has officially made this my favorite social network on the internet. I’m not even exaggerating. I look forward to everything everyone adds to the conversation here, and I’m learning a lot.

I’m thinking about a lot of what some of you have been saying, and I keep coming back to one question that, I admit, is more of a first-order question, and I know it can open a can of worms because it’s almost religious but… some of you are clearly Bitcoin people, others seem to be Ethereum advocates. Do any of you feel strongly about what blockchain a nonproprietary protocol intended to help any/all mesh networks scale should run on? And please don’t assume the choice is A or B, as 'm also keen to hear about option C, which is to create a new blockchain entirely.

5 Likes

In my opinion, I think that Dogecoin is the best chain for a mesh network.

But actually, I think it really could be any Ethereum or Bitcoin. I would prefer Ethereum (Full Disclosure:I’m founding an Ether startup but I don’t personally hold any BTC, ETH, DOGE, etc.) for a few reasons.

1.Development Community-I think that Ethereum has a great development community and the Ethereum Foundation is continuously pushing great updates and new papers. For example, Swarm on Geth,ENS, and Plasma just came out which does a lot of the work that the mesh network backend would need.

2.Smart Contracts-I think that because Ethereum is Turing-complete and has smart contract functionality built in, really cool things can be built on it, including things that no one has thought of yet.

On the other hand, Bitcoin also the advantages of being around for longer and it’s simpler so it’s probably more secure. And sidechains could give it a lot more functionality.

I don’t think that creating a new chain is great because that’s pretty complex for just one network and it could have a bunch of problems. Also, a rich crypto people might use it as a pump and dump device.

2 Likes

The paper “Mesh networking with Bitcoin” by Renlord N. Yang looks like a good place to start for thinking on this problem. Their Biternet project appears to be a working proof-of-concept, though the repository hasn’t been updated in awhile.

Biternet already runs on mobile (java script), so it might only need to be extended to use a goTenna mesh node in addition to ad-hoc wifi for data transport.

It’s possible to make arguments for different blockchains, or even create your own or a sidechain of one of the existing ones. I don’t think it’s valuable to narrow the field too much at this point though.

I’m going to use bitcoin in my thinking, because it’s the one I’m most familiar with and also most passionate about. I look forward to learning what can be done with ETH or even Dogecoin, even if @Legion was joking, for people who feel the same way about those blockchains.

It’s like asking should you use C, Java or write your own programming language. I’m reminded of the advice that one should have “strong opinions weakly held”.

2 Likes

My first-order question is more about how do we scope the problem? I liked what @Turnerb did by using the Burning Man festival as an example. PorcFest is another similar use case. Thinking small might help narrow things down enough to get something workable to experiment with.

I find myself getting bogged down when I try to imagine all use cases for mesh+blockchain.

I think when @danielagotenna says “non-proprietary” that it is the same thing as when people in the bitcoin/blockchain world talk about “permissionless innovation.” It’s also similar to the concept of “innovation on the edges.”

With the right device API and a proof-of-concept implementation people can innovate solutions for many different use cases. I’m not sure why mesh hasn’t taken off already given ubiquitous WiFi. I suspect the big players in mobile, WiFi, fixed line,etc. haven’t had any incentive to support mesh. New IoT devices like goTenna will hopefully drag them into it whether or not they’re ready for it.

1 Like

I also found a wealth of material related to this on Renlord’s advisor’s page:
https://disco.ethz.ch/alumni/cdecker (Dr. Christian Decker)

2 Likes

One scope example could be reasons why people would be using goTenna and mesh network is probably low data transfers that they need to be up even without data connection.

So maybe things like weather, traffic, events, etc.

2 Likes

I agree use cases for low data rate / alternative carrier services are a good place to start.

I’ve been thinking about it as different types of locations and the different kinds of services, both value exchange (ie. block chain) based and normal information exchanges people might want. Here’s what I have so far:

  • off-grid locations (festivals, wilderness, rural businesses)

    • Value: Informal economy, commodity trading, remittances, donations, insurance
    • Information: p2p messaging, wildlife monitoring, weather, commodity prices, SOS
  • crisis locations (natural disaster, conflict zones)

    • Value: direct cash aid, pay local staff, remittances, donations
    • Information: p2p messaging, missing people, weather reports, local alerts
  • overloaded locations (events, tourist areas, airports)

    • Value: Informal economy, ticket sales, rideshare, currency exchange
    • Information: p2p messaging, local alerts, ride hail
  • blocked locations (schools, offices, national firewalls)

    • Value: Informal economy, currency exchange, remittances, overseas investing
    • Information: p2p messaging, uncensored news
3 Likes

Thinking of use-cases and value-propositions is super important.

Another part of this that’s key is also figuring out what are things that we don’t think we’ll need to incent/control at a blockchain protocol layer because they are either behaviors that are hard to validate in a (mostly) off-grid, mobile mesh network or they are behaviors we think will organically fall into place anyway.

Given we want/need this to be lightweight, we have to really consider what the minimum viable blockchain for incenting the build-out, fair use, and integrity of a mesh network are. Keen to hear all your ideas!

1 Like

I’m bringing an Ethereum perspective to this conversation, but only because I am woefully ignorant of how bitcoin might work in this scenario without defaulting to a micropayment approach. Like @Legion said, I think that the benefit of using Ethereum is in its smart contract functionality and ability to support utility token economies like continuous token models and curation markets. I think (and take this with a grain of salt, given my lopsided understanding of the Bitcoin vs. Ethereum) that it would be remiss not to at least consider an Ethereum model.

3 Likes

I’m resharing this post from the decentralization links thread, because who knows, one of you may know someone great! :slight_smile:

2 Likes

@rmyers @mivyx @Legion @Jessica @Turnerb Wanted to bump up this post from a few days ago to see if any of you had any thoughts? I’m planning on spending nearly a full day thinking about these questions (and so many of the others we’ve all been discussing in this thread) with some of our engineers, PMs, and advisors on Sept. 6 and would love to get your read on this…

And to perhaps be more specific, I’m interested in getting everyone’s opinion on not just which behaviors/actions we’d want to leave out of a blockchain protocol. I feel like the behaviors we don’t want to incent on a protocol layer could full into one/all these categories:

  1. behaviors we shouldn’t have to incent (either because they’ll fall organically into place and/or aren’t a priority?)
  2. behaviors that would be hard/impossible to validate on the blockchain
  3. behaviors we don’t want to make assumptions about at the front-end
2 Likes

I understand all of this a lot less than you all, but was talking to someone at my hackerspace collective who knows more and he mentioned something about how you’d want to incentivize connecting/gateway-ing into the internet to settle on a main chain, but the bulk of the stuff everyone here’s talkin about could operate on “sidechains” that lock up funds, keep history, and settle on main blockchain (whether ethereum, bitcoin, or dogecoin - lol @legion).

(I am paraphrasing and haven’t caught up on this thread in a while, so apologies if this has already been discussed or isn’t even what y’all are talking about anymore)

3 Likes

Want to make a public Trello board and we can just drag stuff into things like the Incent Column, Don’t Incent, Necessary Feature, etc.

1 Like

This just came across my inbox. Seems like this company develops an SDK for wifi/Bluetooth meshing (like Open Garden / Firechat) and they are planning to launch an ERC-20 (Ethereum) token:

https://www.rightmesh.io/whitepaper/

Haven’t read it yet, but wanted to share so we could see what we all might learn from it.

//d

2 Likes

@rmyers @mivyx @Legion @Jessica @Turnerb @danielagotenna

I made a Trello board. Please put any ideas you have and comment on things you disagree with. https://trello.com/b/EJwL9He0/gotenna-blockchain-ideas

Apparently the link doesn’t allow you to join the board. Just PM me your email and I’ll add and admin you.

2 Likes

I did not subscribe so I was not able to see the whitepaper, or, they are blocking the US because they have this on the download page…

*Please note that tokens may not be available in all jurisdictions.
We may not be able to send you our Whitepaper if local regulations prohibit this

I did read the “How it Works” and it seems like goTenna could be another component of the Mesh Network along with the WIFI, Bluetooth, and WIFI Direct connections. If they build their platform out right they should be able to plug in any technology.

I am not sure I am understanding exactly what you are after, but it seems to me like the simplest, minimum viable product is one where a node is rewarded for passing on a message. Nothing else really needs to be rewarded to start.

Proposing this does make me wonder how you prevent me from taking 3 goTenna Mesh units and using one as a node that passes messages between my other 2 units and then collecting the “reward” for messaging myself? Does the goTenna unit also become the wallet address, or maybe the wallet itself? That would be dangerous because it could make theft a profitable experience for something that kind of needs to be outside to be effective.

5 Likes