Pages:
Author

Topic: Forking the Blockchain for Bonds (25 BTC Bounty) (Read 8562 times)

newbie
Activity: 35
Merit: 0
I'm surprised the OP hasn't heard of Open Transactions.

https://github.com/FellowTraveler/Open-Transactions/wiki

It's pretty much what he is describing:

http://forum.bitcoin.org/index.php?topic=28565.msg363945#msg363945

No, it is not. There is an implicit tax on all transactions in future claims unless the claims are issued by the blockchain itself. This has been discussed in this thread and my thread on "securing contingent claims"

I guess what you're wanting then is what was suggested earlier of a bondcoin backed by the bitcoin chain.

Bitcoin wasn't really created to take on all functions of a market (at least I believe that). It is the digital equivalent to gold.

It's entire purpose it to open up a new canvas of money aside from the traditional system and change the perception of who should control money.

This looks a little hard to implement or not even worthwhile in the main bitcoin chain, so I would suggest getting it implemented in the testcoin chain and seeing if there is a demand for bondcoins.

https://en.bitcoin.it/wiki/Testnet

I'm sure if enough people get into the idea it could become possible from a free enterprise perspective.

There's even a post about it:

http://forum.bitcoin.org/index.php?topic=7219.0
legendary
Activity: 1050
Merit: 1003
I'm surprised the OP hasn't heard of Open Transactions.

https://github.com/FellowTraveler/Open-Transactions/wiki

It's pretty much what he is describing:

http://forum.bitcoin.org/index.php?topic=28565.msg363945#msg363945

No, it is not. There is an implicit tax on all transactions in future claims unless the claims are issued by the blockchain itself. This has been discussed in this thread and my thread on "securing contingent claims"
newbie
Activity: 35
Merit: 0
I'm surprised the OP hasn't heard of Open Transactions.

https://github.com/FellowTraveler/Open-Transactions/wiki

It's pretty much what he is describing:

http://forum.bitcoin.org/index.php?topic=28565.msg363945#msg363945
legendary
Activity: 2940
Merit: 1090
You can have a fork of the kind you seem to want easily. You simply grab the existing bitcoin blockchain up to whatever specific point you want to fork from to use as blockchain for your own new vurrency so that you have an existing bunch of stakeholders, everyone who is rich in bitcoin being rich in your new blockchain too.

-MarkM-
legendary
Activity: 1050
Merit: 1003

A "Fork" in the traditional sense won't work: it is all or nothing. The clients not recognizing the fork will studiously ignore it.

That said, there is reason to believe that if there is a compelling reason, all (or at least the majority)  of the participants can agree to a protocol change. If the change is not urgent, it can take place with decades of lead time. However, in order to get the (vast) majority to agree, the change should be non-controversial. I think your bond proposal would be too controversial to gain widespread acceptance for a protocol change. A non-controversial change would be something like: changing the hash function if collisions are demonstrated with SHA-256. Or, possibly, increasing the sub-divisibility beyond 8 decimal places if too many bitcoins are lost over the years.

Edit: I already explained why I think these non-controversial changes won't happen: I think bitcoin fail (and be replaced with something better) before the specific design choices become too inconvenient. (That is to say, I don't think Bitcoin will fail based on its own technical merits.)

In other words, convincing people to fork the blockchain requires the introduction of a serious threat to incumbents.  Without a looming threat, there is no way that the bitcoin sytem will ever be changed.

Given that threatened destruction is a prerequisite for change, the only way to make bitcoin better is to introduce a competing blockchain which threatens bitcoin. If the competing blockchain gains substantial traction (say one twentieth of the market cap of bitcoin), it would strongly suggest that the new currency's protocol was superior to bitcoin's. [Bitcoin couldn't wait too much longer than this to react. Since any reaction would inevitably be slow and cumbersome.]

Best Case Scenario: Once bitcoin users are threatened by the new blockchain, they agree to copy its protocol. If they copied the new protocol quickly enough, then the competing currency would cease to hold value. (With two identical products, the biggest network will win every time). In the best case scenario, bitcoin is demonstrated to have an effective governance system.

Worst Case Scenario: There is a good probability that bitcoin would never get its shit together and introduce the necessary changes in time. If this occurs, bitcoin will collapse, and the new cryptocurrency will take over.  Everyone would have to hope that the new currency adds a better governance system so that Worst Case Scenarios aren't repeated.

Does this seem like a reasonable analysis to you?  Huh
legendary
Activity: 1008
Merit: 1001
Let the chips fall where they may.
Quote
I think it is still prudent to investigate is it is possible using scripting. If so, it would be a double-spend attack with a potentially years-long lag time.

Phillip could you rephrase or Elaborate? I don't understand.

I looked at the scripting opcodes and my eyes kind of glazed over. I am currently assuming an automated loan is not possible.

The reason I am potentially concerned about a double-spend attack is what happens if somebody uses these bonds to buy goods or services? On the appointed date, they would "cash out," leaving the bond-holder with nothing.

Thinking about it a little more, I decided a customized client is probably needed to use "weird" scripts anyway. The default Bitcoin client probably mainly sticks to "standard" transactions, which are also scripts. Again, I have not carefully checked if my impressions are true or not. The default client will relay "weird" transactions with no problem as far as I can tell.

Quote
One issue is that forking is an unknown. No one can be sure hoow smoothly it will occur. I would like to see a demonstration of this because I view forking as one of the best features of the technology. It promises to provide some protection from obsolescence of the underlyong bitcoin technology. Can it fulfill this promise? I want to see a demonstration.

A "Fork" in the traditional sense won't work: it is all or nothing. The clients not recognizing the fork will studiously ignore it.

That said, there is reason to believe that if there is a compelling reason, all (or at least the majority)  of the participants can agree to a protocol change. If the change is not urgent, it can take place with decades of lead time. However, in order to get the (vast) majority to agree, the change should be non-controversial. I think your bond proposal would be too controversial to gain widespread acceptance for a protocol change. A non-controversial change would be something like: changing the hash function if collisions are demonstrated with SHA-256. Or, possibly, increasing the sub-divisibility beyond 8 decimal places if too many bitcoins are lost over the years.

Edit: I already explained why I think these non-controversial changes won't happen: I think bitcoin fail (and be replaced with something better) before the specific design choices become too inconvenient. (That is to say, I don't think Bitcoin will fail based on its own technical merits.)
legendary
Activity: 1050
Merit: 1003
I'm worried that the bitcoin community will take an extremely rigid approach and try to avoid forks at all costs. I think excessive rigitidity will cause bitcoin to fail. If need be, I certainly plan to try to contribute towards the introduction of a new blockchain. In the meantime, I will continue to push for forking which I view as better for cryptocurrency at large.

Finally, if one introduces a new blockchain, it is better to introduce many improvements simultaneously rather than just one. This is just one of the ones I have in mind.

I disagree completely. I think starting a new block chain will almost always be better than forking the existing one. Forking the chain undermines the currency; thus eroding confidence and value.

A rival blockchain is not something to be feared. There already exists the testnet and namecoin blockchains. If somebody starts up a "Bitcoin with bonds" blockchain, some people may move over to it. If you are correct that bonds are needed for long-term stability, it may even become the new "standard." It does not matter if people have money invested in the first bitcoin: If the transition happens slowly enough, the people who want to sell bitcoin can sell it in exchange for "bitcoin with bonds".

The reason I am so cavalier about the failure of bitcoin is that I expect any crypto-currency, no matter how good, to fail in the medium-long term. Computers are just not secure enough to handle a crypto-currency in my opinion. Modern computers systems are complex and unproven. Subtle errors missed by this oversight can likely be leveraged into a devastating attack on any crypto-currency; given enough time an resources. For the record, I expect the computer industry to finally mature into reliable, proven correct systems after about 6 generations (150 years) or so. As precedent, I point to the Agricultural revolution, the invention of the wheel and the printing press. All took centuries to fundamentally change society.


You make some good points here. I still favor forking, but I can understand your reasoning. One issue is that forking is an unknown. No one can be sure hoow smoothly it will occur. I would like to see a demonstration of this because I view forking as one of the best features of the technology. It promises to provide some protection from obsolescence of the underlyong bitcoin technology. Can it fulfill this promise? I want to see a demonstration.

Perhaps you can see why I don't agree with you about forking eroding value.
legendary
Activity: 1050
Merit: 1003
Mostly, loans require trust outside the system.  You give someone the loan and if they buy something with the money, the seller gets the money.  The lender has no further claim against the seller.

A loan that is enforced by the system would effectively be a coin that expires at time X (and reverts back to its original owner).  I doubt people would be willing to treat it as a full bitcoin, but maybe it would have some value.

I think it is still prudent to investigate is it is possible using scripting. If so, it would be a double-spend attack with a potentially years-long lag time.


Phillip could you rephrase or Elaborate? I don't understand.
legendary
Activity: 1008
Merit: 1001
Let the chips fall where they may.
Mostly, loans require trust outside the system.  You give someone the loan and if they buy something with the money, the seller gets the money.  The lender has no further claim against the seller.

A loan that is enforced by the system would effectively be a coin that expires at time X (and reverts back to its original owner).  I doubt people would be willing to treat it as a full bitcoin, but maybe it would have some value.

I think it is still prudent to investigate is it is possible using scripting. If so, it would be a double-spend attack with a potentially years-long lag time.
legendary
Activity: 1008
Merit: 1001
Let the chips fall where they may.
I'm worried that the bitcoin community will take an extremely rigid approach and try to avoid forks at all costs. I think excessive rigitidity will cause bitcoin to fail. If need be, I certainly plan to try to contribute towards the introduction of a new blockchain. In the meantime, I will continue to push for forking which I view as better for cryptocurrency at large.

Finally, if one introduces a new blockchain, it is better to introduce many improvements simultaneously rather than just one. This is just one of the ones I have in mind.

I disagree completely. I think starting a new block chain will almost always be better than forking the existing one. Forking the chain undermines the currency; thus eroding confidence and value.

A rival blockchain is not something to be feared. There already exists the testnet and namecoin blockchains. If somebody starts up a "Bitcoin with bonds" blockchain, some people may move over to it. If you are correct that bonds are needed for long-term stability, it may even become the new "standard." It does not matter if people have money invested in the first bitcoin: If the transition happens slowly enough, the people who want to sell bitcoin can sell it in exchange for "bitcoin with bonds".

The reason I am so cavalier about the failure of bitcoin is that I expect any crypto-currency, no matter how good, to fail in the medium-long term. Computers are just not secure enough to handle a crypto-currency in my opinion. Modern computers systems are complex and unproven. Subtle errors missed by this oversight can likely be leveraged into a devastating attack on any crypto-currency; given enough time an resources. For the record, I expect the computer industry to finally mature into reliable, proven correct systems after about 6 generations (150 years) or so. As precedent, I point to the Agricultural revolution, the invention of the wheel and the printing press. All took centuries to fundamentally change society.
legendary
Activity: 1232
Merit: 1094
You may want to investigate if contracts and scripts can do what you want. I think you would be able to force a coin to be unspendable for a length of time, but I don't think you would be able to loan a coin.

Mostly, loans require trust outside the system.  You give someone the loan and if they buy something with the money, the seller gets the money.  The lender has no further claim against the seller.

A loan that is enforced by the system would effectively be a coin that expires at time X (and reverts back to its original owner).  I doubt people would be willing to treat it as a full bitcoin, but maybe it would have some value.
legendary
Activity: 2940
Merit: 1090
CHeck out the GRouPcoin->DEVcoin project. We are currently developing and testing code aimed, apparently, at funding developers and thus, presumably, development.

Also, come up with a name for your new currency, one that can be nicely represented by a three-letter code (e.g. BTC, CDN, UKB, NKL, UNS, GRP, DEV, etc etc etc) so we have a name to use as we prototype it.

-MarkM-
legendary
Activity: 1050
Merit: 1003
Well get it down in code and when all the features you want are in the code we can fire it up.

-MarkM-

you missed the part where i said i was an economist not a coder. Nevertheless i am trying to help organize a network of people who are interested in creating a new and improved blockchain. The key steps are
1) recruiting interested talent
2) thinking about possible improvements
3) arriving at a consensus about which improvements should be incorporated in a new chain
4) coding the chain



It will be a long process with only a small probability of success. Interested parties are welcome to pm me, either just to offer suggestions or to express interest in future participation.

legendary
Activity: 2940
Merit: 1090
Well get it down in code and when all the features you want are in the code we can fire it up.

EDIT: we already have 100-block bonds! The 50 coins a miner mines do not mature for 100 blocks. Maybe you could start by making use of those to establish that there is in fact a market for coins that are not yet mature. If there is, then maybe in your blockchain you could simply have the time to maturity increase each block so that eventually miners will be mining long term bonds instead of the current 100-block bonds?

-MarkM-
legendary
Activity: 1050
Merit: 1003
By forking, do you mean everyone who owned coins prior to the fork owns coins in both resulting forks?

If you simply mean starting a new blockchain-based currency with a new feature the original Bitcoins do not have, that can be done and there are those who would welcome it.


First option is much better. If the bitcoin protocols are not adjusted, a new crpytocurrency can only emerge by replacing bitcoin. Prolonged coexistence of the two currencies seems extremely unlikely to me. All stakeholders in bitcoin would be wiped out. The new cryptocurrency would suffer the same fate at some point unless it adopted a more flexible approach. Forking is attractive because it allows innovation without wiping out stakeholders. Wiping out stakeholders in one cryptocurrency project will undermine trust in future cryptocurrency projects.

I'm worried that the bitcoin community will take an extremely rigid approach and try to avoid forks at all costs. I think excessive rigitidity will cause bitcoin to fail. If need be, I certainly plan to try to contribute towards the introduction of a new blockchain. In the meantime, I will continue to push for forking which I view as better for cryptocurrency at large.

Finally, if one introduces a new blockchain, it is better to introduce many improvements simultaneously rather than just one. This is just one of the ones I have in mind.
legendary
Activity: 2940
Merit: 1090
By forking, do you mean everyone who owned coins prior to the fork owns coins in both resulting forks?

If you simply mean starting a new blockchain-based currency with a new feature the original Bitcoins do not have, that can be done and there are those who would welcome it.

You could even pick yourself a nation in the Galactic Milieu to play, whose currency will operate in the way you design.

-MarkM-
legendary
Activity: 1050
Merit: 1003
Include the "same kinds of constraints" on processing speed then. Where is the problem?

The problem is that currently transaction blocks create coins at a predictable rate. The difficulty is tuned such that transaction blocks happen at a predictable rate. If you throw new types of transaction blocks into the mix, either you will affect the rate of coin creation or the rate at which transactions are processed. You would break the automatic tuning mechanism.

The only way your proposal can work is if you come up with a new type of transaction that does not directly affect coin creation. In any case, it is likely you will still need to start your own block chain. This may be a case where Bitcoin should focus on doing a few things well.

Guaranteeing bonds does not appear to be something bitcoin is designed to do. Bitcoin works by keeping a public transaction log. Participants trust that the majority of participants don't want to tamper with the public transaction log. The individual participants still need to trust each other when exchanging goods and services. The payments can't be reversed, but the seller can fail to send the goods, for example.

yeah of course this would radically alter the system. Regardless of how it is implemented, it will significantly alter the time structure of the money supply. If the change is almost certain to add value it should be implemented. Conservatism is an ideology not an argument.
legendary
Activity: 1008
Merit: 1001
Let the chips fall where they may.
Include the "same kinds of constraints" on processing speed then. Where is the problem?

The problem is that currently transaction blocks create coins at a predictable rate. The difficulty is tuned such that transaction blocks happen at a predictable rate. If you throw new types of transaction blocks into the mix, either you will affect the rate of coin creation or the rate at which transactions are processed. You would break the automatic tuning mechanism.

The only way your proposal can work is if you come up with a new type of transaction that does not directly affect coin creation. In any case, it is likely you will still need to start your own block chain. This may be a case where Bitcoin should focus on doing a few things well.

Guaranteeing bonds does not appear to be something bitcoin is designed to do. Bitcoin works by keeping a public transaction log. Participants trust that the majority of participants don't want to tamper with the public transaction log. The individual participants still need to trust each other when exchanging goods and services. The payments can't be reversed, but the seller can fail to send the goods, for example.
legendary
Activity: 1050
Merit: 1003
I think both methods suggested open the door for fraud.
Can you develop?

It complicates the protocol. The system guards against fraud by using a lottery to determine who processes a block. The difficulty of producing a block is automatically adjusted such that one block is processed approximately every 10 minutes. Adding new types of blocks without the same constraints will hurt the security guarantees of the bitcoin network. You can likely mitigate this by only creating new types of transactions instead of new types of blocks. You would still have to convince everybody to agree to support them.

You may want to investigate if contracts and scripts can do what you want. I think you would be able to force a coin to be unspendable for a length of time, but I don't think you would be able to loan a coin.

Include the "same kinds of constraints" on processing speed then. Where is the problem?
legendary
Activity: 1008
Merit: 1001
Let the chips fall where they may.
I think both methods suggested open the door for fraud.
Can you develop?

It complicates the protocol. The system guards against fraud by using a lottery to determine who processes a block. The difficulty of producing a block is automatically adjusted such that one block is processed approximately every 10 minutes. Adding new types of blocks without the same constraints will hurt the security guarantees of the bitcoin network. You can likely mitigate this by only creating new types of transactions instead of new types of blocks. You would still have to convince everybody to agree to support them.

You may want to investigate if contracts and scripts can do what you want. I think you would be able to force a coin to be unspendable for a length of time, but I don't think you would be able to loan a coin.
Pages:
Jump to: