Search content
Sort by

Showing 20 of 29 results by HZKto
Post
Topic
Board Beginners & Help
Re: Do you really know bitcoin ? Here are 11 myths
by
HZKto
on 28/12/2013, 15:11:37 UTC
we need to destroy the bank corporation, no more taxes!!

YEAH! No more taxes! WE NEED TRANSACTION FEES!!!
Post
Topic
Board Beginners & Help
Re: Do you really know bitcoin ? Here are 11 myths
by
HZKto
on 28/12/2013, 14:31:32 UTC
Nope, there are already indepened Bitcoin clients beside Bitcoin-qt if Bitcoin Foundation turns out to be bad, or using older versions of Bitcoin-qt

And how it is better than centralized banks? If your bank or government "turns out to be bad" - you can use other bank.
Post
Topic
Board Beginners & Help
Re: Do you really know bitcoin ? Here are 11 myths
by
HZKto
on 28/12/2013, 10:00:27 UTC
Myth #12: It is decentralized.

No, it is centralized. And it has central authority which can steal all your BTC - https://bitcointalk.org/index.php?topic=371635
Post
Topic
Board Development & Technical Discussion
Re: Bitcoin Theory (Byzantine Generals and Beyond)
by
HZKto
on 25/12/2013, 02:39:50 UTC
Here's the crux of the distinction. If Bitcoin were a deterministic Byzantine Generals solution, then it would provide a claim like the following: "If you wait 6 blocks before making an irreversible action (e.g. handing over a bar of gold to a stranger), then you're 100% guaranteed not to get double-spent."

There is some guarantee: https://github.com/bitcoin/bitcoin/blob/285cf7a1a6cb660b57cbc75f63e49736b51d705e/src/main.cpp#L2255-L2260
Code:
int64_t deltaTime = pblock->GetBlockTime() - pcheckpoint->nTime;
if (deltaTime < 0)
{
    return state.DoS(100, error("ProcessBlock() : block with timestamp before last checkpoint"),
                     REJECT_CHECKPOINT, "timestamp before checkpoint");
}

P.S. Thanks for summarizing paper references!
Post
Topic
Board Development & Technical Discussion
Re: What are checkpoints in bitcoin code?
by
HZKto
on 21/12/2013, 06:20:20 UTC
Of course hidden fork crunched at high speed in shadow is unlikely, and maybe checkpoints do not harm due to low probability of such fork.
But they harm in other way - they compromise Bitcoin decentralization, which is in my opinion is the biggest attractive feature of Bitcoin.
Today they add checkpoints (this effectively changes protocol specification), tomorrow they could freeze BTC on your address, by adding small tweaks to validation routine (just like checkpoints validation).

Nonsense, every word.

Unbeatable arguments, thank you.

Quote
root@linuxcoin:/home/user# bitcoind --help
Bitcoin version v0.8.6.0-g03a7d67-beta

  -checkpoints           Only accept block chain matching built-in checkpoints (default: 1)

Do you understand that this option is protocol specification change? It effectively forks blockchain.
Post
Topic
Board Development & Technical Discussion
Re: What are checkpoints in bitcoin code?
by
HZKto
on 21/12/2013, 06:11:47 UTC
In a way, bitcoin (and almost all other crypto coins) are still some what centralized. The devs are the centralization. There's not much we can do about that.

Yes, they are centralization. But as long as they do not adjust blockchain on regular basis (select which chain is good and which is not) - they gain trust of users.

The redeeming thing is that almost all of them are open source with code available to be self-compiled.

Yes, but the problem is that the client with checkpoints and one without - are not 100% compatible with each other. Checkpoints are not just cosmetic change.

While the protocol itself is decentralized, it is a requirement that honest nodes form a consensus. Remember the hard fork early this year.

Bitcoin already has mechanism to achieve consensus - voting by computing resources, it should not be substituted by any centralized authority.
Post
Topic
Board Development & Technical Discussion
Re: What are checkpoints in bitcoin code?
by
HZKto
on 21/12/2013, 02:51:56 UTC
I think the checkpoints are about at least a month or two back in time. Anyone who has more than 51% of 6.5 Petahash of mining power that can fork their own chain past the latest check point, is better off mining regularly and getting 51% of 3600 coins daily or about 1800 coins, at least for the next 2000 blocks when the difficulty will double.

Of course hidden fork crunched at high speed in shadow is unlikely, and maybe checkpoints do not harm due to low probability of such fork.
But they harm in other way - they compromise Bitcoin decentralization, which is in my opinion is the biggest attractive feature of Bitcoin.
Today they add checkpoints (this effectively changes protocol specification), tomorrow they could freeze BTC on your address, by adding small tweaks to validation routine (just like checkpoints validation).
Post
Topic
Board Development & Technical Discussion
Re: What are checkpoints in bitcoin code?
by
HZKto
on 21/12/2013, 02:43:32 UTC
There would be no way to prove that they are part of the chain.

Yes - I considered this. I think it is not a problem, because it is very unlikely that someone can prepare 0.01*MaxBlocks different blocks (unchained, as you noted) which have accumulated difficulty more than 1% or so of total accumulated work spent on main chain for whole time of Bitcoin existence.

In the High hash highway, a second pointer is added.  Headers would have a link to the previous block and also an "up" link.

This allows you follow backwards from the leaf of the chain much faster, but still hit all the high blocks.  However, it is a hard fork.

The 2nd link points to the nearest block with more leading zero bits than the previous block.
I should look closer to your proposal. For now I have one question:
Does "up" link points to future? If so - is it included in block hash or can it be falsified?
Post
Topic
Board Development & Technical Discussion
Re: What are checkpoints in bitcoin code?
by
HZKto
on 20/12/2013, 23:50:31 UTC
I think the headers first change is a key stepping stone for this.

Downloading 300k blocks is around a 20MB download.

With modern bandwidth, nodes could download that from 8 peers reasonably quickly and then discard any chain that doesn't have sufficient POW.

I agree, for now and most likely for future downloading all block headers is not an issue. So don't even need to adjust protocol.
Post
Topic
Board Development & Technical Discussion
Re: What are checkpoints in bitcoin code?
by
HZKto
on 20/12/2013, 21:28:47 UTC
It would be cool if someone could work out a formula.
Max blocks = f(time since genesis, POW)

Yes, this is the key for improvement. It does not have to provide strict upper_bound, but something that >= strict_upper_bound.
Plus, if this approach will be accepted, we should add ability to request block headers sorted by difficulty, starting with the most expensive one and continue in descending order. This would allow to detect flood with even less traffic, like few percents of Max_Blocks.
Post
Topic
Board Development & Technical Discussion
Re: What are checkpoints in bitcoin code?
by
HZKto
on 20/12/2013, 09:08:55 UTC
Cool.  When can we expect your patch?

I think this idea should be discussed first in separate topic. Then, as I understand it should go to Bitcoin Improvement Proposals.
Post
Topic
Board Development & Technical Discussion
Re: What are checkpoints in bitcoin code?
by
HZKto
on 16/12/2013, 21:24:05 UTC
Way back on post #5 gmaxwell explains it pretty well.

Again, it is possible to solve this problem by other approaches.
For example via MAIN_CHAIN_MIN_POW as suggested above - it does not compromises decentralization.

We know when Bitcoin was released, we know current date - we can calculate upper bound for block count in any chain.
When somebody tries to send us old chain - we ask it to sent block headers sorted by difficulty, starting with the most expensive one and continue in descending order. 1% of top block headers should have at least 0.01*MAIN_CHAIN_MIN_POW accumulated difficulty, if it is not - then it is fake, else continue, and so on.
Post
Topic
Board Beginners & Help
Re: Bitcoin value analysis
by
HZKto
on 16/12/2013, 20:51:52 UTC
Marketcap as of 12/16/2013 (rounded): marketcap_BTCUSD = #coins * #BTC/USD = 12*10^6 * 800 = 9.6B$.

This is very roughly 1% of the money supply (M0) of the EU or US, or perhaps 0.05% of global money supply.

I am not sure if it is correct to compare marketcap vs money supply, because you cannot sell all bitcoins at stock price. Once you will start selling - it will go down fast.
Post
Topic
Board Development & Technical Discussion
Re: What are checkpoints in bitcoin code?
by
HZKto
on 16/12/2013, 20:31:13 UTC
It's an optimization that can be disabled with a command line switch.

Even if it was done for the purposes of optimization - it is still protocol specification change. Clients with disabled "optimization" could accept some branches which would be rejected by client on default settings.

There are other possible approaches to do such kind of optimization, for example MAIN_CHAIN_MIN_POW described above, but it does not compromises decentralization trust as checkpoints do.
Post
Topic
Board Development & Technical Discussion
Re: What are checkpoints in bitcoin code?
by
HZKto
on 16/12/2013, 20:18:01 UTC
I don't understand how you think that checkpoints mean that a small group of people is deciding which branch is correct.

Checkpoints were put by small group of people, most of people even do not heard about checkpoints - and continue to think about Bitcoin as pure decentralized currency, while it is not.

The protocol rules chose the correct branch.  The checkpoints only document what that historical choice was.

Protocol rules allows to choose other branch if it has more accumulated difficulty, even if it is rooted in old blocks before checkpoints. Checkpoints override those rules - they essentially change protocol specification. By adding new checkpoint - you are forking protocol specification.
Choice of checkpoints should be done decentralized - by voting, and Bitcoin already has voting mechanism - vote by computing work. But if voting happens by hard checkpoints, selected by dozen of people - then it is centralized, with all bad sides of centralization.
Post
Topic
Board Development & Technical Discussion
Re: What are checkpoints in bitcoin code?
by
HZKto
on 16/12/2013, 19:16:58 UTC
You didn't actually read this thread before posting, did you?

I did read this thread, and several old ones: https://bitcointalk.org/index.php?topic=437 , https://bitcointalk.org/index.php?topic=1647
Do you have any particular objection to discuss?
Post
Topic
Board Development & Technical Discussion
Re: What are checkpoints in bitcoin code?
by
HZKto
on 16/12/2013, 18:58:02 UTC
Bitcoin is decentralized. And no small group of people should decide which branch is correct and which is not.
Checkpoints hardcoded in code were selected by small group of people.
But if Bitcoin is still claimed to be decentralized, not controlled by government, small group of people (who can be blackmailed, or forced by thermo-rectal cryptanalysis) - then only majority of users should have right to make decision.

Users should vote on which branch is correct and which is not. Bitcoin already has such voting mechanism - vote by computing power.


Of course hidden fork crunched at high speed in shadow is unlikely, and maybe checkpoints do not harm due to low probability of such fork.
But they harm in other way - they compromise Bitcoin decentralization, which is in my opinion is the biggest attractive feature of Bitcoin.
Today they add checkpoints, tomorrow they could freeze BTC on your address, by adding small tweaks to validation routine (just like checkpoints validation).

Checkpoints add almost no value - they do not prevent offensive usage of high computing power, but they trading off fair amount of credibility.
Nobody except majority should have control over blockchain, and Bitcoin's definition of majority is computing power.
Otherwise users must know that blockchain is controlled by small group of human being.
Post
Topic
Board Beginners & Help
Re: Remove Checkpoints - they ruins whole peer-to-peer conception
by
HZKto
on 16/12/2013, 16:54:50 UTC
You are misunderstanding what this solves. Believe me, if some easy solution would have existed, it would be there already.

So, what does it solve?

Essentially a fork before such checkpoints would destroy the network. Although the probability is low, this is a very non-trivial effect. Checkpoints eliminate the possibility.

If somebody has huge computing power - it can ruin bitcoin in many ways. Checkpoints eliminate only one of ways, but it still can be destroy in many other ways with such computation power.
Let say, there 32 ways to destroy Bitcoin using high computing power, checkpoints eliminates only 1 of 32. But there still 31 other ways to use this power - so, really checkpoints do not bring anything except compromised credibility of decentralization.
Post
Topic
Board Beginners & Help
Re: Remove Checkpoints - they ruins whole peer-to-peer conception
by
HZKto
on 16/12/2013, 16:39:31 UTC
Well, it is quite likely than these issues have been raised before and thought of by smart people. This is consensus by authority I guess. Improving the system is a very hard problem.

https://bitcointalk.org/index.php?topic=437
https://bitcointalk.org/index.php?topic=1647

Thanks for links - it just shows that many peoples have similar view that creditability is compromised by checkpoints, and checkpoints solves really tiny problem, which is not an issue at all.
On the other side developers still did not removed checkpoints since 2010 (congrats, nice decentralization, and consensus!) because they afraid of something, or have some strange interests to destroy Bitcoin credibility.

Bitcoin advertised decentralization as the main feature. I think people should know that it is not as decentralized as advertised.
Post
Topic
Board Beginners & Help
Re: Remove Checkpoints - they ruins whole peer-to-peer conception
by
HZKto
on 16/12/2013, 15:23:48 UTC
You should discuss this topic in Development & Technical Discussion section only. In Newbie section this duscussion is useless, no dev reading here I bet.

I agree, we should move to https://bitcointalk.org/index.php?topic=194078.40 (now I can post to it).
If anyone feels that this is important issue - please, post a couple of sentences here - https://bitcointalk.org/index.php?topic=194078.40 , in order to show attention/importance.