Safe Transaction Ledger

I have been thinking about using appendable data as a transaction ledger. This would be a way to record the movement of data between different users. This data could be anything that could be referenced on the safe network as a data item.

Using a sort of double entry bookkeeping system, the current owner would send (the seller debits their account) the data item to a new owner (the buyer credit their account). This would allow the seller to initiate the transaction and the buyer to confirm it has been completed. Given the underlying data item may be a token representing a physical item being delivered, the buyer confirmation would be useful.

The seller would sign the data in some way as a receipt (from the previous receipt perhaps). The buyer would do likewise to prove they have accepted it. This would be recorded to the appendable data item, as a sequence of transactions.

To initiate the ledger, the original owner could enter 2 transactions, as the essentially sell it to themselves, with the seller being generated data in some way. There could also be some meta data which identifies the address of the data being stored in the ledger.

So, the data structure may look something like the following.

entry, owner, receipt, action
entry1: data item creator, data item address signed by data item creator, sell
entry2: owner1, (entry1 receipt) signed, buy
entry3: owner1, (entry2 receipt + buyer id) signed, sell
entry4: owner2, (entry3 receipt) signed, buy

Anyway, details aren’t necessary at this stage. What got me thinking, was use cases.

So, you could have a PDF (contract, property deeds, etc) stored on safe network as the data item address. It could be a picture, audio, video. It could be a unique ID number of some sort, which represents a physical object.

I suppose the above has all been talked about before, so nothing that new there. Then I got thinking some more. What if the data item address was a bitcoin address? What if it could be a bitcoin proof of burn address? Could this be a way of transferring bitcoins to safe network? Would it allow bitcoins to gain many of the safe network benefits, such as fast transfers, very low fees, etc, while maintaining transfer history (while on safe network)?

Is the solution to bitcoin scalability to transfer them to safe network?

Anyway, supping wine and haven’t re-read the above. I was going to add more detail, but I think I’m going to enjoy my Saturday evening instead. Let me know what you think though! :slight_smile:

7 Likes

Would you burn your Bitcoin to get some token on safenetwork without beeing able to convert it back?

1 Like

You’ve just illustrated how a single datatype on the Safe Network can replace an entire blockchain.

5 Likes

I suppose I’m thinking you may transfer some smaller amounts to spend as cash for small transactions. At least at first anyway.

Maybe side chains or some such could make it 2 way? I don’t know enough about that. I can grok what burn addresses are about though, so thought I’d start here.

I was thinking about this concept of moving chains into safenetwork, and it is probably impossible to do it correctly without implementing whole blockchain software into elders. But, maybe that is not required at all. Maybe the network can be agnostic. Simply let people store BTC transactions on safenetwork. It does not matter whether those are real or fake. For simplicity let say, there are only 2 actors, me and you. I am uploading both correct and fake transactions and those transactions are public data that anybody can download, but are labeled that I am uploding them. You are hones player, and you are uploading each block correctly in real time. So a client software can check your and mine uploads and compare them with real blockchain using some blockchain explorer api. Your data will build trust intantly and mine will be worthless. So, this way we can solve blockchain history. Simply client software will pick the most reputable one. Now we can build any read only software that can use that data. We can even creat real wallet software, that will read that data instantly without need to download whole blockchain copy. This instant data can be trusted much more than any centralized service.Because this data was verified by many client users and general trust is high. Now, can a client wallet do a transaction on safenetwork? Of course it can, simply create transaction and publish it from client software to the related blockchain network. Wallet is downloaded and run from safenetwork and it just need to implement transaction broadcast to the blockchain network.
So now we have a solution for any crypto wallet, that loads instnatly, can see instnalty history without need for syncing and does not require centralized service. Transactions broadcasting can be done even via safenetwork. Simply I can run a full node and receive transaction messages via safenetwork from anybody and then I can publish them to the blockchain network.
So, in this state, blockchain uploading is done by users who are trusted based on their previous upload hisotry verified by many users many times. Such uploads are public and if a single transaction is fake than it will be detectable many years after that transaction is published.
Broadcasting of transactions can be done same way, simply anyone can create a safenetwork client, that will act as gateway that will publish such transctions to the network. In this state safentwork does nothing, just server blockchain data in any format for easy use.

Form this state, if you want to enhance blockchain itself, by allowing fast transactions, than you need some bitcoin lightning equivalent. By that I mean, safenetwork itself has to handle mechanism in which it owns access to private keys of burning address by multisig, where mutlisig is owned by big group of elders. Then you can do your idea, where bitcoins can move instantly in zero time as you dscribed. But in the end, Safenetwork has to do final BTC transaction, where it uses those “burned” BTC, creates a BTC transactions, signs it with that multisig and write that transaction to some published safenetwork data. Then anybody in the world, including you can read such public data, and push them to the blockchain network or use that gateway described before. This way, safenetwork is completely BTC /or ny other chain agnostic. It just handles multisig ownership of the burning address and when is asked for payout, it signs the payout transaction.(It just need to verify ownership of such BTC token equivalent on safenetwork, to make sure the one asking for signiture is an owner of that safenetwork wrapped BTC token). This signed transaction is just stored. This means: Safenetwork itself does not know anyhting about blockchains. It just signs multisig transaction, if wrapped token is verifiable owned by owner. Safenetwork does not care, whether actual “burn” transaction happened on blockchain. It will sign the payout transaction without knowing whehter there was anything at all deposited. This means, client software has to check originality of that burn transaction, whether it happend and is valid, by using one of those trusted sources. If it is valid, than all those spendings of that token are valid. This means, client software has to check, when merging unspend outputs whether all those burn transactions happend on all inputs, when doing any in network trsnsction or payout. Safenetwork will sign fake and valid BTC transactions, so it has to be done on client.

Safenetwork does only this:

1.Handles creating of burn address with multisig ownership by many elders.
2. Manages internal transactiosn of wrapped BTC in the network
3. Sings real BTC transactions, when people want to move locked BTC out of the network.

Complexity of the task:
clients: should be pretty easy, checking whether something is fake or not is quite easy, simply pick the trusted source.

Network complexity:

  1. Some form of Multisig ownership have to be already implemented for safecoin already. This sould be doable.
  2. Tracking of wrapped tokens is comparable to complexity of any token on safenetwork.
  3. Signign of BTC transaction, this is just a signature and PUT operation. Client will send transaction details open text. Client can creat exact format of tha transaction, and Safenetwork will sign it only if he proves ownership of wrapped token for that amount. Maybe there is more complexity with checking of unspend outputs and atual amount in the signed transaction, but generally it should be abstract enough, to support all the BTC clones without aditional complexity. After signing nothing changes, safenetwork can be asked again and again to sign any transaction with that multisig, because it does not know whether the transaction was correct, or published to blockchain network. This is again a task for a client to verify it.

All this enables instant transactions with 0 costs for any blockhain software.

4 Likes

I suppose I’m thinking just KISS principle. A bitcoin burn address used to create the first ledger entry would have a unique address on safe network (iirc). So, a burn would have a single matching safe ledger address. That would allow a transfer between networks without duplicates.

I know it is one way, but minting a small number of safe satoshis from you bitcoin stash, could be useful. It lets people spend easily and quickly, for small transactions (coffee, shopping, tips, etc), while keeping their main stash on the bitcoin blockchain.

These safe satoshis would then permanently circulate on safe network, with their value moving in lock step with bitcoin.

Ofc, you would need a safe network aware client, but then you need a lightning client for similar too. However, you don’t need to keep a node online, use hosted options, etc. It would be fully distributed.

By happy accident, it would also make trading between bitcoin and safe network tokens a trivial operation, as both would exist on safe network.

2 Likes

But the prolem with checking whether that transction actualy happen on bitcoin chain remains.
Also what value would have such token, if I can’t convert it back?
If the goal is to bring existing BTC cmmunity, maybe there can be an initial airdrop of safecoins. Like 1 SNT for 1 BTC, this will no increse a complexity, becase we already need to solve the problem with crediting from OMNI Maid, which is basically BTC.

So you need to create a BTC client software, that will implement safenetwork api. And all the BTC users have to use it to value those wraped tokens in similar way.

The solution I suggested is more complicated, but it allows to use Bitcoin o safenetwork without need todo any changes on blockhain software. All tokens ar transferable back to BTC. So it is like a ightning network, but in lightning there is a 1:1 relatinship. On safenetwork it is everyone to everyone. In lightning network you hve to trst cenralized entity, on Safenetwork you don’t trust anybody and your client software checks everything based on many public immutable copies of the chain.

I don’ say, there is not a usecase in your ideas. Your solution is not only KISS but also doable without any changes in the safentwork itself. I just wanted to propose this solution, since in my opinion it allows simple way to solve blochchai scalling problem. And it is way simpler to bring new technology to the mot valuable crypto coin than to beat it in market cap. Just this usecase alone would make the network extremelly valuable and popular.

2 Likes