Bitcoin Forum
November 06, 2024, 03:45:02 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2]  All
  Print  
Author Topic: Nope, we're not using a decentralized protocol yet, just a piece of software  (Read 3041 times)
markm
Legendary
*
Offline Offline

Activity: 2996
Merit: 1121



View Profile WWW
March 17, 2013, 04:01:15 AM
 #21

There is another threat suggesting the documentation and "formalisation" of the protocol, some of the devs are reluctant as it means lots of work lots and lots of documentation for something that will probably change dramatically over time and the fact that whoever writes the protocol is doing so as a small elite so to speak.

It might mean lots of work for someone, but what devs are we speaking of here, documentation devs or code devs? I suspect if the doc devs just shut up and got to work on the docs the code devs wouldn't mind at all.

And if the code devs feel the docs devs are a small elite and that there is something wrong with that they are welcome to wear multiple hats, aren't they? Or are the docs devs opposed to permitting code devs to participate in their hallowed process?

I think if it was atleast documented and not quite standardised but suggested then we could have an actual protocol instead of this situation where the original client code is the protocol.

If there was this documentation available it would attract more devs and would stop threads like this springing up, Clients would be able to be developed independently that are compatable with each other and bitcoin would prosper, if its documented people can review and comment on it even if they don't understand C++.

I am interested in seeing some alternative code in action, too. Maybe the docs devs can document what protocol-critical (hence "part of the spec") behavior in the various other impementations out there differs from the Satoshi-node behavior so folks can weigh which behavior best fits "the spec" or would make a better "spec" ?

-MarkM-

Browser-launched Crossfire client now online (select CrossCiv server for Galactic  Milieu)
Free website hosting with PHP, MySQL etc: http://hosting.knotwork.com/
bg002h
Donator
Legendary
*
Offline Offline

Activity: 1466
Merit: 1048


I outlived my lifetime membership:)


View Profile WWW
March 17, 2013, 04:43:14 AM
 #22

I just want to emphasize, I have no criticism against anyone in the bitcoin community. I most certainly did not mean to make the particular point that I would call what happened as technically a 51% attack (and it wasn't a bad thing, it was simply the decision that was made at the time and bitcoin is still alive and kicking). Also, I did not mean to make Gavin look like a terrible dictator, only that I see it as there being a focal point where network-wide decisions are made (and this is not a bad thing, it's simply the way it is and bitcoin is still alive and kicking). Like I said, everything is fine and I believe bitcoin was designed in such a way that things will eventually all work out (until a competing currency takes it's place).

My point with this thread was to simply emphasize that the network is still young, as evident by the fact that this decentralized network still relies on a very strong (and excellently performing) developer community. I think they're doing a great job, but please note that as long as we need to rely on the developers of the single most dominant client, the network is still very immature.

The protocol is not yet a protocol if there's only one de-facto client using it. In this case, it's simply the client's implementation, not a protocol.

OP: you're right. But I think you miss the point of the Bitcoin project: to create a decentralized payment processing network. Your observation would be better put: "we're not done yet!"

Notice the title has a "yet" in it  Wink
Bingo. I agree.  This experiment is still in progress.  A true protocol it is not.  Is that the goal? Yes.  But we need to survive until we get there.  The 1.0 release will be very interesting...hopefully it won't come too soon.  We can't have oopsy network splits in 1.0. 

Hardforks aren't that hard. It’s getting others to use them that's hard.
1GCDzqmX2Cf513E8NeThNHxiYEivU1Chhe
johnyj
Legendary
*
Offline Offline

Activity: 1988
Merit: 1012


Beyond Imagination


View Profile
March 17, 2013, 10:19:08 AM
 #23

OP: you're right. But I think you miss the point of the Bitcoin project: to create a decentralized payment processing network. Your observation would be better put: "we're not done yet!"

Just a decentralized payment processing network? I think bitcoin is much more than that  Wink

As an end user, I don't care too much about the transaction system being centralized or not, as long as it provide certain function. Bitcoin can not protect consumer (charge back not possible), it can not replace other payment services like VISA/PAYPAL

Many people are attracted by bitcoin because of the fundamental flaw in today's debt-driven monetary system since the abandon of gold standard  (unsustainable growth) , there is a strong demand for a type of honest money

WiW (OP)
Sr. Member
****
Offline Offline

Activity: 277
Merit: 250


"The public is stupid, hence the public will pay"


View Profile
March 17, 2013, 04:16:15 PM
 #24

I believe the market should have solved this on their own.

Einstein, what do you think happened?  Roll Eyes

All those claiming that the market sorted itself out, you have a valid point and I mostly agree. The market did sort itself out.

I just have one question: what would have happened if there had been no time-sensitive discussions among developers? What if the new version were released and the developers would not have had discussions as to what should miner do or not do?

I'm genuinely curious if the miners would have reverted to the old chain. Again, I don't think anything "wrong" happened, only that I think the miners of 0.8 should have stayed on 0.8, making other miners understand that it's not the software that determines what's good or bad, it's simply that your software has to speak the same language that the majority of software speaks. Hence, a protocol. Perhaps they thought that moving forward with the new chain would be detrimental to the future of bitcoin and the future of their mining enterprise. I'm just curious.


There is another threat suggesting the documentation and "formalisation" of the protocol, some of the devs are reluctant as it means lots of work lots and lots of documentation for something that will probably change dramatically over time and the fact that whoever writes the protocol is doing so as a small elite so to speak.

"The protocol" is the language which most software understands. Nobody "writes" the protocol, just as nobody "writes" the English language. If everyone starts using this new word like "tweeting" then that's now part of the English language. Even if no "small elite" determined it. Like you said, the original client is the protocol - but not because that they are writing it, simply because they are the only ones speaking this language. To decentralize you simply need more people speaking the language.
hazek
Legendary
*
Offline Offline

Activity: 1078
Merit: 1003


View Profile
March 17, 2013, 04:41:07 PM
 #25

I believe the market should have solved this on their own.

Einstein, what do you think happened?  Roll Eyes

All those claiming that the market sorted itself out, you have a valid point and I mostly agree. The market did sort itself out.

I just have one question: what would have happened if there had been no time-sensitive discussions among developers? What if the new version were released and the developers would not have had discussions as to what should miner do or not do?

What you're asking does not make any sense because to me you are asking what would the market do if the market couldn't act in the first place since obviously when it could act, your scenario didn't play out.

If the market can't act then the market can't act and Bitcoin, in my eyes at least, has already failed regardless what that would means specifically..

My personality type: INTJ - please forgive my weaknesses (Not naturally in tune with others feelings; may be insensitive at times, tend to respond to conflict with logic and reason, tend to believe I'm always right)

If however you enjoyed my post: 15j781DjuJeVsZgYbDVt2NZsGrWKRWFHpp
markm
Legendary
*
Offline Offline

Activity: 2996
Merit: 1121



View Profile WWW
March 17, 2013, 06:00:11 PM
 #26

Maybe when the market can't act, it sings and dances! Smiley

(Lots of song and dance from people who [ didn't | don't | weren't equipped to | aren't equipped to ] act ...)

-MarkM-

Browser-launched Crossfire client now online (select CrossCiv server for Galactic  Milieu)
Free website hosting with PHP, MySQL etc: http://hosting.knotwork.com/
Gavin Andresen
Legendary
*
Offline Offline

Activity: 1652
Merit: 2301


Chief Scientist


View Profile WWW
March 17, 2013, 06:49:58 PM
 #27

It might mean lots of work for someone, but what devs are we speaking of here, documentation devs or code devs? I suspect if the doc devs just shut up and got to work on the docs the code devs wouldn't mind at all.

More documentation is great, so yeah, if you want a formal spec, go for it.

Here's a tricky question you can start with:

Assume there is a fork consisting of max-block-size blocks. How deep a fork/re-organization MUST a conforming implementation handle?  6 blocks? 1000 blocks?  as-many-blocks-as-there-are-in-the-chain blocks?

Does that imply that a confirming implementation MUST be running with a certain amount of memory, or MUST a conforming implementation be able to handle such a chain fork within a certain amount of time?

.. and once you answer all that:  what if the network consists entirely of non-conforming implementations that take shortcuts and just assume that there will never be a re-org more than X blocks deep?

How often do you get the chance to work on a potentially world-changing project?
markm
Legendary
*
Offline Offline

Activity: 2996
Merit: 1121



View Profile WWW
March 17, 2013, 06:59:00 PM
Last edit: March 17, 2013, 07:11:39 PM by markm
 #28

.. and once you answer all that:  what if the network consists entirely of non-conforming implementations that take shortcuts and just assume that there will never be a re-org more than X blocks deep?

That part is probably the easiest part. It is merely a description of an archaeological dark age that preceded the advent of the doc devs' excellent and so very much needed work.

Looking forward to seeing what they come up with! Smiley

-MarkM-

EDIT: a very clunky "shutdown if ever a re-org of more than 6 blocks would otherwise be attempted" might date back to an era in which Pak Protectors were still around expecting to intervene to fix anything at any time, as is their wont.

Browser-launched Crossfire client now online (select CrossCiv server for Galactic  Milieu)
Free website hosting with PHP, MySQL etc: http://hosting.knotwork.com/
eldentyrell
Donator
Legendary
*
Offline Offline

Activity: 980
Merit: 1004


felonious vagrancy, personified


View Profile WWW
March 18, 2013, 07:49:15 AM
Last edit: March 18, 2013, 08:20:16 AM by eldentyrell
 #29

Instead, we have one client, one source, one community. This is not decentralization.

Unfortunately there is a lot of FUD floating around about the supposed "risks" of alternative fully-validating implementations.  If you take a calm, careful look at the technical issues involved and don't settle for slogans it turns out that using an alternative fully-validating implementation carries no new risks (relative to the Satoshi client) except possibly the loss of revenue by people who mine with said alternative implementations.

This assumes that the alternative implementation takes a few sensible precautions: (a) watch for long invalid chains and if you see one go into safe mode and (b) watch for X-block-long forks within the last day or so and if you see one go into safe mode, where X is the number of confirmations you wait for before believing a transaction and a "day or so" is longer than it takes the miners to notice that they could be losing money (empirically: less than two hours).

The Satoshi client already does (a) and always has.  If it had done (b) the recent blockchain fork would not have happened (this is hindsight -- I'm not claiming to have noticed this beforehand).

The printing press heralded the end of the Dark Ages and made the Enlightenment possible, but it took another three centuries before any country managed to put freedom of the press beyond the reach of legislators.  So it may take a while before cryptocurrencies are free of the AML-NSA-KYC surveillance plague.
eldentyrell
Donator
Legendary
*
Offline Offline

Activity: 980
Merit: 1004


felonious vagrancy, personified


View Profile WWW
March 18, 2013, 07:58:46 AM
Last edit: March 18, 2013, 08:21:36 AM by eldentyrell
 #30

.. and once you answer all that:  what if the network consists entirely of non-conforming implementations that take shortcuts and just assume that there will never be a re-org more than X blocks deep?

As long as they go into safe mode on detection of a long invalid chain (like the Satoshi client does on this line of code), they'll simply get stuck until a human intervenes.  Not pretty, but it could be worse.  In the meantime the miners will fight it out, like they did during the recent fork, with a powerful incentive to come to some sort of agreement since a lot of hashpower (money) is being wasted in the meantime.  If there's a dispute, eventually somebody will cry "uncle" and relent.

Regardless, on the larger point I agree that trying to call some prose document a "specification" is not really practical.  The answer always will be "whatever most of the clients will go along with."  Longer-invalid-chain and recent-long-fork protections are important because they make this more predictable.

The printing press heralded the end of the Dark Ages and made the Enlightenment possible, but it took another three centuries before any country managed to put freedom of the press beyond the reach of legislators.  So it may take a while before cryptocurrencies are free of the AML-NSA-KYC surveillance plague.
boonies4u
Hero Member
*****
Offline Offline

Activity: 826
Merit: 1000



View Profile
March 18, 2013, 11:27:50 AM
 #31

Related : http://bitcoin.org/may15.html
MysteryMiner
Legendary
*
Offline Offline

Activity: 1512
Merit: 1049


Death to enemies!


View Profile
March 18, 2013, 11:46:44 AM
 #32

You are wrong about one client. Ufasoft Coin also is full validating node and miner too.

bc1q59y5jp2rrwgxuekc8kjk6s8k2es73uawprre4j
markm
Legendary
*
Offline Offline

Activity: 2996
Merit: 1121



View Profile WWW
March 18, 2013, 03:04:45 PM
 #33

You are wrong about one client. Ufasoft Coin also is full validating node and miner too.

Great, so we have at least two implementations.

Anything network-critical they do differently presumably implies one or both of them are not up to spec. What they both do might happen to match the spec.

So the doc devs should be able to get a first draught of a spec down just by documenting what it is that both of these do.

-MarkM-

Browser-launched Crossfire client now online (select CrossCiv server for Galactic  Milieu)
Free website hosting with PHP, MySQL etc: http://hosting.knotwork.com/
Maged
Legendary
*
Offline Offline

Activity: 1204
Merit: 1015


View Profile
March 20, 2013, 03:34:50 AM
 #34

All those claiming that the market sorted itself out, you have a valid point and I mostly agree. The market did sort itself out.

I just have one question: what would have happened if there had been no time-sensitive discussions among developers? What if the new version were released and the developers would not have had discussions as to what should miner do or not do?

I'm genuinely curious if the miners would have reverted to the old chain. Again, I don't think anything "wrong" happened, only that I think the miners of 0.8 should have stayed on 0.8, making other miners understand that it's not the software that determines what's good or bad, it's simply that your software has to speak the same language that the majority of software speaks. Hence, a protocol. Perhaps they thought that moving forward with the new chain would be detrimental to the future of bitcoin and the future of their mining enterprise. I'm just curious.
We would have reverted, because Eleuthria started the roll-back process on BTC Guild prior to receiving an ACK from the devs (by at least a few seconds). The only way this would have turned out differently would have been if the devs were insistent on not going back to the pre-0.8 chain and if Eleuthria listened to them.

Pages: « 1 [2]  All
  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!