4.1.106 • Published 9 months ago

@peerbit/trusted-network v4.1.106

Weekly downloads
-
License
MIT
Repository
-
Last release
9 months ago

Trusted network

🚧 Experimental state 🚧

A store that lets you build trusted networks of identities.

The store is defined by the "root trust" which has the responsibility in the beginning to trust additional identities. Later, these identities can add more identities to the network. Trusted identities can also be revoked.

Distributing content among untrusted peers will be unreliable, and not resilient to malicious parties that start to participate in the replication process with large amount (>> min replicas) of nodes followed by shutting them down simultaneously (no way for the original peers recover all lost data). To mitigate this, you can launch your program in a "Network", which is basically a list of nodes that trust each other. Symbolically you could thing of this as a VPC.

To do this, you only have to implement the "Network" interface:

import { Peerbit, Network } from 'peerbit'
import { Log } from '@peerbit/log'
import { Program } from '@peerbit/program' 
import { TrustedNetwork } from '@peerbit/trusted-network' 
import { field, variant } from '@dao-xyz/borst-ts' 

@variant("string_store") 
@network({property: 'network'})
class StringStore extends Program
{
    @field({type: Store})
    log: Log<Uint8Array>

    @field({type: TrustedNetwork}) 
    network: TrustedNetwork // this is a database storing all peers. Peers that are trusted can add new peers

    constructor(properties:{ log: Store<any>, network: TrustedNetwork }) {
       
		this.log = properties.store
		this.network = properties.network;
        
    }

    async setup() 
    {
        await store.setup({ encoding: ... , canPerform: ..., index: {... canRead ...}})
        await trustedNetwork.setup()
    }
}


// Later 
const peer1 = await Peerbit.create(LIBP2P_CLIENT, {... options ...})
const peer2 = await Peerbit.create(LIBP2P_CLIENT_2, {... options ...})

const programPeer1 = await peer1.open(new StringStore({log: new Log(), network: new TrustedNetwork()}), {... options ...})

// add trust to another peer
await program.network.add(peer2.identity.publicKey) 


// peer2 also has to "join" the network, in practice this means that peer2 adds a record telling that its Peer ID trusts its libp2p Id
const programPeer2 = await peer2.open(programPeer1.address, {... options ...})
await peer2.join(programPeer2) // This might fail with "AccessError" if you do this too quickly after "open", because it has not yet received the full trust graph from peer1 yet

See this test(s) for working examples

4.1.28-63e24d5

1 year ago

4.1.61-a1dd3d8

12 months ago

4.1.97-7ca5c48

9 months ago

4.1.49-da013fc

1 year ago

4.1.43-49afc60

1 year ago

4.1.30-6b5241d

1 year ago

4.1.74-6ba92be

11 months ago

4.1.83-327e5c9

10 months ago

4.1.101-c66c749

9 months ago

4.1.31-2ec6eb5

1 year ago

4.1.41-961cb66

1 year ago

4.1.52-ee20213

12 months ago

4.1.77-ed011b4

11 months ago

4.1.73-fbb4e31

11 months ago

4.1.66-9084059

11 months ago

4.1.36-e5510e0

1 year ago

4.1.102-dbba3c6

9 months ago

4.1.47-58dee0c

1 year ago

4.1.100-b1540c6

9 months ago

4.1.58-df2357c

12 months ago

4.1.87-2f92713

10 months ago

4.1.55-e9b2c20

12 months ago

4.1.62-821030a

12 months ago

4.1.93-8d1952b

10 months ago

4.1.83-ca1f7f3

10 months ago

4.1.54-aea0cef

12 months ago

4.1.104-f511993

9 months ago

4.1.39-17e5d15

1 year ago

4.1.36-313f84c

1 year ago

4.1.92-363580e

10 months ago

4.1.44-182ba4d

1 year ago

4.1.71-263159d

11 months ago

4.1.99-9c1dc07

9 months ago

4.1.20-e5f6c17

1 year ago

4.1.94-523d88d

10 months ago

4.1.96-a547831

10 months ago

4.1.105-1169e60

9 months ago

4.1.35-837e7f1

1 year ago

4.1.33-115f7aa

1 year ago

4.1.82-c5744ae

10 months ago

4.1.37-e0eabcf

1 year ago

4.1.81-1e362c1

10 months ago

4.1.75-f151ed4

11 months ago

4.1.34-b900404

1 year ago

4.1.72-9930e60

11 months ago

4.1.72-7c08aa6

11 months ago

4.1.34-617e97c

1 year ago

4.1.17-05f4bef

1 year ago

4.1.67-592398d

11 months ago

4.1.74-c5f9b43

11 months ago

4.1.29-c0de42e

1 year ago

4.1.38-03f5b18

1 year ago

4.1.88-22acbe9

10 months ago

4.1.21-39e9da6

1 year ago

4.1.18-10f303c

1 year ago

4.1.23-03739af

1 year ago

4.1.70-a4bb1df

11 months ago

4.1.30

1 year ago

4.1.31

1 year ago

4.1.32

1 year ago

4.1.33

1 year ago

4.1.64-6335205

11 months ago

4.1.38

1 year ago

4.1.39

1 year ago

4.1.34

1 year ago

4.1.35

1 year ago

4.1.56-bf9c70f

12 months ago

4.1.36

1 year ago

4.1.37

1 year ago

4.1.50-c709e20

1 year ago

4.1.20

1 year ago

4.1.21

1 year ago

4.1.22

1 year ago

4.1.57-5226a66

12 months ago

4.1.45-e5392af

1 year ago

4.1.27

1 year ago

4.1.28

1 year ago

4.1.29

1 year ago

4.1.23

1 year ago

4.1.24

1 year ago

4.1.25

1 year ago

4.1.26

1 year ago

4.1.42-d8eb9b0

1 year ago

4.1.54-a70fbaa

12 months ago

4.1.52

1 year ago

4.1.53

12 months ago

4.1.54

12 months ago

4.1.55

12 months ago

4.1.50

1 year ago

4.1.86-f5a378c

10 months ago

4.1.51

1 year ago

4.1.56

12 months ago

4.1.57

12 months ago

4.1.58

12 months ago

4.1.59

12 months ago

4.1.60-5652381

12 months ago

4.1.41

1 year ago

4.1.42

1 year ago

4.1.19-91f517a

1 year ago

4.1.43

1 year ago

4.1.44

1 year ago

4.1.23-6d2cda9

1 year ago

4.1.40

1 year ago

4.1.49

1 year ago

4.1.23-27dca31

1 year ago

4.1.45

1 year ago

4.1.46

1 year ago

4.1.47

1 year ago

4.1.48

1 year ago

4.1.16-5cf61cb

1 year ago

4.1.58-e3e1b7f

12 months ago

4.1.43-bae87a5

1 year ago

4.1.66-d4093c8

11 months ago

4.1.76-8df5439

11 months ago

4.1.68-e16ac5f

11 months ago

4.1.79-cd90eb0

11 months ago

4.1.91-6c5db3c

10 months ago

4.1.95-2292bf0

10 months ago

4.1.102-9ef01e7

9 months ago

4.1.14-1c77281

1 year ago

4.1.80-61266e7

10 months ago

4.1.32-d0d863b

1 year ago

4.1.85-fb47029

10 months ago

4.1.16

1 year ago

4.1.22-8abb258

1 year ago

4.1.17

1 year ago

4.1.18

1 year ago

4.1.19

1 year ago

4.1.15

1 year ago

4.1.89-79582c9

10 months ago

4.1.90-a762412

10 months ago

4.1.53-12d090c

12 months ago

4.1.98-470ffb3

9 months ago

4.1.103-f2d727c

9 months ago

4.1.98-b3a3de9

9 months ago

4.1.27-a4ac71a

1 year ago

4.1.94-902158c

10 months ago

4.1.89-951a98f

10 months ago

4.1.46-2de0560

1 year ago

4.1.59-b4531d8

12 months ago

4.1.24-43685b6

1 year ago

4.1.49-baf4bd8

1 year ago

4.1.40-a97d716

1 year ago

4.1.22-f5c8aec

1 year ago

4.1.89-820506

10 months ago

4.1.80-d8e5bfb

10 months ago

4.1.25-7d319f1

1 year ago

4.1.106

9 months ago

4.1.101-29724c7

9 months ago

4.1.98-077dde4

9 months ago

4.1.102

9 months ago

4.1.103

9 months ago

4.1.104

9 months ago

4.1.105

9 months ago

4.1.100

9 months ago

4.1.101

9 months ago

4.1.74

11 months ago

4.1.75

11 months ago

4.1.76

11 months ago

4.1.77

11 months ago

4.1.54-f0d763d

12 months ago

4.1.70

11 months ago

4.1.71

11 months ago

4.1.72

11 months ago

4.1.73

11 months ago

4.1.84-3a4b77c

10 months ago

4.1.78-b9539fc

11 months ago

4.1.78

11 months ago

4.1.102-c7dcc32

9 months ago

4.1.79

11 months ago

4.1.63-a2796fd

11 months ago

4.1.15-4d7d8ba

1 year ago

4.1.63

12 months ago

4.1.64

11 months ago

4.1.65

11 months ago

4.1.66

11 months ago

4.1.60

12 months ago

4.1.61

12 months ago

4.1.62

12 months ago

4.1.27-5fa75cc

1 year ago

4.1.67

11 months ago

4.1.68

11 months ago

4.1.69

11 months ago

4.1.58-d9795af

12 months ago

4.1.90

10 months ago

4.1.91

10 months ago

4.1.96

10 months ago

4.1.97

10 months ago

4.1.98

9 months ago

4.1.99

9 months ago

4.1.92

10 months ago

4.1.93

10 months ago

4.1.94

10 months ago

4.1.95

10 months ago

4.1.69-61928d4

11 months ago

4.1.50-b25d754

1 year ago

4.1.65-e182140

11 months ago

4.1.51-6dbebf0

1 year ago

4.1.26-f461b9a

1 year ago

4.1.80

11 months ago

4.1.48-8cae2b9

1 year ago

4.1.85

10 months ago

4.1.86

10 months ago

4.1.87

10 months ago

4.1.78-e280087

11 months ago

4.1.88

10 months ago

4.1.81

10 months ago

4.1.82

10 months ago

4.1.83

10 months ago

4.1.84

10 months ago

4.1.82-bf22247

10 months ago

4.1.89

10 months ago

4.1.11-81d59ee

1 year ago

4.1.11-8cf50a6

1 year ago

4.1.13-c679a0d

1 year ago

4.1.13-8bec89f

1 year ago

4.1.11-7295b96

1 year ago

4.1.12-1a3d976

1 year ago

4.1.13-30333b6

1 year ago

4.1.12

1 year ago

4.1.14

1 year ago

4.1.11-9aa0186

1 year ago

4.1.11-c577601

1 year ago

4.1.10-b6f9aa8

1 year ago

4.1.11

1 year ago

4.1.10-5614dfb

1 year ago

4.1.8

1 year ago

4.1.9

1 year ago

4.1.9-9559b10

1 year ago

4.1.7-d83d7e7

1 year ago

4.1.9-a6d0306

1 year ago

4.1.10

1 year ago

4.1.9-e9a5cd4

1 year ago

4.1.8-01f2c90

1 year ago

4.1.7

1 year ago

4.1.6-737a4d7

1 year ago

4.1.5-2f48d18

1 year ago

4.1.1-88f45c3

1 year ago

4.1.3-0b8baa8

1 year ago

4.1.2-a3e5123

1 year ago

4.1.5-a2cffec

1 year ago

4.1.4-29dd1b8

1 year ago

4.1.4

1 year ago

4.1.3

1 year ago

4.1.6

1 year ago

4.1.5

1 year ago

4.1.2

1 year ago

4.0.1-eb9dc6e

2 years ago

4.0.8-7872365

2 years ago

4.0.6-a0a3f23

2 years ago

4.0.5-171d517

2 years ago

4.0.0-3a75d6e

2 years ago

4.0.5

2 years ago

4.0.13-e1db01f

2 years ago

4.0.4

2 years ago

4.0.7

2 years ago

4.0.6

2 years ago

4.0.1

2 years ago

4.0.0

2 years ago

4.1.0-57b8640

1 year ago

4.0.3

2 years ago

4.0.2

2 years ago

4.0.13-42268a2

2 years ago

4.0.5-1d1274c

2 years ago

4.0.9-4b0fbf1

2 years ago

4.0.2-2bc15a6

2 years ago

4.0.9

2 years ago

4.0.8

2 years ago

4.0.4-bf3e3ed

2 years ago

4.0.5-65f11ae

2 years ago

4.0.8-b57d808

2 years ago

4.0.7-2d408db

2 years ago

4.0.5-2b760c3

2 years ago

4.1.1-4ec760d

1 year ago

4.0.9-343b1fa

2 years ago

4.0.5-5901172

2 years ago

4.0.4-5b40851

2 years ago

4.0.14-ccaf4f4

2 years ago

4.0.9-8c33ab6

2 years ago

4.0.9-325235b

2 years ago

3.0.40-cccc078

2 years ago

4.0.0-934594a

2 years ago

4.0.12

2 years ago

4.0.11

2 years ago

4.0.14

2 years ago

4.0.13

2 years ago

4.0.10-61d3cec

2 years ago

4.0.11-c07c1c7

2 years ago

4.0.3-9e66213

2 years ago

4.0.1-ac53fba

2 years ago

4.0.5-372e20f

2 years ago

4.0.12-d66695a

2 years ago

4.0.3-5e0d4ec

2 years ago

4.0.7-a16b978

2 years ago

4.0.7-5ed4c57

2 years ago

4.0.0-55cebfe

2 years ago

4.1.0-b064d22

2 years ago

4.1.0

2 years ago

4.1.1

1 year ago

4.0.5-8b0cac0

2 years ago

3.0.40-218a5bb

2 years ago

3.0.40-aa577a5

2 years ago

3.0.40-0691c73

2 years ago

3.0.40-efee9d3

2 years ago

3.0.40-a9206a8

2 years ago

3.0.40-a4f88b6

2 years ago

3.0.40

2 years ago

3.0.39

2 years ago

3.0.35

2 years ago

3.0.38

2 years ago

3.0.36

2 years ago

3.0.37

2 years ago

3.0.34

2 years ago

3.0.33

2 years ago

3.0.32

2 years ago

3.0.30

2 years ago

3.0.31

2 years ago

3.0.27

2 years ago

3.0.28

2 years ago

3.0.26

2 years ago

3.0.29

2 years ago

3.0.25

2 years ago

3.0.23

2 years ago

3.0.24

2 years ago

3.0.21

2 years ago

3.0.22

2 years ago

3.0.20

2 years ago

3.0.19

2 years ago

3.0.18

2 years ago

3.0.17

2 years ago

3.0.16

2 years ago

3.0.15

2 years ago

3.0.12

2 years ago

3.0.11

2 years ago

3.0.14

2 years ago

3.0.10

2 years ago

3.0.8

2 years ago

3.0.9

2 years ago

3.0.7

2 years ago

3.0.6

2 years ago

3.0.5

2 years ago

3.0.4

2 years ago

3.0.3

2 years ago

3.0.2

2 years ago

3.0.1

2 years ago

2.0.21

2 years ago

2.0.20

2 years ago

2.0.19

2 years ago

2.0.18

2 years ago

2.0.17

2 years ago

2.0.16

2 years ago

2.0.15

2 years ago

2.0.14

2 years ago

2.0.13

2 years ago

2.0.12

2 years ago

2.0.11

2 years ago

2.0.10

2 years ago

2.0.9

2 years ago

2.0.8

2 years ago

2.0.7

2 years ago

2.0.6

2 years ago

2.0.5

2 years ago

2.0.4

3 years ago

2.0.3

3 years ago

2.0.2

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.0.17

3 years ago

1.0.16

3 years ago

1.0.15

3 years ago

1.0.14

3 years ago

1.0.13

3 years ago

1.0.12

3 years ago

1.0.11

3 years ago

1.0.10

3 years ago

1.0.9

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago