I understand your position. However, I lost all enthusiasm for your proposal when I realized it was impossible to implement. In particular, it is not possible to sign transactions over to unknown specific parties ahead of time.
You seem to misapprehend me. cvTokens are certainly possible to implement--however I do prefer not to spend too much time on the details of an implementation which will be inefficient. Also, your third statement is simply incorrect. I hope that if I explain why you will understand that my preference towards a minimalist description of possible implementations is not by way of avoidance but simply to provide focus on the problem which cvTokens specifically aim to solve (an economic one, rather than a technical one). Let's examine the statement again:
it is not possible to sign transactions over to unknown specific parties ahead of time
So, trivially, we can spend a transaction fee which will go to a specific miner in the future who is unknown to us. Nonetheless I know this is not what you meant. I assume rather that you mean specifically someone who inherits this property in a sequence, the length of which is unknown. Let us also use a simpler example than cvTokens. Say instead that I have a close friend working as a contractor for me, and I want their fee to pay out in 6 months. I trust them completely, but I wish to avoid any appearance of impropriety (such as by giving them the money early). In addition, they trust me completely, but they wish to be able to reassign their wage to another party (say, as alimony to an ex-spouse). Similarly that party may wish to reassign the wage again (as collateral to a bank), and so on. The example won't match the scenario exactly, but it's good enough for our purposes.
I already have the money, so I create a timelocked transaction which will become spendable in 6 months, with a sequence number of zero. It sends the full amount for the contract to my close friend who we shall denote 'C'. I sign this transaction and publish it to the network. Notice that if my friend dies or is unable to complete the contract, I will be able to publish a new transaction with sequence 1 or higher spending the funds to myself instead.
Next, C creates a transaction which spends my timelocked transaction to their ex-spouse, who we shall call 'X'. C signs the transaction and gives it directly to X.
Finally, X creates a transaction spending
that transaction to a bank B, signs it, and gives it to B along with the signed transaction from C. Note that X does not need C's permission or cooperation to do this.
Now, if I do nothing, in 6 months the bank will publish their transactions and collect the amount of money I paid my friend. However, if I update my original transaction, the bank's transactions will be invalid, and they will receive nothing. Depending on my choice, an unknown specific party will receive this money.
Now of course, simply by making the original timelocked transaction final, I could have
guaranteed that this unknown specific party would receive my funds. However I included the usage of sequence numbers to show how something happens at a specific time because of my inaction.
In the course of a larger explanation, I might casually refer to that situation as "when I fail to act, the network does
x" or "when I fail to act, the protocol reassigns my funds to the bank". I do this merely for the sake of the explanation, assuming that the reader will take terms like "the protocol", "the escrow", etc. to refer generally to whatever underlying mechanism implements the desired result. The only alternative would be a very lengthy explanation which would greatly confuse the purpose and mechanisms of the larger cvToken system, and so I hope that for brevity's sake the reader will excuse such wild anthropomorphising of undetailed technical complexity. In no way do I mean to suggest that the network itself is doing anything that is not being done by some individual actor within it.
dacoinminster I am reading your paper now.