Pages:
Author

Topic: Bitcoin protocol standarization - page 2. (Read 3862 times)

legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
December 06, 2014, 01:23:18 PM
#10
The issue that @gmaxwell has mentioned is that any alternative implementation that fails to do something that the current implementation does (which may have never been even witnessed before) would result in a fork.

So the unfortunate situation is that Bitcoin is not a protocol like HTTP but instead is the behaviour of a specific C++ program (who's every currently unknown *quirk* would have to be replicated in any other implementation).

The only way you could create a Bitcoin equivalent in another language would be to have something that behaves identically at the binary level (and that would most likely only perform slower than Bitcoin does).
sr. member
Activity: 293
Merit: 251
Director - www.cubeform.io
December 06, 2014, 01:19:34 PM
#9
I think cbeast covers this topic very well, but I wanted to add a Consideration:

In fact, if we have a "reference implementation" is because the thruth is in the source code instead of being in a specification document and that's also a problem. Moreover, you need to be a top hacker to understand the reference implementation source code because it is a bit messy so, if I am right, the thruth is in a messy piece of code.

It is my opinion that this statement is inaccurate. While it's development path has left it as -- code that by many programming standards might be 'messy' -- It is very far from being unreadable. I think the reputation for it being such a disaster has been greatly exaggerated for specific effect in a few interviews, leaving those unfamiliar with it to assume it far worse off than it actually is. Any developer with basic knowledge of software engineering, c++, and cryptography concepts are all that is required to read and understand the vast majority of the reference code. The few advanced programming concepts implemented in the reference client or design plans typically have clear explanation available, and while may take a moment to fully grasp are well within reason for an average developer. I think it is important to not let the rumor of bitcoin's code being 'a mess' demotivate people who would otherwise be interested in it's development..

donator
Activity: 1736
Merit: 1014
Let's talk governance, lipstick, and pigs.
December 01, 2014, 06:39:13 PM
#8
I'll take one perfect world, please.
Hold that thought.
newbie
Activity: 6
Merit: 0
December 01, 2014, 12:30:21 PM
#7
I'll take one perfect world, please.
legendary
Activity: 1260
Merit: 1116
November 29, 2014, 08:10:01 PM
#6
You must be new here. These questions gets asked about once per week. I'm probably not the best one to answer these


I disagree.

You, sir, are true gentlemen.
staff
Activity: 4284
Merit: 8808
November 29, 2014, 07:59:59 PM
#5
The issue in creating a standard protocol is documenting all the bugs in the current reference implementation. Until this happens most other implementations will fork the chain.
No, they'll continue to fork the chain regardless; many (most?) of the previously observed implementation behaviour discrepancies have been in clearly well documented behaviour; or even in behaviour triggered on the conformance testing harness. Turns out that getting radically different software to behave in a manner which is absolutely identical under all conditions is quite hard.
sr. member
Activity: 349
Merit: 250
November 29, 2014, 05:34:22 PM
#4
The issue in creating a standard protocol is documenting all the bugs in the current reference implementation. Until this happens most other implementations will fork the chain.
full member
Activity: 164
Merit: 126
Amazing times are coming
November 28, 2014, 01:11:21 AM
#3
Thank you, @cbeast. Yes, I am new in the development sub-forum and I didn't know this is a common question ;(

Is some people doing something about it?

donator
Activity: 1736
Merit: 1014
Let's talk governance, lipstick, and pigs.
November 28, 2014, 12:57:54 AM
#2
You must be new here. These questions gets asked about once per week. I'm probably not the best one to answer these, but I'll give it  shot.

Hi,

Everytime I tell some people about bitcoin they ask me "who controls it?". I tell them nobody does it because it is a protocol just like http or smtp. However sometimes I think that that is not true. Of course nobody controls the currency but the bitcoin core team is who takes the decisions about the "reference" implementation, what means it is the team that update the protocol even when there are other full-node implementations out there.
The core team leads the development, but doesn't dictate adoption. If fact, they encourage people to not use new updates unless they are a bug fix, until they are confident it is useful to them. Miners themselves make the choice and some are still using older versions of the protocol. If an implementation is not popular, it will be dropped.

In fact, if we have a "reference implementation" is because the thruth is in the source code instead of being in a specification document and that's also a problem. Moreover, you need to be a top hacker to understand the reference implementation source code because it is a bit messy so, if I am right, the thruth is in a messy piece of code.
Basically you're saying that "math is hard" and I won't disagree. Computers are complex, but I use them. Cars too. There are many versions, I can choose the one I want based on my needs. Bitcoin is holding up against thousands of competitors because it's that good.

These facts don't look very well because it means centralization and unilateral control. And there are other signals here and there, in this moment I can read "News: Bitcoin Core 0.9.3 has been released. Download." in the this forum header. I mean, it is more and more like the "official" node. Oh, the alert message described in the protocol specs looks like a centralised broadcast system (yes, I understand it is okay and is there for a good reason)

I think something should be done in order to improve this situation. I know it sounds awful but we need an agreement system like a IETF for the bitcoin protocol.

Is something similar in the roadmap?
We don't really need the Bitcoin alert system at all, it's just a convenience. We need better watchdogs with more powerful analytic tools. They can develop their own alert systems.
full member
Activity: 164
Merit: 126
Amazing times are coming
November 28, 2014, 12:04:22 AM
#1
Hi,

Everytime I tell some people about bitcoin they ask me "who controls it?". I tell them nobody does it because it is a protocol just like http or smtp. However sometimes I think that that is not true. Of course nobody controls the currency but the bitcoin core team is who takes the decisions about the "reference" implementation, what means it is the team that update the protocol even when there are other full-node implementations out there.

In fact, if we have a "reference implementation" is because the thruth is in the source code instead of being in a specification document and that's also a problem. Moreover, you need to be a top hacker to understand the reference implementation source code because it is a bit messy so, if I am right, the thruth is in a messy piece of code.

These facts don't look very well because it means centralization and unilateral control. And there are other signals here and there, in this moment I can read "News: Bitcoin Core 0.9.3 has been released. Download." in the this forum header. I mean, it is more and more like the "official" node. Oh, the alert message described in the protocol specs looks like a centralised broadcast system (yes, I understand it is okay and is there for a good reason)

I think something should be done in order to improve this situation. I know it sounds awful but we need an agreement system like a IETF for the bitcoin protocol.

Is something similar in the roadmap?
Pages:
Jump to: