Bitcoin Forum
September 26, 2016, 12:16:28 PM *
News: Latest stable version of Bitcoin Core: 0.13.0 (New!) [Torrent]. Make sure you verify it.
 
   Home   Help Search Donate Login Register  
Pages: [1] 2 3 »  All
  Print  
Author Topic: Rethinking Bitcoins  (Read 6957 times)
RHorning
Full Member
***
Offline Offline

Activity: 210


View Profile
November 12, 2010, 07:29:12 PM
 #1

This is mainly a theoretical discussion rather than an actual proposal I am making in terms of changes to Bitcoins, but I would like to perhaps open up the discussion about other "metrics" that might be used for a peer-to-peer electronic coin system similar to Bitcoins, and perhaps come up with a strong defense for the current system as well from a logical viewpoint.

It was this post that got me thinking originally:

I like the idea of separating the daemon core from the GUI. That way others can build their own interfaces for using bitcoin like a KDE version for my desktop or a web interface.

Oooh.. I do like the idea of a bitcoin daemon presenting itself through a KDE Plasma widget...  Cool

Either way, I have been thinking about the whole mining aspect of Bitcoin these last weeks, since the difficulty has gone through the roof. It would be nice to have the whole generating part be (more) independent of processing power, and more balanced towards the amount of time one puts in. However, I think most alternatives will, sooner or later, fall victim to people using their non-bitcoin wallets in order to change a new more balanced way of generating bitcoins in their favor.

If generating would be dependent on time spent, people would simply spawn multiple processes, virtual machines, etc. If generation would be dependent on bandwidth spent (as a Tor middleman node perhaps?  Wink), people would invest in broadband connections, servers in datacenters, etc. If generation would be shifted from something GPU-optimized towards something only CPU's are good at computing, people would invest in CPU's.

As I am running out of ideas, I would like to add that I too am in favor of having Bitcoin default to 10/15% of a CPU core generating for the sake of network stability and security. In fact, it would be nice if Bitcoin allowed me to select percentage in addition to number of cores. I have no clue however if that is easily added or something incredibly complicated to code.

What kinds of alternative systems could there be and how could we reward people contributing to the project in some way that is concrete, automatic (or semi-automatic), and could be measured in some way that could be verified independently that those making the contributions are getting rewarded?

Network bandwidth is obviously something that is in fact necessary for the whole concept of Bitcoins to work out, yet there currently isn't any metric that encourages people to become the central node to a whole bunch of connection as opposed to having merely one or two connections to the outside world, other than perhaps who is going to get the first jump on the next work unit if it became a contest.

How could you monetize network bandwidth in this case? (for the purposes of Bitcoins)  Would "potential" capacity be more important or would simply measuring throughput be more significant?  Should nodes "pay" for previous work units to be sent their way?  If you request the current 90k work units, that represents a sizable amount of data, and it would seem like there could could be some cost to that sort of bandwidth represented in the network itself.  That would stink if you had no bitcoins, but then again it might spur on some "buy-in" if you were to set up another client.  I'm not talking a huge cost here, but paying 0.000001 BTC per work unit retrieved could be an interesting transaction (perhaps less, I'm just trying to put a starting point on this here).  It would also give a way for people who simply run a client but aren't mining to at least make a little bit of money simply running the client.

Even an option to voluntarily "pay for work units" might be interesting as perhaps there are some users who would be willing to "share the wealth".

Would "time served" or "time connected" be useful by itself?

Coming up with a different algorithm which can't be implemented in a GPU is an interesting concept too.  That has some of its own issues, but is again something to think about.

Ideally it would be nice if each participant in the project was able to get an equal slice of the coins generated.  Unfortunately, at best all I can think of is perhaps some other ways to "generate" coins based upon participation with the project.  Putting in a bug bounty or paying for participation in the forums seems like a good idea, but again the question comes to how is it being paid for.  Some of that is already happening anyway, so I don't see a need for that to be included in the client software itself.

Are there any other metrics that you can think of in terms of how else contributors to Bitcoins could be rewarded and automated with network rules?

1FLK3uUT3Vup5JtkGJVXKHAoS3AZWPcKdv
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1474892188
Hero Member
*
Offline Offline

Posts: 1474892188

View Profile Personal Message (Offline)

Ignore
1474892188
Reply with quote  #2

1474892188
Report to moderator
1474892188
Hero Member
*
Offline Offline

Posts: 1474892188

View Profile Personal Message (Offline)

Ignore
1474892188
Reply with quote  #2

1474892188
Report to moderator
1474892188
Hero Member
*
Offline Offline

Posts: 1474892188

View Profile Personal Message (Offline)

Ignore
1474892188
Reply with quote  #2

1474892188
Report to moderator
ByteCoin
Sr. Member
****
expert
Offline Offline

Activity: 416


View Profile
November 13, 2010, 02:14:34 AM
 #2

Bitcoin rewards user's expendature of CPU time to support the network but does not value their disk space and network bandwidth. You can't change this nor the traceable pseudonymity of transactions without the system ceasing to be Bitcoin.

ByteCoin
RHorning
Full Member
***
Offline Offline

Activity: 210


View Profile
November 13, 2010, 04:25:23 AM
 #3

Bitcoin rewards user's expendature of CPU time to support the network but does not value their disk space and network bandwidth. You can't change this nor the traceable pseudonymity of transactions without the system  ceasing to be Bitcoin.

ByteCoin

Why not?  A bald statement like that seems to need a bit of proof to support the notion.

I'm not completely dismissing the fact that it would hinder somewhat the anonymity, but you already lose a little bit of that simply by connecting to somebody else in the network.  If you are going to be paying for packets, you would be paying "peer nodes" in some fashion, which to me already could be logged or somehow monitored.  There isn't any knowledge already available that would additionally be given to "pay for" network bandwidth or disk space usage.

Perhaps, and this is something a bit tougher to work with, you could associate some bitcoin address directly with an IP address.  That doesn't have to be a 100% given (somebody in anonymous mode could list the address for somebody else like a favorite charity).  You also can create new addresses just for the peer to peer block transactions too.

I also fail to see how this would change the fundamental nature of Bitcoins.  I'm also trying to suggest some additional way for people to perhaps earn bitcoins.  Since the traditional method of mining coins is obviously not really working out for the casual new user, there could and perhaps should be some other methods available.

I also fail to see why Bitcoins (which still isn't officially in version 1.0, let's remember this is still in the "pre-release" experimental stage right now) can't possibly change or why new ideas keep getting shot down.  To force ideas to ferment and refine the concept to something strong, or shoot down poorly formed ideas is fine and I understand that too.

1FLK3uUT3Vup5JtkGJVXKHAoS3AZWPcKdv
grondilu
Legendary
*
Offline Offline

Activity: 1134


View Profile
November 13, 2010, 05:34:53 AM
 #4

I also fail to see why Bitcoins (which still isn't officially in version 1.0, let's remember this is still in the "pre-release" experimental stage right now) can't possibly change or why new ideas keep getting shot down.  To force ideas to ferment and refine the concept to something strong, or shoot down poorly formed ideas is fine and I understand that too.

Bitcoin is the implementation of a protocol.  The fact that the software is in a version inferior to 1 doesn't mean the protocol is in developpment.

When we say bitcoin is a beta software, it means that the software is an experimental attempt to implement the protocol.  But the protocol itself must not be changed, otherwise it would be a different software.

Any idea for a change in the protocol should not be applied to bitcoin, but to a bitcoin fork.  I can't talk for Satoshi, but I guess he would accept new ideas only if they allow a better implementation of the protocol, but not a modification of it.
jgarzik
Legendary
*
qt
Offline Offline

Activity: 1470


View Profile
November 13, 2010, 05:48:53 AM
 #5

Any idea for a change in the protocol should not be applied to bitcoin, but to a bitcoin fork.  I can't talk for Satoshi, but I guess he would accept new ideas only if they allow a better implementation of the protocol, but not a modification of it.

satoshi seems to fall on both sides of protocol compatibility ;-)

He makes a very strong effort to support ancient clients (and their ancient implementations of the bitcoin network protocol).

But he also suggests future incompatible changes may be integrated via patterns such as

Code:
if (block > 200000)
     Do Something New And Different ()

Jeff Garzik, bitcoin core dev team and BitPay engineer; opinions are my own, not my employer.
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
MoonShadow
Legendary
*
Offline Offline

Activity: 1666



View Profile
November 13, 2010, 05:53:24 AM
 #6


Why not?  A bald statement like that seems to need a bit of proof to support the notion.


I'm guessing your not a programmer.  I'm not, but I can see how the proof-of-work system is self-evidently not readily exchangable with any other method.

Quote

I'm not completely dismissing the fact that it would hinder somewhat the anonymity,


Any level of anonymity is incidental to the function of bitcoin, and only exists due to the cash-like nature of the system.  The PoW system used with bitcoin was chosen as a security measure, not a secrecy measure.

Quote

I also fail to see how this would change the fundamental nature of Bitcoins.


I don't think that you have yet wrapped your head around the system.

Quote

  I'm also trying to suggest some additional way for people to perhaps earn bitcoins.  Since the traditional method of mining coins is obviously not really working out for the casual new user, there could and perhaps should be some other methods available.


The block reward is an incentive to contribute to the security of the blockchain.  It's not there to equitably distribute bitcoins.  Not only is it irrelevant if the casual new user is 'working out', it's not evident that is the case.

Quote

I also fail to see why Bitcoins (which still isn't officially in version 1.0, let's remember this is still in the "pre-release" experimental stage right now) can't possibly change or why new ideas keep getting shot down.  To force ideas to ferment and refine the concept to something strong, or shoot down poorly formed ideas is fine and I understand that too.

Actually, you can make any changes you desire, and start a parallel blockchain with your own  genesis block; but if you succeed in doing what I think you're doing, your blockchain will certainly be compromised if it were to ever grow enough to represent any real value.

"The powers of financial capitalism had another far-reaching aim, nothing less than to create a world system of financial control in private hands able to dominate the political system of each country and the economy of the world as a whole. This system was to be controlled in a feudalist fashion by the central banks of the world acting in concert, by secret agreements arrived at in frequent meetings and conferences. The apex of the systems was to be the Bank for International Settlements in Basel, Switzerland, a private bank owned and controlled by the world's central banks which were themselves private corporations. Each central bank...sought to dominate its government by its ability to control Treasury loans, to manipulate foreign exchanges, to influence the level of economic activity in the country, and to influence cooperative politicians by subsequent economic rewards in the business world."

- Carroll Quigley, CFR member, mentor to Bill Clinton, from 'Tragedy And Hope'
grondilu
Legendary
*
Offline Offline

Activity: 1134


View Profile
November 13, 2010, 05:55:04 AM
 #7

Any idea for a change in the protocol should not be applied to bitcoin, but to a bitcoin fork.  I can't talk for Satoshi, but I guess he would accept new ideas only if they allow a better implementation of the protocol, but not a modification of it.

satoshi seems to fall on both sides of protocol compatibility ;-)

He makes a very strong effort to support ancient clients (and their ancient implementations of the bitcoin network protocol).

But he also suggests future incompatible changes may be integrated via patterns such as

Code:
if (block > 200000)
     Do Something New And Different ()


Well, this is not good for my confidence into bitcoin.
theymos
Administrator
Legendary
*
expert
Offline Offline

Activity: 2422


View Profile
November 13, 2010, 06:04:17 AM
 #8

But he also suggests future incompatible changes may be integrated via patterns such as
[...]

This has actually been done a few times. The conditional is removed after the "timer has gone off", so you can't easily see the evidence of it. The most recent one was with new transaction limitations:
Code:
if (nBestHeight > 84000)
{
    if (nKeysCount > 20)
        return false;
    nOpCount += nKeysCount;
    if (nOpCount > 201)
        return false;
}

This limitation on blocks was also phased in recently:
Code:
// Check that it's not full of nonstandard transactions
if (GetSigOpCount() > MAX_BLOCK_SIGOPS)
   return error("CheckBlock() : too many nonstandard transactions");

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
RHorning
Full Member
***
Offline Offline

Activity: 210


View Profile
November 13, 2010, 07:02:26 AM
 #9

I also fail to see why Bitcoins (which still isn't officially in version 1.0, let's remember this is still in the "pre-release" experimental stage right now) can't possibly change or why new ideas keep getting shot down.  To force ideas to ferment and refine the concept to something strong, or shoot down poorly formed ideas is fine and I understand that too.

Bitcoin is the implementation of a protocol.  The fact that the software is in a version inferior to 1 doesn't mean the protocol is in developpment.

When we say bitcoin is a beta software, it means that the software is an experimental attempt to implement the protocol.  But the protocol itself must not be changed, otherwise it would be a different software.

Any idea for a change in the protocol should not be applied to bitcoin, but to a bitcoin fork.  I can't talk for Satoshi, but I guess he would accept new ideas only if they allow a better implementation of the protocol, but not a modification of it.


I have a hard time trying to figure out where to start with this.  The whole reason there was an "emergency" upgrade from 0.3.9 to something higher was explicitly because there was a need to tweak of the protocol... precisely because it is under development.  Changing the protocol is not going to change the software, including major changes.

I think it is wrong to take something like this and treat it as if somehow a divine being has descended from on high with "The Word" as if it can never be changed.   I do think Satoshi has done a great many things right and certainly what has been described as the primary protocol for Bitcoins (the generation of coins) is on the whole a pretty good idea and it has been accepted by a great many people.

On the other hand, to say that the protocol can't be changed is simply wrong.  The protocol has changed and will change in the future.  Even after it hits version 1.0 and is declared pretty much operational there will continue to be tweaks to the protocol, including several talked about already in the forums.

In terms of forking, all "open source software" has the "right to fork" as a potential, but generally that isn't done because there is an advantage to keeping everybody on the same page.  On the other hand, I think some of the ideas presented here are powerful enough that a fork might be successful.  Indeed it is attitudes like this which lead to forking, where people with ideas for improvement are being drummed out of the group.

That people have invested real money into the protocol already is why it is important now to talk about the direction of the project, what could be and why it isn't happening rather than leaving that to a later discussion.

1FLK3uUT3Vup5JtkGJVXKHAoS3AZWPcKdv
RHorning
Full Member
***
Offline Offline

Activity: 210


View Profile
November 13, 2010, 07:40:58 AM
 #10


Why not?  A bald statement like that seems to need a bit of proof to support the notion.


I'm guessing your not a programmer.  I'm not, but I can see how the proof-of-work system is self-evidently not readily exchangable with any other method.


Be careful about presumptions.  I'm curious about how you jumped to that conclusion.  I was likely programming computers before you were born.

Quote
Quote

I'm not completely dismissing the fact that it would hinder somewhat the anonymity,


Any level of anonymity is incidental to the function of bitcoin, and only exists due to the cash-like nature of the system.  The PoW system used with bitcoin was chosen as a security measure, not a secrecy measure.


I get that.  There have been some tweaks and changes to the protocol to increase anonymity for users that have been useful, and some other threads that have gone into details on how that could be improved.  I wasn't really intending to make this thread about anonymity anyway.

Quote
Quote

I also fail to see how this would change the fundamental nature of Bitcoins.


I don't think that you have yet wrapped your head around the system.


Enlighten me, please! I've been trying to figure this system out for several months, including reading the source code itself.  I'm still not convinced that tweaking the protocol or introducing new ways for people contributing to Bitcoins is necessarily going to change the primary facets of the project, including how the raw coins themselves are produced, how transactions are processed, or how the information is preserved.

Quote
Quote

  I'm also trying to suggest some additional way for people to perhaps earn bitcoins.  Since the traditional method of mining coins is obviously not really working out for the casual new user, there could and perhaps should be some other methods available.


The block reward is an incentive to contribute to the security of the blockchain.  It's not there to equitably distribute bitcoins.  Not only is it irrelevant if the casual new user is 'working out', it's not evident that is the case.

The equitable distribution is an issue in terms of encouraging participation in the project.  I get that inequalities are going to exist.  Still, if it isn't "working out" for new users there will be a lag between those joining the project and those giving up to leave.  Perhaps other aspects of bitcoins are going to be attractive and they seem to be.
Quote
Quote


I also fail to see why Bitcoins (which still isn't officially in version 1.0, let's remember this is still in the "pre-release" experimental stage right now) can't possibly change or why new ideas keep getting shot down.  To force ideas to ferment and refine the concept to something strong, or shoot down poorly formed ideas is fine and I understand that too.

Actually, you can make any changes you desire, and start a parallel blockchain with your own  genesis block; but if you succeed in doing what I think you're doing, your blockchain will certainly be compromised if it were to ever grow enough to represent any real value.

I'm curious what you think I want to do here?  All I'm asking is to rethink Bitcoins for a little bit and to get a more open mind about how people earn bitcoins.  Some of this can be put upon the existing structure, some of it would be so fundamental that you would indeed have to create a new genesis block and restart the project all over again (I admit that isn't practical), and some of it simply wouldn't work at all.

I'll tip my hand here a little bit as there is a selfish motive here for me as well.  I'm trying to pick the brains of some of those who have participated with Bitcoins from the beginning for another projects that I'm working on where I might just start something sort of like Bitcoins but not directly related to the concept and certainly isn't a competing currency in the sense that Bitcoins, Dollars, or Euros are.  I've mentioned it elsewhere and if people are interested I'll create another thread about that concept.  But I think it is still useful to talk about these issue in the context of Bitcoins itself and that there are things that could be discussed if you but open your mind just a little bit that things could be a little different too.

Perhaps I'm missing something here with Bitcoins too.  I don't understand why it is so awful to consider alternatives for how the coins themselves are generated, or to defend without ad hominem attacks the concept of a hash generation of coins.

1FLK3uUT3Vup5JtkGJVXKHAoS3AZWPcKdv
ribuck
Donator
Legendary
*
Offline Offline

Activity: 826


View Profile
November 13, 2010, 11:53:11 AM
 #11

Code:
if (block > 200000)
     Do Something New And Different ()


Well, this is not good for my confidence into bitcoin.

Your confidence in bitcoin should not depend on whether the programming language supports "if" statements, but on whether you think more those who control 50% of the CPU power would accept bad changes in the future.

Let me give you a tangible example. If in the future the limitation of eight decimal places (for the subdivision of bitcoins) became a problem, and someone designed an acceptable way to remove that limitation, it would not be unreasonable to apply that change from a specified block number.

What I would like to see is a document that outlines the core values that can never change without it becoming something other than bitcoin. For example the absolute limit of 21 million bitcoins. There are probably only about half a dozen really core principles.

The purpose of that document would be to provide the moral authority to argue against a usurper (Facebook, say) giving their users an inferior system and saying that it is bitcoin.

I see an analogy with documents like the Debian Free Software Guidelines, the OSI's definition of Open Source, and the FSF's principles of free software. If those had not already been in place, it would have been very difficult to assert that things like Microsoft's "Shared Source" were inferior.
grondilu
Legendary
*
Offline Offline

Activity: 1134


View Profile
November 13, 2010, 12:24:35 PM
 #12

What I would like to see is a document that outlines the core values that can never change without it becoming something other than bitcoin. For example the absolute limit of 21 million bitcoins. There are probably only about half a dozen really core principles.

The purpose of that document would be to provide the moral authority to argue against a usurper (Facebook, say) giving their users an inferior system and saying that it is bitcoin.

Agreed.  We should work on writing those specifications.
RHorning
Full Member
***
Offline Offline

Activity: 210


View Profile
November 13, 2010, 04:05:49 PM
 #13

What I would like to see is a document that outlines the core values that can never change without it becoming something other than bitcoin. For example the absolute limit of 21 million bitcoins. There are probably only about half a dozen really core principles.

The purpose of that document would be to provide the moral authority to argue against a usurper (Facebook, say) giving their users an inferior system and saying that it is bitcoin.

Agreed.  We should work on writing those specifications.


I wish there was more effort to actually document the protocol rather than simply "document through code" what is happening with Bitcoins.  I made an effort on the internal wiki to the Bitcoins project to get started, but it is rather pathetic at the moment:

http://www.bitcoin.org/wiki/doku.php?id=technical_documentation

There was also a fiasco where one regular participant to Bitcoins was asserting "ownership" over the spec that sort of crashed the party.  I hope that is water over the dam now.

Ideally, the coding ought to be based upon the specification rather than the spec being based upon the coding.  I think that is backwards and should change.  It is much easier to debate the specification and make more informed decisions about the spec when you can divorce the programming environment and reference implementation from the standards used.

At the moment, the reference implementation is the specification.  Some people like it that way.  I don't.

1FLK3uUT3Vup5JtkGJVXKHAoS3AZWPcKdv
throughput
Full Member
***
Offline Offline

Activity: 158


View Profile
November 13, 2010, 04:09:14 PM
 #14

This is mainly a theoretical discussion rather than an actual proposal I am making in terms of changes to Bitcoins, but I would like to perhaps open up the discussion about other "metrics" that might be used for a peer-to-peer electronic coin system similar to Bitcoins, and perhaps come up with a strong defense for the current system as well from a logical viewpoint.

It was this post that got me thinking originally:

I like the idea of separating the daemon core from the GUI. That way others can build their own interfaces for using bitcoin like a KDE version for my desktop or a web interface.

Oooh.. I do like the idea of a bitcoin daemon presenting itself through a KDE Plasma widget...  Cool


By the way, do I understand it correctly, people are talking about the separation between the daemon core and the GUI, but not about
the splitting software into:
  • the network P2P messenger (operated by the local administrator, protected from the local users)
  • site wide database - the local storage for the blockchain and all the public data (operated by the local admin, but accessible to the local users for reading and publishing of transactions and blocks)
  • personal "wallet" database with transaction generation code
  • application software, GUI, command-line, whatever. Like billing system, electronic wallet, checkbook implementation, anything, that is not really built into the bitcoin, but makes it so useful.

So the protocol changes will only affect the first part,
changing the bitcoin 'rules' will require to modify second and third parts,
but not the fourth, since it will only need to interact with the "wallet" part.


But, again, it is impossible without protocol and 'rules' formal and public specification.
grondilu
Legendary
*
Offline Offline

Activity: 1134


View Profile
November 14, 2010, 12:34:37 AM
 #15

I wish there was more effort to actually document the protocol rather than simply "document through code" what is happening with Bitcoins.  I made an effort on the internal wiki to the Bitcoins project to get started, but it is rather pathetic at the moment:

http://www.bitcoin.org/wiki/doku.php?id=technical_documentation

There was also a fiasco where one regular participant to Bitcoins was asserting "ownership" over the spec that sort of crashed the party.  I hope that is water over the dam now.

Ideally, the coding ought to be based upon the specification rather than the spec being based upon the coding.  I think that is backwards and should change.  It is much easier to debate the specification and make more informed decisions about the spec when you can divorce the programming environment and reference implementation from the standards used.

At the moment, the reference implementation is the specification.  Some people like it that way.  I don't.


Satoshi's white paper (http://www.bitcoin.org/bitcoin.pdf) is actually an excellent specification document.  It is this document that convinced me about how great is the bitcoin concept.

However, Satoshi is making regular slight modifications to the protocol.  Therefore, I think the document lacks a clear and exhaustive list of features that are absolutely necessary to define what bitcoin is.

Such a list could be used to audit the source code and make sure it is compliant to the bitcoin concept.

Amongst those features would be :

* The halfing of bitcoins reward every 210,000 blocks
* use of SHA-256 for hash
* a target of 6 generated blocks per hour
jgarzik
Legendary
*
qt
Offline Offline

Activity: 1470


View Profile
November 14, 2010, 02:31:33 AM
 #16

* The halfing of bitcoins reward every 210,000 blocks
* An always increasing difficulty
* use of SHA-256 for hash
* a target of 6 generated blocks per hour

Bitcoin is not built to continually increase the difficulty.

Bitcoin is built to continually adjust the difficulty, to attempt to reach the target of 6 blocks per hour.

If the number of miners decreases, then the difficulty will decrease.

Jeff Garzik, bitcoin core dev team and BitPay engineer; opinions are my own, not my employer.
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
grondilu
Legendary
*
Offline Offline

Activity: 1134


View Profile
November 14, 2010, 02:48:00 AM
 #17

Bitcoin is not built to continually increase the difficulty.

Bitcoin is built to continually adjust the difficulty, to attempt to reach the target of 6 blocks per hour.

If the number of miners decreases, then the difficulty will decrease.


My mistake.
theymos
Administrator
Legendary
*
expert
Offline Offline

Activity: 2422


View Profile
November 14, 2010, 03:47:50 AM
 #18

However, Satoshi is making regular slight modifications to the protocol.  Therefore, I think the document lacks a clear and exhaustive list of features that are absolutely necessary to define what bitcoin is.

Such a list could be used to audit the source code and make sure it is compliant to the bitcoin concept.

Amongst those features would be :

* The halfing of bitcoins reward every 210,000 blocks
* use of SHA-256 for hash
* a target of 6 generated blocks per hour


Any of those things can be changed while still remaining Bitcoin. Anything can be changed, really, as long as people using the software still consider its network to be the "real Bitcoin network".

The safest "rules" would be the 21 million BTC limit and a responsibility to honor all transactions that have been in the chain for a certain amount of time. Even those might be changed, though.

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
grondilu
Legendary
*
Offline Offline

Activity: 1134


View Profile
November 14, 2010, 04:34:21 AM
 #19

Any of those things can be changed while still remaining Bitcoin. Anything can be changed, really, as long as people using the software still consider its network to be the "real Bitcoin network".

The safest "rules" would be the 21 million BTC limit and a responsibility to honor all transactions that have been in the chain for a certain amount of time. Even those might be changed, though.

Well, bitcoin forks will have to use different names, at least in order to differentiate themselves from the others.  I think it wouldn't make much sense to use "bitcoin" for any cryptocurrency other than the one where the total amount is 21 millions, for it has been the name of the original one.

I know we can ultimately inspect the code in order to know what kind of crypto-currency we're dealing with, but come on...
RHorning
Full Member
***
Offline Offline

Activity: 210


View Profile
November 14, 2010, 05:03:52 AM
 #20

Any of those things can be changed while still remaining Bitcoin. Anything can be changed, really, as long as people using the software still consider its network to be the "real Bitcoin network".

The safest "rules" would be the 21 million BTC limit and a responsibility to honor all transactions that have been in the chain for a certain amount of time. Even those might be changed, though.

Well, bitcoin forks will have to use different names, at least in order to differentiate themselves from the others.  I think it wouldn't make much sense to use "bitcoin" for any cryptocurrency other than the one where the total amount is 21 millions, for it has been the name of the original one.

I know we can ultimately inspect the code in order to know what kind of crypto-currency we're dealing with, but come on...


I am not completely convinced that the 21 million limit is necessary either, although this may be a topic for another thread entirely.  Since the coin miner has yet to be halved at all so far, this is a feature that has yet to be tested as a matter of fact, and its impact upon both difficulty and the exchange markets has yet to be seen as well.

The reason I suggest that perhaps the difficulty might be impacted is that there might be some people who simply give up even trying to mine coins altogether.  To me, that actually makes the network more vulnerable to "dangerous" attacks and could cause other problems too.  This remains to be seen how big of an attack it will be.

Also, I'm suggesting that the markets are adjusting to the continual influx of new coins coming "into the economy" and that the more important feature is not the absolute limit, but rather the very slow and steady growth of the Bitcoin economy.  Deflation is happening anyway as people are coming into usage of Bitcoins and applications of the currency are being found to soak up the coins faster than they can be mined.  Furthermore, there is a genuine need to be mining coins as it is the work units themselves that are processing transactions and determining how transaction fees are paid.

We are not talking somebody like the Fed Chariman sitting behind his computer and creating $3 trillion USD out of nothing and buying up all kinds of securities because he feels it is a good thing to do.  With bitcoins, such a move is impossible.

Correct me if I'm wrong here, but it is the person who "creates" the work unit (they get the hash correct that is recognized by the network) that collects the "fees" for the transactions processed with that work unit, in addition to the new coins mined with that work unit.  Is that correct?

I suppose that is the reason to continue to "mine" coins even if the value earned from the mining activity is zero.  Under the current system, the value "earned" from mining work units is eventually going to get to zero.

As a percentage of the total number of Bitcoins that are floating around, each new work unit even at 50 BTC each represents an ever decreasing proportion of the overall Bitcoin economy.  If anything, maintaining a constant flow and creation of bitcoins acts as an anti-deflationary method and ensures that "lost" bitcoins are not going to adversely impact the overall economy in terms of increasing deflationary pressure.

Again, I'll believe it when I see it, and it is when that work unit #210001 is created that it will be interesting to see what happens.  I'm just suggesting that even this particular sacred cow doesn't have to be so sacred as is being suggested and its impact has yet to even scratch the network yet.  Right now, the network is acting as if such a limit doesn't exist at all or at least you wouldn't notice a difference based on current behavior.

1FLK3uUT3Vup5JtkGJVXKHAoS3AZWPcKdv
Pages: [1] 2 3 »  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!