Distributed Hash Tables – P2P Foundation https://blog.p2pfoundation.net Researching, documenting and promoting peer to peer practices Thu, 19 Apr 2018 16:16:30 +0000 en-US hourly 1 https://wordpress.org/?v=5.5.15 62076519 Scuttlebutt: an off-grid social network https://blog.p2pfoundation.net/scuttlebutt-an-off-grid-social-network/2018/04/26 https://blog.p2pfoundation.net/scuttlebutt-an-off-grid-social-network/2018/04/26#comments Thu, 26 Apr 2018 08:00:00 +0000 https://blog.p2pfoundation.net/?p=70665 André Staltz, writing in his blog, tells the story of Scuttlebutt, a project we support at the P2P Foundation. Scuttlebutt is slang for gossip, particularly among sailors. It is also the name of a peer-to-peer system ideal for social graphs, identity and messaging. Scuttlebutt was created by Dominic Tarr, a Node.js developer with more than 600 modules published on npm,... Continue reading

The post Scuttlebutt: an off-grid social network appeared first on P2P Foundation.

]]>
André Staltz, writing in his blog, tells the story of Scuttlebutt, a project we support at the P2P Foundation.

Scuttlebutt is slang for gossip, particularly among sailors. It is also the name of a peer-to-peer system ideal for social graphs, identity and messaging. Scuttlebutt was created by Dominic Tarr, a Node.js developer with more than 600 modules published on npm, who lives on a self-steering sailboat in New Zealand.

Dominic is often offline, but he’s still able to use a social network to communicate with his friends such as James Halliday (a.k.a. substack), who is also often offline. James has also authored hundreds of npm modules, such as Browserify, and is building a shack with his partner Marina on top of 300-year old lava flows in Hawaii.

James Halliday

Dominic and James are a few key figures in a community of eccentric open source hackers gathering in a social network independent from mainstream internet. The unique properties of Secure Scuttlebutt (SSB) make it possible for digital information to spread easily even in the absence of Internet Service Providers (ISP) and the internet’s backbone. What makes that possible is a decentralized protocol based on the mechanics of word of mouth.

Scuttlebutt is decentralized in a similar way that Bitcoin or BitTorrent are. Unlike centralized systems like PayPal or Dropbox, there is no single website or server to connect when using decentralized services. Which in turn means there is no single company with control over the network.

However, Scuttlebutt differs from Bitcoin and BitTorrent because there are no “singleton components” in the network. When accessing the BitTorrent network, for instance, you need to connect to a Distributed Hash Table (DHT, think of it as a huge round table where anyone can come and take a seat). However, to get access to the DHT in the first place, you need to connect to a bootstrapping server, such as router.bittorrent.com:6881 or router.utorrent.com:6881. These are very lightweight servers which simply introduce you to the DHT. They still depend on the existence of ISPs and the internet backbone. Also, those systems are concerned about public information. For instance, with Bitcoin, each peer stores the entire log of all transactions ever sent by anyone.

Secure Scuttlebutt is also different to federated social networks like MastodonDiasporaGNU social, OStatus. Those technologies are not peer-to-peer, because each component is either a server or a client, but not both. Federated social networks are slightly better than centralized services like Facebook because they provide some degree of choice where your data should be hosted. However, there is still trust and dependency on third-party servers and ISPs, which makes it possible for admistrators of those to abuse their power, through content policies, privacy violations or censorship.

Patchwork

In Scuttlebutt, the “mesh” suffices. With simply two computers, a local router, and electricity, you can exchange messages between the computers with minimal effort and no technical skills. Each account in Scuttlebutt is a diary (or “log”) of what a person has publicly and digitally said. As those people move around between different WiFi / LAN networks, their log gets copy-pasted to different computers, and so digital information spreads.

What word of mouth is for humans, Scuttlebutt is for social news feeds. It is unstoppable and spreads fast. Once the word is out (just an arbitrary example) that Apple is releasing a new iPhone model, there is no way to restrict that information from spreading. A person may tell that piece of information to any of their friends, and those friends may in turn spread that information onwards.

With typical gossip, however, information deteriorates as it spreads and eventually becomes harmful rumor. Scuttlebutt on the other hand makes word of mouth securewith cryptography. Each Scuttlebutt account is comprised of simply two things: an append-only diary and private/public asymmetric crypto keys. An account’s identity is its public key. There are no unique usernames, because you can’t guarantee two people in separate places from choosing the same username, much like you cannot forbid the name “John Smith” to be given to a newborn in Canada if it is already taken by another person in Australia.

All information a person has published is registered in their diary. Public messages (like in Twitter) are the most common type of message in a diary, but you’ll also see “I am friends with that person” type of messages. To ‘send’ a private message to someone, I simply record a message in my diary, but encrypt it first, so the message isn’t plainly readable by anyone who gets their hands on a copy of the diary. Authenticity of diaries is preserved in that all diary entries reference the message that was written before, and then is signed. This prevents tampering and makes replication easier.

ssb-account

Every time two Scuttlebutt friends connect to the same WiFi, their computers will synchronize the latest messages in their diaries. Another way of synchronizing information is to connect to a common Scuttlebutt server, known as “pub”, set up by any member in the community. Pubs make information spread faster, and globally, but are totally dispensable. It’s even feasible to exchange latest news through sneakernet, using e.g. USB sticks.

This architecture is built so that network connections accurately represent the social graph and word of mouth. Typically with social networks like Facebook or Twitter, the network connections are centralized with their servers. The network architecture looks completely different to social architecture. Most users don’t care about this because the network architecture is invisible to them. However, it becomes a real problem once an authoritarian government or even the host company itself takes control over the network architecture in ways that disrupt the social architecture. It is not uncommon for a government to shut down a social network in a country for days/weeks, affecting how people communicate with each other. This has happened in EgyptCameroon, and Brazil.

With Scuttlebutt, the social graph is the network architecture, with peer-to-peer infrastructure accurately matching peer-to-peer interactions. It makes communication and the spread of information highly resilient, bringing improvements to freedom of speech with modern information technologies.

This peer-to-peer system has existed for more than two years and brought unique challenges and possibilities. For instance, unique usernames are impossible without a centralized username registry. On the other hand, this questions the need for a login system in the first place: why do you need to “enter” into the service? Scuttlebutt will not have a user registration flow, because such thing makes no sense in that world.

So far, the network has received a dedicated social network desktop app, a Soundcloud alternative, a Viewer webapp, and a git layer (putting “distributed” back into “distributed version control”). These work seemlessly together: a person using the git layer to push a commit will record that on their diary, which is visible also in the social network app, for their friends. Currently, the community is using this to “eat their own dog food”, coordinating team work and contributing code all on the same platform, without any intermediate company. GitHub being down will rarely be a problem for them.

The platform is being improved constantly, in areas such as: mobile support, an NPM alternative, WebRTC support for browser peers, and even legal transactions in New Zealand. It has proved to work as a platform setting the requirements and examples for a human-centered social network, as Dominic well described:

I wanted an open platform that anyone could build things on. (…) Also, we couldn’t realistically plan to just sit down and create an app that everyone wants to use, we need many experiments so that one can succeed, therefore we need a decentralized application platform more than we need any given a decentralized application.

To use Scuttlebutt, I recommend reading the ssb handbook.

If you liked this article, consider sharing (tweeting) it to your followers.

The post Scuttlebutt: an off-grid social network appeared first on P2P Foundation.

]]>
https://blog.p2pfoundation.net/scuttlebutt-an-off-grid-social-network/2018/04/26/feed 1 70665
What could come after blockchain technology? The what and why of Holochain https://blog.p2pfoundation.net/what-could-come-after-blockchain-technology-the-what-and-why-of-holochain/2018/03/31 https://blog.p2pfoundation.net/what-could-come-after-blockchain-technology-the-what-and-why-of-holochain/2018/03/31#respond Sat, 31 Mar 2018 10:00:00 +0000 https://blog.p2pfoundation.net/?p=70188 A deep dive into Holochain – what some are calling an evolution on blockchain technology, operating “in parallel to BitTorrent to power fully distributed apps” Continuing our coverage of Holochain, the following analysis was written by Tristan Roberts and was originally published in Crypto Insider. Tristan Roberts: Bitcoin made the impossible a reality, and Ethereum aimed... Continue reading

The post What could come after blockchain technology? The what and why of Holochain appeared first on P2P Foundation.

]]>

A deep dive into Holochain – what some are calling an evolution on blockchain technology, operating “in parallel to BitTorrent to power fully distributed apps”

Continuing our coverage of Holochain, the following analysis was written by Tristan Roberts and was originally published in Crypto Insider.

Tristan Roberts: Bitcoin made the impossible a reality, and Ethereum aimed to take that same utility into other domains. Artificial intelligences need not beholden to their human masters, and global organizations no longer need be at the mercy of a handful of executives. Truly cooperative, decentralized organizations seem to be just on the edge of becoming a reality.

However, despite all the possibilities that blockchain technology has teased us with, we’ve already started to see limitations: seemingly innocuous apps like CryptoKitties have made the Ethereum network grind to a halt, and multi-signature wallets have been accidentally, irrevocably locked. There are a lot of reasons why blockchains suck, but that topic is for another article. Instead we’ll see how scaling limitations can be overcome, with a particular focus on Holochain.

EoS, BitLattice, and Holochain are all examples of an evolution on blockchain technology. Technically, they are not even blockchains at all. Rather than a linear sequence of transactions – a series of ‘blocks’ – they are more like a mesh of transactions. They all provide cryptographic control of information, but none of them require nearly as much storage and processing power as Bitcoin and Ethereum.

This next generation of crypto-networks have some parallels to how Einstein uppercut Newton. Rather than spend huge amounts of energy to construct an objective reality, these fledgling networks have a more relativistic perspective. Data is verified locally, rather than through global consensus mechanisms that make a linear, absolute sequence of events.

Your dear author has quested across the globe in search of what is ‘next’, and nothing seems to answer that question as thoroughly as Holochain.

Holochain is not a blockchain. It’s more like “git repositories for each agent which can be published, shared, synchronized or merged via a BitTorrent-like DHT (Distributed Hash Table)”. This shift to ‘agent-centrism’ rather than ‘data-centrism’ is important. Each application has its own Holochain, and each agent has their own chain. Rather than spending an absurd amount of energy to craft a single record of events, Holochain allows people to write anything to their own chain. However, transactions that violate the rules of the application (such as me saying that you gave me all your tokens) won’t be propagated by the network.

What does this mean to real people? Well, imagine Facebook without Zuckerburg sucking up all the wealth. Users get paid for their posts and for the data they generate – if they opt in to their data being sold. Imagine Uber owned by the drivers and riders; AirBnb owned by the hosts and guests. Strangers can interact collaboratively in a high-trust manner, without a profit-seeking corporation sucking up all of the ‘value’ it can.

Holochain is not just a way of verifying and controlling data. It is also a way of hosting that data as well: Ethereum meets the Inter-Planetary File System. When a request is made to see new messages on Holochain’s Twitter-killer, Clutter, the data is sourced from nearby nodes and comes in gradually like flowing water rather than being delivered in a single dump from a centralized database.

When you add something to a holochain, you sign it, append it to your own chain (like in Hashgraph, the latest entry is hashed to confirm the whole history is valid), and submit it to the Distributed Hash Table, which makes sure it conforms to that chain’s rules. You are also receiving and checking other people’s transactions in the process. Each application is its own Holochain, and a cell phone can easily act as a node for multiple Holochain apps.

Yes, there will be an ICO. Holo, the creator of the open-source Holochain, is framing it as an “initial community offering”. Unlike most ICO’s, Holo has taken great effort for this offering to be not just legally compliant, but perhaps even ethical. One of the founders, Arthur Brock, makes a solid point: most blockchain enthusiasts deride ‘fiat’ currencies as coming from nothing. But if a credit – say, a bitcoin – is made without a corresponding debit – then it is also coming from nothing, and is just as aptly labelled ‘fiat’ as notes from the Federal Reserve.

Holo is taking a different route. The credits that they offer during their ICO will be matched 1:1 to debits for their organization. Their organization will alleviate this massive deficit through a 1% transaction fee on the network. Similarly, each user is able to be either negative or positive, however, a much smaller debt limit than the Holochain organization.

Much of Holochain’s core infrastructure is already in place – proof-of-concept applications are already running. Thus, they are framing this as an ‘initial community offering’ – seeking enough Ethereum in order to make the community grow organically over time, rather than simply hoarding more Ethereum than they could ever hope to responsibly use like some upstarts.

Holo has already had a very successful crowdfund on IndieGoGo, primarily offering lightweight computers to act as nodes in the network. Much like Ethereum’s ICO, Holochain’s token offering keeps getting pushed back; perpetually just 2 weeks away. You can stay posted here.

If you are just interested in making mad returns on your cryptoinvestments, the remainder of this article is probably not for you. However, if you have a gut feeling that sexy distributed networks might just change how we interact with each other for the better: read on.

Metatcurrency Project & Ceptr

Holochain stems from a decade-old project re-evaluating some of the basic fundamentals of how we interact with each other. Theis Metacurrency Project in turn gave birth to Ceptr, a re-imagining of computer systems, based on mimicing biological processes rather than using cold, hard, centralized logic. The hope is that Ceptr will sprout out of Holochain, which the group believes is a necessary foundation for their loftier ambitions.

The Metacurrency Project’s starting point is viewing the universe as being made of language. Language is made of:

  • Carriers, such as paper, lightwaves, soundwaves, and electricity
  • Receptors, which transforms signal A on carrier X into signal B on carrier Y e.g. the ear transforms soundwaves into neural impulses, a microphone transforms soundwaves into electrical impulses, a speaker transforms electrical impulses into soundwaves, a pen transforms muscular movements into writing.
  • Protocols, the code, for example, binary
  • Signals, the patterns themselves

There are levels here. It’s a fractal. If you read this sentence on a screen, there were the electrons that made light, light that made a letter, letters made words, words made sentences. The receptors are lightweight virtual machines. These are autonomous. Receptors are composed of other receptors. Receptors hold both code and data. Branches of the tree hold data-types (e.g. integer) and data.

What data-type is it receptive to? What data-type does it output? This builds meaning into the computing stack at the lowest level possible

You can’t store meaningless data. You can store an age, or a shoe size, or something like that. You have to say the meaning of it.

These self-describing trees with data incorporated can use different protocols, but reduce to one big interoperable, mashable system.

How might you see this principles actually bring value to your life? Imagine mashing together your emails, facebook feeds, tweets, texts into a single stream. Without organization, this would be a mess of information. However, an intelligent system could start to organize the flow of information; managing workflow with ticketing scheduling. Once the workflow is defined, currencies and wealth can be built on top. In many ways, currencies are used to prioritize how we spend our attention. Currently, Facebook and Twitter manage our feeds for us. They have their own motivations which are not always in harmony with our own well being.

In the same way there is a constellation of protocols, there are a constellation of currencies: for example, we have all probably used our reputations in some way to get money.

Ceptr is a protocol for protocols. It’s a low-level, fundamental protocol for how to structure data, organize processing, and communicate. In other words: TCP/IP for wealth.

Is system-wide consensus really needed for a simple transaction between two individuals? In Holochain’s agent-centric approach, each user marks the transaction in their ledger, and this is made public for those who actually need to know. False transactions are not allowed to propagate through the network, and those who make fraudulent claims are eventually pushed out of the network.

The MetaCurrency project rejects the deeply seated idea that scarcity is a necessary for wealth. “Rather than trying to make one global, anonymous, digital cash, we are interested in building a rich ecosystem of interoperable currencies.”

Non-fiat system of money

One of the most notable ways in which this group diverges from typical understanding of money is the use of ‘mutual credit’. As mentioned earlier, most currencies, including Bitcoin, are based on fiat. They mint the tokens by a line of cod, and trade the resulting tokens that are backed by nothing. This requires global consensus of the state of the ledger. This cannot be done on a Holochain, where local versions of the ledger fall out of sync by design (everyone has their own ledger, in other words). You can’t track the coins. But you can still implement money if you re-consider what money is; a non-fiat kind of money.

Mutual credit systems has been around for centuries. In a mutual credit system, units of currency are issued when a participant extends credit to another user in a standard spending transaction. Picture a new mutual credit currency with all accounts having a zero balance. The first transaction could look like this: Alice pays Bob 20 credits for a haircut. Alice’s account now has -20, and Bob’s has +20.

So instead of coins being issued backed by nothing, they are issued by the peer, in arrangement with another peer, by creating liability/debt. “Managing the currency supply in a mutual credit system is about managing credit limits — how far people can spend into a negative balance. Different systems set different rules about this, ranging from everyone having the same limit (e.g. 100 credits), to having NO limits and leaving the choice up to each person as to whether they want to extend more credit to someone deep in debt.”

Ceptr’s ontology of ‘wealth’ is slightly unusual; when they say their tech can measure currencies, that includes any resource. AirBnB reputation is a currency. A movie that has a high IMDB rating is wealthy in that sense. A college degree is a form of wealth. And of course, traditional paper money is a currency.

Too narrow a view of wealth is what causes negative externalities. You burn coal to make money, but ruin the air; you didn’t have good air on your balance sheet.

Wealth is currently one-dimensional. Ceptr is trying to build a more complex, expressive idea of wealth, analogous to the shift from oral knowledge to written. Wealth in their terms can be subjective/expressive, like satisfaction. The proposed system allows any receptor to make a statement, then consensus is negotiated. If they don’t come to consensus, that’s fine, they fork, or cancel the transaction. Each node has full authority to process its own transactions.

If Alice receives a transaction request from Bob, she checks his signed transaction chain to arrive at the current state of his ledger, and “If both nodes are in an appropriate state which allows the current transaction, then they countersign the transaction and append to their respective chains.”

When your node appends a mutually validated and signed transaction to its chain, it has updated its local state and is able to represent the integrity of its data locally. As long as each transaction (link in the chain) has valid linkages and countersignatures, we can know that it hasn’t been tampered with.

Most distributed apps have no need for consensus with the whole world. If I want to book your room, you & I have to make an agreement, no more. This seems to me a more in line with decentralization than what Ethereum or Bitcoin can provide.

If you’d like to learn more, a solid section of links is provided below. More than all of this technical knowledge, however, the reason why I support Holochain is its community. It is both literally and figuratively a magical group of people. When the authors met them in San Francisco, they were literally living cave like rooms, no bigger than the size of a bed. None of the people seemed to be there to get wealthy: all of them were passionate about building something better. Of restoring the internet to its former glory, before behemoths sucked up all the value.

RESOURCES

Holochain Greenpaper

Mutual Credit: Currency without Consensus

Holochain Gitub Repo

Holochain Overview <10 Minutes

– Two short videos for understanding what a receptor is: [1] [2]

 Video on receptor-based computing

–  An hour presentation on Ceptr.

Note: I have not received any compensation from Holo other than a lovely meal at their former group home – the Holodeck – and a deep meaningful gaze into their spokesperson Matt Schutte’s eyes. \International pirate of intrigue Conor O’Higgins contributed substantially to this article.

This article has been edited publication to reflect the distinction between Holo and Holochain. It is republished in the P2PF blog with the author’s explicit permission.

Featured image from Ibrahim Boran on Unsplash

 

 

The post What could come after blockchain technology? The what and why of Holochain appeared first on P2P Foundation.

]]>
https://blog.p2pfoundation.net/what-could-come-after-blockchain-technology-the-what-and-why-of-holochain/2018/03/31/feed 0 70188