BsafeDecentralized storage

Why Bsafe

Storage owned by its nodes.

Bsafe is a decentralized storage network. Your files are encrypted on your device, then spread across independent node operators who are paid by a public contract. No single company owns the disks your data lives on.

01

Decentralized where it counts.

Bsafe is built in layers. The ones that hold your data, your money and your keys don't depend on any single company, and network services tie them together.

Storage layer

Anyone with spare disk

Every file is copied to three nodes, owned by three different operators whenever the network has them. Nodes join with a single-use token, prove their identity with their own key and can leave at any time. No company owns the disks.

Decentralized

Money layer

The StorageIncentive contract

Storage payments go into a public contract on Ethereum. Most of each payment lands in a reward pool that only node operators can be paid from, and the contract caps every payout at what the pool holds.

Decentralized

Key layer

Your browser

Files and their names are encrypted in your browser before they leave it. No server and no node ever needs your plaintext.

Decentralized

Coordination layer

The coordinator

Admits nodes, picks where copies go, watches every node's health, rebuilds lost copies and settles rewards. It routes only encrypted data, and the contract stops it from paying out more than the pool holds.

Network service

Index layer

The backend

Signs you in with your wallet, checks every payment against the chain, and keeps the encrypted index of which nodes hold which copy.

Network service
02

Don't trust. Verify.

You shouldn't have to take our word for anything. These are the parts you can check for yourself.

01

The contract is public

StorageIncentive's source is verified on Etherscan. Anyone can read the price, the fee, the pool and every payout.

Live contract state
02

Encryption runs where you can see it

Keys are derived and files sealed by JavaScript running in your own browser tab. Inspect it, or watch the network tab: only ciphertext leaves.

Security model
03

Node software is open

Operators run open-source code. It accepts requests only from the coordinator and stores bytes it can't read.

Run a node
04

Payments are checked six ways

Uploads unlock only when the chain, the contract, the call, the exact amount, the confirmations and the purchase event all match.

How payments are checked

What you don't need to trust

  • Node operators: they only ever hold ciphertext
  • Whoever runs the network, with operator money: the contract enforces every payout
  • A password database: there isn't one
03

Encrypted on your device.

Your files are sealed in your browser before they go anywhere. Every layer of the network sees less than you do.

  1. 01

    Unlock message

    Your browser builds a fixed message that includes your wallet address.

  2. 02

    HKDF-SHA256

    The message hash is stretched into a 256-bit unlock key, on your device.

  3. 03

    Vault key

    A random 256-bit key, made once in your browser and stored only wrapped under the unlock key.

  4. 04

    AES-256-GCM

    Every file and its name is sealed with a fresh IV. A single changed byte breaks the seal.

Storage nodesRandom bytes under random IDs
CoordinatorOpaque blobs, sizes, node addresses
BackendEncrypted index and names, wrapped key
YouEverything
04

What if it's breached?

Assume any one part is compromised. Here is exactly what an attacker gets, and what they still can't do.

If an attacker controls

A storage node

They get
Encrypted copies under random IDs: no names, no owner, no key.
They can't
Read your files, or change one without detection. A tampered copy fails AES-GCM's check and is served from another node.

If an attacker controls

The coordinator

They get
Node addresses, the encrypted blobs it routes, and its settler key.
They can't
Decrypt anything. With its settler key it can only pay registered operators from the pool, and never more than the pool holds.

If an attacker controls

The network path

They get
Ciphertext in transit, inside TLS on public links.
They can't
Read it or alter it unnoticed. Encryption happens before anything is sent.

If an attacker controls

Someone faking a payment

They get
Nothing. Six on-chain checks stand between a fake hash and your storage.
They can't
Reuse a hash, pay the wrong contract, underpay, or skip confirmations.
05

Built to keep your data.

Three copies on three independent nodes, watched every five seconds and rebuilt automatically. Here is how the network handles failures.

  1. Handled automaticallyA node goes offline or loses its disk

    Detected within about 15 seconds. Every copy it held is rebuilt on another node from a healthy replica.

  2. Handled automaticallyTwo nodes fail at once

    The third copy keeps serving your file and seeds the rebuild of the other two.

  3. Handled automaticallyA copy is corrupted or tampered with

    AES-GCM rejects it on download, and the file is read from another copy.

  4. Handled automaticallyAn operator retires a node

    Its copies move to other nodes before it shuts down. Nothing is dropped.

  5. Handled automaticallyAn operator goes rogue

    They hold only ciphertext, and the other copies of every file sit with different operators.

06

Next to the alternatives.

Cloud drives keep your files and your keys. IPFS shares freely but forgets. Storj is private and durable but bills like a cloud. As understood at the time of writing; check each project's own docs.

BsafeCloud drivesStorjIPFS
Who holds the disksYes:Independent node operatorsNo:One companyYes:Independent operatorsYes:Anyone who pins
Encrypted before uploadYes:In your browser, names too~Partly:At rest, with the provider's keysYes:Client-sideNo:Public by default
Stays stored on its ownYes:3 copies, auto-repairYes:Provider-managedYes:Erasure coding, auto-repair~Partly:Only while pinned
Sign-inYes:Wallet signatureNo:Email and password~Partly:AccountYes:None
PaymentYes:Once, on-chainNo:Subscription~Partly:Monthly usageNo:Not built in
Operators paid byYes:A public contract, in ETHNo:n/a~Partly:Storj, monthly, in a tokenNo:Nobody
Self-repair speedYes:About 15 seconds~Partly:Provider-managedYes:AutomaticNo:None
07

What's next.

Where the network is heading. Directions we are working towards, not promises.

  1. Next

    Wallet-signature keys

    Derive vault keys straight from a wallet signature, binding your files even more tightly to your wallet.

  2. Next

    Storage proofs

    Regular challenges where every node proves it holds its copies, with rewards tied to passing them.

  3. Later

    Operator bonds

    Operators lock $BSAFE as a bond that can be slashed for proven data loss. The contract is written and ready for the token.

  4. Later

    Portable file index

    Export and hold your own encrypted index, wherever you want it.

  5. Later

    On-chain node registry

    Node admission and reward rates published on-chain for anyone to check.

  6. Later

    Many coordinators

    Several independent coordinators working side by side across the network.

  7. Later

    Erasure coding

    The same durability as three full copies, using less disk.

Go deeper

The whole design, one paper.