4.1.106 • Published 7 months ago

@peerbit/trusted-network v4.1.106

Weekly downloads
-
License
MIT
Repository
-
Last release
7 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

11 months ago

4.1.61-a1dd3d8

9 months ago

4.1.97-7ca5c48

7 months ago

4.1.49-da013fc

10 months ago

4.1.43-49afc60

10 months ago

4.1.30-6b5241d

11 months ago

4.1.74-6ba92be

9 months ago

4.1.83-327e5c9

8 months ago

4.1.101-c66c749

7 months ago

4.1.31-2ec6eb5

11 months ago

4.1.41-961cb66

10 months ago

4.1.52-ee20213

10 months ago

4.1.77-ed011b4

9 months ago

4.1.73-fbb4e31

9 months ago

4.1.66-9084059

9 months ago

4.1.36-e5510e0

11 months ago

4.1.102-dbba3c6

7 months ago

4.1.47-58dee0c

10 months ago

4.1.100-b1540c6

7 months ago

4.1.58-df2357c

10 months ago

4.1.87-2f92713

8 months ago

4.1.55-e9b2c20

10 months ago

4.1.62-821030a

9 months ago

4.1.93-8d1952b

7 months ago

4.1.83-ca1f7f3

8 months ago

4.1.54-aea0cef

10 months ago

4.1.104-f511993

7 months ago

4.1.39-17e5d15

10 months ago

4.1.36-313f84c

11 months ago

4.1.92-363580e

8 months ago

4.1.44-182ba4d

10 months ago

4.1.71-263159d

9 months ago

4.1.99-9c1dc07

7 months ago

4.1.20-e5f6c17

12 months ago

4.1.94-523d88d

7 months ago

4.1.96-a547831

7 months ago

4.1.105-1169e60

7 months ago

4.1.35-837e7f1

11 months ago

4.1.33-115f7aa

11 months ago

4.1.82-c5744ae

8 months ago

4.1.37-e0eabcf

10 months ago

4.1.81-1e362c1

8 months ago

4.1.75-f151ed4

9 months ago

4.1.34-b900404

11 months ago

4.1.72-9930e60

9 months ago

4.1.72-7c08aa6

9 months ago

4.1.34-617e97c

11 months ago

4.1.17-05f4bef

12 months ago

4.1.67-592398d

9 months ago

4.1.74-c5f9b43

9 months ago

4.1.29-c0de42e

11 months ago

4.1.38-03f5b18

10 months ago

4.1.88-22acbe9

8 months ago

4.1.21-39e9da6

12 months ago

4.1.18-10f303c

12 months ago

4.1.23-03739af

11 months ago

4.1.70-a4bb1df

9 months ago

4.1.30

11 months ago

4.1.31

11 months ago

4.1.32

11 months ago

4.1.33

11 months ago

4.1.64-6335205

9 months ago

4.1.38

10 months ago

4.1.39

10 months ago

4.1.34

11 months ago

4.1.35

11 months ago

4.1.56-bf9c70f

10 months ago

4.1.36

11 months ago

4.1.37

11 months ago

4.1.50-c709e20

10 months ago

4.1.20

12 months ago

4.1.21

12 months ago

4.1.22

12 months ago

4.1.57-5226a66

10 months ago

4.1.45-e5392af

10 months ago

4.1.27

11 months ago

4.1.28

11 months ago

4.1.29

11 months ago

4.1.23

12 months ago

4.1.24

11 months ago

4.1.25

11 months ago

4.1.26

11 months ago

4.1.42-d8eb9b0

10 months ago

4.1.54-a70fbaa

10 months ago

4.1.52

10 months ago

4.1.53

10 months ago

4.1.54

10 months ago

4.1.55

10 months ago

4.1.50

10 months ago

4.1.86-f5a378c

8 months ago

4.1.51

10 months ago

4.1.56

10 months ago

4.1.57

10 months ago

4.1.58

10 months ago

4.1.59

10 months ago

4.1.60-5652381

10 months ago

4.1.41

10 months ago

4.1.42

10 months ago

4.1.19-91f517a

12 months ago

4.1.43

10 months ago

4.1.44

10 months ago

4.1.23-6d2cda9

11 months ago

4.1.40

10 months ago

4.1.49

10 months ago

4.1.23-27dca31

11 months ago

4.1.45

10 months ago

4.1.46

10 months ago

4.1.47

10 months ago

4.1.48

10 months ago

4.1.16-5cf61cb

12 months ago

4.1.58-e3e1b7f

10 months ago

4.1.43-bae87a5

10 months ago

4.1.66-d4093c8

9 months ago

4.1.76-8df5439

9 months ago

4.1.68-e16ac5f

9 months ago

4.1.79-cd90eb0

8 months ago

4.1.91-6c5db3c

8 months ago

4.1.95-2292bf0

7 months ago

4.1.102-9ef01e7

7 months ago

4.1.14-1c77281

1 year ago

4.1.80-61266e7

8 months ago

4.1.32-d0d863b

11 months ago

4.1.85-fb47029

8 months ago

4.1.16

1 year ago

4.1.22-8abb258

12 months ago

4.1.17

12 months ago

4.1.18

12 months ago

4.1.19

12 months ago

4.1.15

1 year ago

4.1.89-79582c9

8 months ago

4.1.90-a762412

8 months ago

4.1.53-12d090c

10 months ago

4.1.98-470ffb3

7 months ago

4.1.103-f2d727c

7 months ago

4.1.98-b3a3de9

7 months ago

4.1.27-a4ac71a

11 months ago

4.1.94-902158c

7 months ago

4.1.89-951a98f

8 months ago

4.1.46-2de0560

10 months ago

4.1.59-b4531d8

10 months ago

4.1.24-43685b6

11 months ago

4.1.49-baf4bd8

10 months ago

4.1.40-a97d716

10 months ago

4.1.22-f5c8aec

12 months ago

4.1.89-820506

8 months ago

4.1.80-d8e5bfb

8 months ago

4.1.25-7d319f1

11 months ago

4.1.106

7 months ago

4.1.101-29724c7

7 months ago

4.1.98-077dde4

7 months ago

4.1.102

7 months ago

4.1.103

7 months ago

4.1.104

7 months ago

4.1.105

7 months ago

4.1.100

7 months ago

4.1.101

7 months ago

4.1.74

9 months ago

4.1.75

9 months ago

4.1.76

9 months ago

4.1.77

9 months ago

4.1.54-f0d763d

10 months ago

4.1.70

9 months ago

4.1.71

9 months ago

4.1.72

9 months ago

4.1.73

9 months ago

4.1.84-3a4b77c

8 months ago

4.1.78-b9539fc

8 months ago

4.1.78

8 months ago

4.1.102-c7dcc32

7 months ago

4.1.79

8 months ago

4.1.63-a2796fd

9 months ago

4.1.15-4d7d8ba

1 year ago

4.1.63

9 months ago

4.1.64

9 months ago

4.1.65

9 months ago

4.1.66

9 months ago

4.1.60

10 months ago

4.1.61

10 months ago

4.1.62

9 months ago

4.1.27-5fa75cc

11 months ago

4.1.67

9 months ago

4.1.68

9 months ago

4.1.69

9 months ago

4.1.58-d9795af

10 months ago

4.1.90

8 months ago

4.1.91

8 months ago

4.1.96

7 months ago

4.1.97

7 months ago

4.1.98

7 months ago

4.1.99

7 months ago

4.1.92

8 months ago

4.1.93

8 months ago

4.1.94

7 months ago

4.1.95

7 months ago

4.1.69-61928d4

9 months ago

4.1.50-b25d754

10 months ago

4.1.65-e182140

9 months ago

4.1.51-6dbebf0

10 months ago

4.1.26-f461b9a

11 months ago

4.1.80

8 months ago

4.1.48-8cae2b9

10 months ago

4.1.85

8 months ago

4.1.86

8 months ago

4.1.87

8 months ago

4.1.78-e280087

8 months ago

4.1.88

8 months ago

4.1.81

8 months ago

4.1.82

8 months ago

4.1.83

8 months ago

4.1.84

8 months ago

4.1.82-bf22247

8 months ago

4.1.89

8 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

1 year ago

4.0.8-7872365

1 year ago

4.0.6-a0a3f23

1 year ago

4.0.5-171d517

1 year ago

4.0.0-3a75d6e

1 year ago

4.0.5

1 year ago

4.0.13-e1db01f

1 year ago

4.0.4

1 year ago

4.0.7

1 year ago

4.0.6

1 year ago

4.0.1

1 year ago

4.0.0

1 year ago

4.1.0-57b8640

1 year ago

4.0.3

1 year ago

4.0.2

1 year ago

4.0.13-42268a2

1 year ago

4.0.5-1d1274c

1 year ago

4.0.9-4b0fbf1

1 year ago

4.0.2-2bc15a6

1 year ago

4.0.9

1 year ago

4.0.8

1 year ago

4.0.4-bf3e3ed

1 year ago

4.0.5-65f11ae

1 year ago

4.0.8-b57d808

1 year ago

4.0.7-2d408db

1 year ago

4.0.5-2b760c3

1 year ago

4.1.1-4ec760d

1 year ago

4.0.9-343b1fa

1 year ago

4.0.5-5901172

1 year ago

4.0.4-5b40851

1 year ago

4.0.14-ccaf4f4

1 year ago

4.0.9-8c33ab6

1 year ago

4.0.9-325235b

1 year ago

3.0.40-cccc078

1 year ago

4.0.0-934594a

1 year ago

4.0.12

1 year ago

4.0.11

1 year ago

4.0.14

1 year ago

4.0.13

1 year ago

4.0.10-61d3cec

1 year ago

4.0.11-c07c1c7

1 year ago

4.0.3-9e66213

1 year ago

4.0.1-ac53fba

1 year ago

4.0.5-372e20f

1 year ago

4.0.12-d66695a

1 year ago

4.0.3-5e0d4ec

1 year ago

4.0.7-a16b978

1 year ago

4.0.7-5ed4c57

1 year ago

4.0.0-55cebfe

1 year ago

4.1.0-b064d22

1 year ago

4.1.0

1 year ago

4.1.1

1 year ago

4.0.5-8b0cac0

1 year 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

2 years ago

2.0.3

2 years ago

2.0.2

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

1.0.17

2 years ago

1.0.16

2 years ago

1.0.15

2 years ago

1.0.14

2 years ago

1.0.13

2 years ago

1.0.12

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago