Pages:
Author

Topic: btcd: a bitcoind alternative written in Go - page 3. (Read 20970 times)

legendary
Activity: 1792
Merit: 1059
we're 20-25 rpc calls away from being a drop-in replacement for bitcoind :-)

What the actual status of this?

Does anyone of you using it as replacement (especially as simple full node without wallet functionality)?
full member
Activity: 121
Merit: 103
January 25, 2014, 09:20:33 AM
#95
i'm glad you enjoyed the blog post.

we're 20-25 rpc calls away from being a drop-in replacement for bitcoind :-)
member
Activity: 70
Merit: 10
January 24, 2014, 08:30:10 AM
#94
Thanks for your work!

https://blog.conformal.com/redecentralization-robust-developer-network/

Quote
As it was originally proposed by Satoshi Nakamoto, Bitcoin was conceived of as a peer-to-peer system that was fundamentally decentralized.  Many past and current discussions about the future of Bitcoin acknowledge that too much centralization is a threat to the Bitcoin network.  To some extent this process of avoiding centralization has been successful, but in several key areas it has not been very successful and it is in need of redecentralization.  The most pressing case for redecentralization in Bitcoin (and cryptocurrencies more generally) is the current development community:

    the number of developers who have experience developing cryptocurrencies is very low, I would estimate there are less than 100 such developers
    the majority of the developers are located in the US and other “Western” nations
    the developer incentive structure with successful cryptocurrencies creates conflicts of interest

In what follows, I propose solutions to these issues cited above.  Since we develop our own full-node Bitcoin implementation, btcd, the criticism of the developer community status quo that follows applies not only to other developers, but also our developers who work on btcd.
...
legendary
Activity: 2053
Merit: 1356
aka tonikt
January 02, 2014, 12:16:39 PM
#93
But I am quite sure that contracts are already there - you just don't seem to know how to use them.

There are a lot of things which you have not considered carefully enough. The problem is this:

Quote
Scripts are, by design, pure functions. They cannot poll external servers or import any state that may change as it would allow an attacker to outrun the block chain. What's more, the scripting language is extremely limited in what it can do.

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

You would like payment scripts, mined into the blockchain, being able to talk to external servers?  Roll Eyes

Well, I guess I've used all my rudeness limit for today, so no comments on that. Smiley


EDIT:
The example Mike then goes on to describe will not work IMO, because external API's can change. I am not aware of any implementations of the described oracle scheme, but if you know some please let me know.
Mike has been number one on my shit list, ever since he introduced the concept of "lists" to the world of bitcoin.
Ever since then, whatever Mr Google thinks, my natural instincts pushes me to argue for the opposite.
So if you want to convince me into some idea, I'd advise you to not mention this NSA cocksucker's name.
member
Activity: 70
Merit: 10
January 02, 2014, 12:11:23 PM
#92
But I am quite sure that contracts are already there - you just don't seem to know how to use them.

The problem is this:

Quote
Scripts are, by design, pure functions. They cannot poll external servers or import any state that may change as it would allow an attacker to outrun the block chain. What's more, the scripting language is extremely limited in what it can do.

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

The example Mike then goes on to describe will not work IMO, because external API's can change. I am not aware of any implementations of the described oracle scheme, but if you know some please let me know.
legendary
Activity: 2053
Merit: 1356
aka tonikt
January 02, 2014, 11:32:07 AM
#91
I could not disagree more. if smart contracts were made possible this would be the biggest innovation in the history of finance. at the moment its only used for cash transactions. finance is mostly about non-cash transactions: loans, insurance, equity agreements, taxes, donations, swaps. satoshi was very well aware of this, which is why all the stuff is already there, but not used at the moment.
I am pretty sure that the current blockchain protocol already supports all kind of contracts.
The limit is only your imagination.

That some nodes don't route certain transaction, because they find them non-standard - it doesn't matter at all, since they can still be mined into blocks. All it takes is finding a miner that agrees to do it for a certain fee, which isn't impossible already today.

If any changes are really needed in the protocol, the first would be additional signature algorithms (non ECDSA based) and some sort of a blockchain compression so no full node would ever need to download an entire blockchain anymore, though still could be equally secure full node. Not sure if the later even requires a change in the blockchain protocol.
But I am quite sure that contracts are already there - you just don't seem to know how to use them.
legendary
Activity: 2053
Merit: 1356
aka tonikt
January 02, 2014, 11:13:56 AM
#90
well, it's a flaw in the protocol of economic majority, not a feature. as if dependence on a bunch of profiteers would be a good thing. this makes the system completely static and opaque.
but bitcoin is a real money and not yet another computer game. it needs to be static and boring because only then it can do its job right.

and it definitely isn't a flaw - it's a genius invention that has a very important purpose, but if you don't get it then you are probably at a wrong forum and you should probably go back to developing computer games (no offence - it also takes skills to make games)
member
Activity: 70
Merit: 10
January 02, 2014, 11:12:14 AM
#89
well, it's a flaw in the protocol of economic majority, not a feature. as if dependence on a bunch of profiteers would be a good thing. this makes the system completely static and opaque.
legendary
Activity: 2053
Merit: 1356
aka tonikt
January 02, 2014, 11:05:41 AM
#88
piotr, its not just about backdoors but about bias in tech decision making. if legit corporations are the ones paying devs salaries, then they will choose the best decisions to benefit corporations and optimise for their use case. and who would be there representing the enterprising individuals and making the software better for them. you're looking too black and white at the things. i'm saying decentralise everything is good for a healthy ecosystem.
what I meant is that it is totally irrelevant how I look at the things.
miners are not going to ask me for an opinion, nor they are going to ask you or any other kind of authority.
they have invested lots of money in this infrastructure and they are certainly not stupid, since it has turned out to be a great investment.
and that is exactly why I am pretty sure that they will think it through much more carefully this time, before connecting to a mining pool that mines blocks version 3.
as an opposite to how ver 2 was introduced, when people still had a lot of trust in the devs, which had been before some of them started inventing black and red lists for their queen, without even a shadow of an embarrassment
member
Activity: 70
Merit: 10
January 02, 2014, 11:02:49 AM
#87
so which one is it - financial innovation or stagnation? your own friend Mihai Alisie said: "after 5 years of bitcoin we still don't use the basic features that lie dormant in the bitcoin core". http://www.youtube.com/watch?v=Hbu2KrHx9-0
legendary
Activity: 1232
Merit: 1076
January 02, 2014, 10:39:38 AM
#86
piotr, its not just about backdoors but about bias in tech decision making. if legit corporations are the ones paying devs salaries, then they will choose the best decisions to benefit corporations and optimise for their use case. and who would be there representing the enterprising individuals and making the software better for them. you're looking too black and white at the things. i'm saying decentralise everything is good for a healthy ecosystem.

note these are tech decisions. i didnt even get into stuff like blacklists, drm, tracking which actually attack users. those can also happen if we're not vigilant. justusranvier explained it well: http://bitcoinism.blogspot.co.uk/2013/12/did-you-get-good-price-when-you-sold-out.html
legendary
Activity: 1232
Merit: 1076
January 02, 2014, 10:34:11 AM
#85
sorry but i don't want all the contracts and new prototype theoretical features thrown into bitcoin.
Sorry, but Bitcoin is not your personal toy.

Quite a few people are waiting for this capability to be returned to the protocol.

i want limitations to be removed too. i just don't want new extensions to the protocols (make them rarer). or huge changes/rework stuff.

if you think blockchain = consensus, then lets make it a constitution that resists being revised.
legendary
Activity: 2053
Merit: 1356
aka tonikt
January 02, 2014, 09:36:51 AM
#84
I said, do not overestimate their power, not that they would not have one. They have to be very careful exercising the power otherwise they could lose it. Should a significant part of the community disagree with their decisions, then the code could be forked and their keys would become worthless with the majority moving away.

What does "community" stand for here? Marketcap is 10B$ and users are perhaps 5-10M people or more. They have nothing to say about this. What I said is that alternative implementations can potentially defeat the network. If 50% of the "community"/ miners go with A and 50% goes with B, well that's a fork then. And so the devs pretend that anyone can contribute, whereas in reality its a very small group with inherent biases (they are human beings) which does not care that much about outside opinion. Besides all the large players have fortunes to lose by now. If your networth is 8-9 figure $ BTC equivalent you might have some biases. So even if somebody like conformal comes a long and makes a very valuable contribution to architecting the software, the response is less than muted. now think what would happen if they would suggest to make changes to core protocol issues. devs have way too much power, and there are no trust models in place to fix it.

It is sad and funny at the same time to see how people who think they can make a better bitcoin do not even understand what bitcoin is really about.

50:50 fork is practically impossible and any other fork would be suicidal for the minority branch. So there will not be any fork, unless along with a change in the POW function.

People who hold the hashing power do not give a shit about architecture of the software. They do care very much though about security and profits of their mining enterprises. Anyone who will try to do anything against their interest is going to face a huge disappointment. No matter whether he is a brilliant developer, or yet another genocidal president of some united states.

And since we have already established that this worldwide bitcoin development community does not seem to work (thus consensus is impossible) a chance for any possible change in the blockchain protocol is very slim, at least in a foreseeable future. And if any will come later on, they will rather be driven by the miners, while developers will only be there to implement them on request.

The era of changing the blockchain protocol driven by a dev team is long gone, and it will never come back, so don't try to tilt at windmills for your own sake.
full member
Activity: 121
Merit: 103
January 02, 2014, 09:06:37 AM
#83
Besides all the large players have fortunes to lose by now. If your networth is 8-9 figure $ BTC equivalent you might have some biases. So even if somebody like conformal comes a long and makes a very valuable contribution to architecting the software, the response is less than muted. now think what would happen if they would suggest to make changes to core protocol issues. devs have way too much power, and there are no trust models in place to fix it.

the incentive structure is more than a little fucked up as-is. i will have more to say about this soon.
member
Activity: 70
Merit: 10
January 02, 2014, 08:07:25 AM
#82
I said, do not overestimate their power, not that they would not have one. They have to be very careful exercising the power otherwise they could lose it. Should a significant part of the community disagree with their decisions, then the code could be forked and their keys would become worthless with the majority moving away.

What does "community" stand for here? Marketcap is 10B$ and users are perhaps 5-10M people or more. They have nothing to say about this. What I said is that alternative implementations can potentially defeat the network. If 50% of the "community"/ miners go with A and 50% goes with B, well that's a fork then. And so the devs pretend that anyone can contribute, whereas in reality its a very small group with inherent biases (they are human beings) which does not care that much about outside opinion. Besides all the large players have fortunes to lose by now. If your networth is 8-9 figure $ BTC equivalent you might have some biases. So even if somebody like conformal comes a long and makes a very valuable contribution to architecting the software, the response is less than muted. now think what would happen if they would suggest to make changes to core protocol issues. devs have way too much power, and there are no trust models in place to fix it.
full member
Activity: 126
Merit: 100
CAUTION: Angry Man with Attitude.
January 02, 2014, 06:41:04 AM
#81
What language is the program written in?
hero member
Activity: 836
Merit: 1030
bits of proof
January 01, 2014, 03:32:31 PM
#80
If you're interested in these kinds of things I would suggest this resource: http://szabo.best.vwh.net/

When you're saying the bitcoin developers have no power, that doesn't hold up in argument. They have they keys, and they are designing the protocols. What is the input from outside of that group? where is that discussion even taking place? If you approach one of the devs with these questions you wouldn't get a straight answer. I can make a proposal, but this is subject to the lead devs views, which I don't share in many ways. We need much better trust models and infrastructure for collective decision making. we can do better than this messageboard and some mailing list.

I said, do not overestimate their power, not that they would not have one. They have to be very careful exercising the power otherwise they could lose it. Should a significant part of the community disagree with their decisions, then the code could be forked and their keys would become worthless with the majority moving away.

We see the trend that non-miner move to SPV slowly erodes the control on that group as a whole. This combined with heavy weight of a few pools concerns me more than the power of core developer.
legendary
Activity: 1400
Merit: 1013
January 01, 2014, 02:37:09 PM
#79
sorry but i don't want all the contracts and new prototype theoretical features thrown into bitcoin.
Sorry, but Bitcoin is not your personal toy.

Quite a few people are waiting for this capability to be returned to the protocol.
legendary
Activity: 1232
Merit: 1076
January 01, 2014, 01:11:20 PM
#78
there needs to be a incredible amount of friction against modifying bitcoin's rules. some of these issues are very complex and less than a handful of people understand them worldwide. what happens when you as a user, have no-one representing your interest in that circle.
legendary
Activity: 1232
Merit: 1076
January 01, 2014, 01:06:42 PM
#77
any dev who makes the argument about having 1 bitcoin is talking rubbish. bitcoind itself has changed massively since its inception and will continue to do so. the problem is people are too trigger happy to go and make destructive changes to the bitcoin consensus core which is both dangerous and harms consensus. bitcoin should be kept pure and simple. sorry but i don't want all the contracts and new prototype theoretical features thrown into bitcoin. by all means use the blockchain (people will anyway), but this stuff is so new. bitcoin should be left alone because it works, and needs to be protected.

for example:

https://github.com/bitcoin/bitcoin/commit/f5857e5c

the sighash is one of the hardest parts of bitcoin. this is not a place I
would optimise.

compare both versions:

https://github.com/bitcoin/bitcoin/blob/f5857e5cb5fb03bee9c05d1dd6ba2621cac49179/src/script.cpp#L978

https://github.com/bitcoin/bitcoin/blob/881a85a22d76c875f519cd54388a419ec6f70857/src/script.cpp#L976

don't mean to criticise sipa since he is working hard. but this is your precious code by satoshi having a radical redesign.
Pages:
Jump to: