
- #SCUTTLEBUTT TATTOO LYNNWOOD HOW TO#
- #SCUTTLEBUTT TATTOO LYNNWOOD CODE#
- #SCUTTLEBUTT TATTOO LYNNWOOD OFFLINE#
This lets the new user see messages posted by other members of the pub and share their own messages. They also contain a secret key that the user can redeem to make the pub follow them back.
#SCUTTLEBUTT TATTOO LYNNWOOD CODE#
An invite code contains a pub’s domain name, port and public key. Invite codes help new users get connected to their first pub, which is a Scuttlebutt peer that is publicly accessible over the internet. UDP source and destination ports are set to the same port number that the peer is listening on TCP for peer connections (normally 8008).

Some clients show nearby peers in the user interface so that the user can see other people on the same network as them. When a peer sees another peer’s broadcast packet they can connect to exchange messages. In local networks, this is usually a net address with an IPv4 or IPv6 address.Ĭurrent implementations broadcast one of these packets every second. This message format can be any valid multiserver address. They are implemented by Libsodium as crypto_sign_ed25519_pk_to_curve25519 and crypto_sign_ed25519_sk_to_curve25519, respectively. pk_to_curve25519(ed25519_pk) and sk_to_curve25519(ed25519_sk) These functions convert Ed25519 keys (used for cryptobox) to Curve25519 (aka X25519) keys, used for signing. Unlike the usual Libsodium/NaCl functions, they work with signatures in independent buffers, rather than concatenated with the msg. nacl_sign_detached(msg, key) and assert_nacl_sign_verify_detached(sig, msg, key) The former is computed from Libsodium's signature functions. nacl_secret_box(msg, nonce, key) and assert_nacl_secretbox_open(ciphertext, nonce, key) These function are based on Libsodium's crypto_secretbox_easy and crypto_secretbox_open_easy function, which use symmetric cryptography to, respectively, encrypt+authenticate, and verify+decrypt a message using a nonce and a shared secret. The latter verifies this authenticator is indeed valid for the given message and key and errors if they don't. The former takes a message and returns a 32-bytes authenticator, that acts as a detacted signature of the message. nacl_auth(msg, key) and assert_nacl_auth_verify(authenticator, msg, key) This functions are Libsodium's message authentication function. It has the useful property that, given two key pairs (pk1, sk1) and (pk2, sk2), nacl_scalarmult(sk1, pk2) = nacl_scalarmult(sk2, pk1), which allows shared secret derivation between peers who know each other's public key. This guide uses the following: nacl_scalarmult(n, p) This is Libsodium's scalar multiplication function, which takes two scalars (usually public and/or secret keys). The Scuttlebutt protocol relies on NaCl/libsodium's cryptobox primitives. This is why the identity is also called a feed ID. Each identity has an associated feed, which is a list of all the messages posted by that identity. The beginning sign signifies that this represents a public key rather than a message or blob, which start with % and &. Throughout the protocol all instances of base64 are the variant that uses + and /. The public key of an identity is presented to users and transmitted in some parts of the network protocol using this format: If a user loses their secret key or has it stolen they will need to generate a new identity and tell people to use their new one instead. Over time nicknames may change but identities stay the same. Later, a user can choose to give themselves a nickname or avatar to make themselves easier to refer to. ssb/secret.īecause identities are long and random, no coordination or permission is required to create a new one, which is essential to the network’s design. Upon starting for the first time, Scuttlebutt clients will automatically generate an Ed25519 key pair and save it in the user’s home folder under. It’s normal for a person to have several Scuttlebutt identities. An identity is an Ed25519 key pair and typically represents a person, a device, a server or a bot.

The first thing a user needs to participate in Scuttlebutt is an identity.
#SCUTTLEBUTT TATTOO LYNNWOOD HOW TO#
This guide has a slight focus on how to use Scuttlebutt for social networking, but many of the explanations will still be useful if want to use it for something completely different, or are just curious how it works. One of its first applications was as a social network. Scuttlebutt is a flexible protocol, capable of supporting many different types of applications. This guide describes the protocols used to communicate within the Scuttlebutt network. Because there is no central server, Scuttlebutt clients connect to their peers to exchange information.
#SCUTTLEBUTT TATTOO LYNNWOOD OFFLINE#
Scuttlebutt is a protocol for building decentralized applications that work well offline and that no one person can control.
