The power of DBCs on Safe Network

I think the first level of those swaps would be a (centralized) server operating as the matchmaker, but SAFE doing the notary in the background … e.g. non-custodial, but centralized operations and matchmaking.

The only condition I see is that SAFE has to support hash/timelock transactions (if there is another way to do atomic swaps, I am not sure. But non-custodial servers, even if centralized, are surely most of the way there. And it will work so much faster on SAFE than e.g. BTC (where you may have to wait for confirmations between several of the steps)

With just a few primitives, something like IDEX should be quite feasible on SAFE, but if elders were expected to process lots of logic, it could also weigh down the network quite heavily. As long as an atomic swap process is possible on SAFE, all else will follow.

1 Like

Should be since SNT sending is an atomic swap in effect. Otherwise possible to double spend

Yeah, true that, but the need is one step further than just the DBC transfer we’ve seen so far… yes, double spend is prevented for a simple transaction, but for the complex trade scenario, there is the added complication that you don’t want to expose your signed DBCs until you are sure that you have the counterparty’s signed DBCs and you both can unlock/spend them without a race condition. Your counterparty has the same need.

On BTC, this is done with hash/timelock transactions … both transactions are ‘decrypted’ at the same time, but are already in a hash/timelocked address so there is no possibility of a double spend by either party, and each party can complete the transaction with confidence.

On SAFE, there may or may not be this functionality yet, but the primitives to support it should be there.


1 way convert may not worth to do. There will be fungibility issue. BTC in bitcoin network will be not equal to BTC in maidsafe. (I am afraid that BTC in maidsafe will be treated as inferior) What about Ethereum ? Will it be possible to 2 way pegging with Ethereum? I think maidsafe should 2 way peg with Ethereum because of Tether. If there is no way that farmers convert their earnings with stable coin, I am afraid that there could be not much stable farming rate. I know you are not a big fan of Ethereum and overall smart contract. But Ethereum is getting momentum recently . BTC dominace is losing its territory to Ethereum. so we should focus on Ethereum I think.

1 Like

Are u referring to two way pegging?


The OP handles this because you can unwrap the BTC. I see no reason there would be a significant price differential because of that, and the fact there are pros and cons to both free and wrapped BTC.

The quote referred to the post above it.


I have always considered an atomic swap and exchange of assets between multiple parties, I.e. Party X gives party Y some A in exchange for B. So, 2 or more transactions which can either all succeed or all fail.

Ofc, atomic transactions to prevent double spends etc are awesome too, but the above would be far more powerful if possible.


Indeed! The major point I was fumbling to make is that, as I understand it, there is one more ingredient missing to enable that scenario. I mentioned hash/timelocks, but it doesn’t have to be that. A field covered by the DBC signature that says “only execute if another set of transactions (attached) with this hash are also valid” would do the same thing (but put maybe more work on the elders??). The architecture of SAFE gives multiple methods to resolve this, and so I do have confidence that it will be. Only point was saying that a two way transaction has an additional requirement over a transfer.


Couldn’t the dbc’s be minted in a secure way, so the senders / sellers had no way to even attempt a double spend?

I’m not sure you can ever stop an ‘attempt’, but presumably it isn’t possible to succeed. I’m not the best person to answer that though, but from what I’ve read from the team, they are robust.

1 Like

I’m no programmer, but I’d imagine a secure environment that no one could snoop on, maybe not possible, but would accomplish what we need.

From this PDF about DBC:


eCache DBCs encode information about who can spend the DBC, that is: Who the owner is. This is simply a hash of a public signing key that is used to verify any transaction in which that DBC is used. Any transaction command from the user to the mint has to be signed by the private key that corresponds to the public key encoded in the DBC, otherwise the mint will not process the transaction.

1 Like

So for a btc dbc, would that be the btc pvt key, or the Safe acc pvt key?
Because if its just the btc pvt key, and someone could snoop and see it, it wouldn’t be secure.

This is answered in the OP.

Ty, drinking so ill re read tomorrow. Didn’t recall op mentioning secure environments, but ill have a look once I’m sober.


How are DBCs transfers paid? I expect that SNT should be moved without any fees, as was said many times. But what about the tokens? Will be transfers free for any kind of DBC? I personally hope so, since it should increase adoption of tokens. Giving free tokens that are forced to pay tranaction fees in SNT makes them way harder to adopt and use. It is like ERC20 tokens or OMNI, dificult to use. I know, that SNT holders would love to profit from each token movement, but such requirement makes token addoption way harder and basically impossible to use when token is gived away to masses. Tokens should increase sefenetwork adoption and that should make price of SNT more valuable later.


I don’t think Maidsafe would ever unnecessarily charge for a transaction so I would suspect it comes down to spam attacks and the amount of load it could put on the network. DBC’s are light and fast and I believe the AT2 feature they adapted to DBC’s was signature aggregation by the client to avoid extra work for elders.

So that’s a great question. Is that enough for free transactions as long as it’s using the Safe Network DBC implementation? Do anti spam measures need to be in place in either case?
Any kind of data type based alt coin would be technically inferior though if was desired to mimic bitcoin with traceable public transactions then still possible but with fees certainly.


Any fees would be tiny, and not comparable to Blockchain so not fair to compare with the issues around Omni etc. Plus anyone creating a DBC is going to be asking the network to store data so it may be necessary to use fees to tie them into the SNT ecosystem. If not you’re allowing value to be extracted without participation.

So to me it isn’t clear that fees are either a significant impediment, or can be waived without creating risk.


xfers free of charge.

If you mean the actual dbc themselves then there are user choices.

  1. Store on Safe, so you pay for that
  2. Don’t store them on Safe, but keep them offline or in hw wallet etc. So no charge.

At least so far anyway. It seems to make sense, but payments would be hopefully imperceptible if storing on Safe. Not really a transaction charge in terms of something to stop spam. @Nigel is right, we hope the work clients need to do is enough to stop spam, otherwise, we will hashcash them.


The problem with fees is, that person first need to have SNT. So this is a big hurtle for user onboarding.
Imagine a business, that creates a web page on Safe network. Owner can create a token and wants to distribute it and wants users to use it. If users need to have SNT, than this token has very limited onboarding power. Safenetwork can be used in read mode, where SNT is not required to be owned. So such tokens could play a big role on new user onboarding to this read only mode.

And not only that, tokens could be used as antispam measure for website owner to enable free write for users. For example I could have a website, where each user gets some free tokens doing some action. Than that user can spend that token on my site and I can for example store his content on the network and pay for that with SNT instead of him. He pays me with my engagement internal token. This way, those users are practically paying for storage by their engagement on my site. And I am paying for it with real SNT.

Fair point. I am tryint to find a way, how to avoid those fees, or at least move costs to coin creator.