Bitcoin Forum
May 07, 2024, 02:41:39 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: OP_REMOVE?  (Read 599 times)
coins101 (OP)
Legendary
*
Offline Offline

Activity: 1456
Merit: 1000



View Profile
September 29, 2016, 03:43:35 PM
Last edit: September 30, 2016, 10:13:34 AM by coins101
 #1

Say Bob wants to generate an OP_RETURN with some information that will give his customer, Alice, a confirmation for purchase proof.

But neither Bob or Alice care about that confirmation still being held in the blockchain after x period. Let's say x period = 6 years for statute of limitations purposes, but it could equally be redundant data after 90 days, or an equivalent block time.

There could be many reasons for wanting an OP_RETURN message proof from being removed.

Executing an OP_RETURN should also be supplemented with another option for OP_RETURNREMOVE

This would give the person signing the OP_RETURNREMOVE with the option to set a removal date when the blockchain can effectively delete the data and maintain a record of its creation with a smaller size alternative or a group of OP_RETURNREMOVE signed with the same private key hashed into a single string and moved to the merkle root when they have common removal periods set at the outset (lets say its a retailer that does thousands of transactions each month).

So, this is not to replace OP_RETURN, but give an alternative with an expiry period on the full data. At the very least it could be an ignore function so some nodes just never download these messages when the expiry date is effective.

Edit

What the network needs, if it is to last 100+ years of data growth, is a rescan to remove these temporary pieces of information.

Whilst dangerous and not very practical to do, a rescan voted upon by 95% of miners, or some other consensus rule, could see temporary additional data removed.

For example, anyone using OP_RERTURNREMOVE, could be given fee incentives or penalties. Store your data for <90 days, then its almost free; 90-365 days the fee is x; and so on.

While some might use the chain for spam, if it's got a temporary life and people pay a fee for temporary storage, why not have this option?

Ok, let's face it. It's got some problems. But you get the gist.
1715049699
Hero Member
*
Offline Offline

Posts: 1715049699

View Profile Personal Message (Offline)

Ignore
1715049699
Reply with quote  #2

1715049699
Report to moderator
You get merit points when someone likes your post enough to give you some. And for every 2 merit points you receive, you can send 1 merit point to someone else!
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 3388
Merit: 6587


Just writing some code


View Profile WWW
September 29, 2016, 04:03:01 PM
Merited by ABCbits (3)
 #2

That doesn't make sense. The point of the OP_RETURN is too allow arbitrary data into the blockchain, not necessarily a proof of anything. The point is to make that output prunable from the UTXO set. There is no way to remove that from the blockchain without changing the signature algorithm. This would allow retroactively changing the blockchain, something that should not be allowed. If you want an "expriation date" to whatever data you are encoding, you should just encode that expiration into the data itself and have your own parser be able to understand that.

coins101 (OP)
Legendary
*
Offline Offline

Activity: 1456
Merit: 1000



View Profile
September 29, 2016, 06:07:18 PM
Last edit: September 29, 2016, 06:17:57 PM by coins101
 #3

That doesn't make sense. The point of the OP_RETURN is too allow arbitrary data into the blockchain, not necessarily a proof of anything. The point is to make that output prunable from the UTXO set. There is no way to remove that from the blockchain without changing the signature algorithm. This would allow retroactively changing the blockchain, something that should not be allowed. If you want an "expriation date" to whatever data you are encoding, you should just encode that expiration into the data itself and have your own parser be able to understand that.

Look, I understand the idea has issues. I'm not looking for some kind of permissioned ledger that can be changed at will.

But an 'ignore me after x-period' opcode might act something like a default pruning option that you don't have to activate.
achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 3388
Merit: 6587


Just writing some code


View Profile WWW
September 29, 2016, 07:22:56 PM
 #4

Look, I understand the idea has issues. I'm not looking for some kind of permissioned ledger that can be changed at will.

But an 'ignore me after x-period' opcode might act something like a default pruning option that you don't have to activate.
It's already "ignore me after you see this" for OP_RETURN. That's what it means. There isn't any wallet software which parses an OP_RETURN and gives it some meaning unless it is designed to parse specific OP_RETURN outputs. OP_RETURNS contain no meaningful information to normal Bitcoin wallets so they already ignore those outputs.

coins101 (OP)
Legendary
*
Offline Offline

Activity: 1456
Merit: 1000



View Profile
September 30, 2016, 10:10:46 AM
 #5

Look, I understand the idea has issues. I'm not looking for some kind of permissioned ledger that can be changed at will.

But an 'ignore me after x-period' opcode might act something like a default pruning option that you don't have to activate.
It's already "ignore me after you see this" for OP_RETURN. That's what it means. There isn't any wallet software which parses an OP_RETURN and gives it some meaning unless it is designed to parse specific OP_RETURN outputs. OP_RETURNS contain no meaningful information to normal Bitcoin wallets so they already ignore those outputs.

I updated the OP to put forward a blockchain rescan to remove temporary data only needed in the chain for x period.

Not great, but leaving it out there as a suggestion for a while.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!