Possible attacks on Safecoin

Are coins actually specially treated like that?

It seems to me that this network is only secure once it’s big. And most of the security is in being unable to figure out how to contact and pay off the nodes running a close consensus (eg by their IP).

However, in our Intercoin project, we need to support security for transactons EVEN IF the whole network is only 3 computers. Because a community may start a new network. That’s why it seems we need additional mechanisms, not just trust a consensus of third party computers.

At 3 computers SAFE network is not secure against attacks. Only take a few instances of nodes to take it over. Including any ledgers or watchers since the attacker does whatever they please, since they in effect become the network and the 3 computers are just hanging on and have no valid say


Currently no, since there are no implemented ‘coins’ and there is no implemented ‘treatment’. We can only know how they’re treated once they’re implemented.

The intended design of safecoin depends on features that have since been eliminated (eg sacrificial chunks, old consensus rules) so the way safecoin will actually work cannot be known. The rfcs are out of date. The safecoin whitepaper is out of date. The ideas are there but they don’t have a clear path to implementation in the current codebase.

If you like to read code I’d recommend starting at safe_vault/…/mutation.rs for the current state of transactions / changing data ownership. It inevitably leads to routing/…/mutable_data.rs.

In light of that fairly giant caveat, I’m reasonably confident to guess that coins

  • will use the same secure messaging / routing protocol as all other md ownership changes
  • will operate on a transaction / atomic mechanism so cannot be partially completed
  • will have a built in notification system to alert new and old owners of their new balances
  • will have some built in accounting mechanism for converting safecoin to PUT options

and possible but not certain that coins

  • will have some built-in wallet function for tracking aggregated user-coins at the network level (possibly with additional third-party interfaces added on top of that built-in wallet functionality)
  • may be subject to additional verification rules via datachains based on the history of that coin, but I think this is unlikely

and then there’s the way they’ll be minted which is a whole other conversation…

fwiw I don’t see anything especially wrong with the proposal to have watchers. I’m just not yet convinced if the benefit is worth the cost. Hope this helps understand the current intent vs reality.


The watchers wouldn’t be part of the small network of 3 computers. They would be outside watchers, from other networks. But because they don’t run consensus and only store a very minimal set of information, they would be able to watch many many networks and sections at once. The watcher network would be hard to corrupt because:

  1. You can’t predict which watcher will be asking for the info in advance

  2. It take just one watcher to start to gossip a claim of violation

  3. No honest node would care about a false claim of violation, including honest Recipients, so this can only help, not hurt.

This works for currency in particular because dishonest recipients can only hurt themselves. For other mutable file types with other rules, it may not be as benign.