1684
|
Bitcoin / Development & Technical Discussion / Build virtual machines (Amazon EC2 ami images for 0.3.20)
|
on: February 19, 2011, 12:14:17 AM
|
I've made public the windows, linux32 and linux64 Amazon Machine Images used to build bitcoin 0.3.20. If you have an Amazon EC2 account, you can launch them and have your own working build environment for linux or windows bitcoin (paid for by the hour).
They are: ami-4adf2c23 32-bit Linux (Ubuntu 9.04) ami-12df2c7b 64-bit Linux (Ubuntu 9.04) ami-7a21d213 Windows (with MinGW)
All created in the us-east-1b zone (I don't know if Amazon automatically migrates public AMIs across the world).
After launching the Linux VMs, you login as root (using the ssh keypair you specify when you launch).
After launching the Windows VM, you connect via Remote Desktop and then login as Administrator, password "bitcoin development" (you should change that for your instance as soon as you login, of course).
They contain bitcoin, bitcoind, and everything needed to build them, already built. You could launch instances and try to generate coins, but that's not cost-effective.
(Updated 22 Feb with 0.3.20.01 Windows AMI)
|
|
|
1685
|
Bitcoin / Development & Technical Discussion / Re: Issues building bitcoin on Windows 7
|
on: February 18, 2011, 05:50:35 PM
|
I just committed (to git and svn) an updated build-msw.txt Thanks to m0mchil for putting together a working windows/mingw build environment.
And I'll be making the 0.3.20 build environment virtual machines (for Windows, Linux32, and Linux64, in the Amazon EC2 cloud) public, hopefully, if all goes well, later today.
|
|
|
1687
|
Bitcoin / Development & Technical Discussion / Re: IPv6, headless client, and more
|
on: February 17, 2011, 12:16:42 AM
|
Is there any way of checking how many "immature" (currently maturing) coins there are using bitcoind?
No, but there should be. Proposal: treat immature coins as starting with -100 confirmations, and modify listtransactions to list immature category=generate coins (with negative confirmations). There's probably an off-by-one-error lurking there... (will have to make sure the coinbase transaction is spend-able when it goes from -1 to 0 confirmations).
|
|
|
1688
|
Bitcoin / Bitcoin Discussion / Re: Best practice for fast transaction acceptance - how high is the risk?
|
on: February 16, 2011, 10:08:02 PM
|
I guess the block rate has been discussed before frequently and there are many good arguments for the different sides. What this really makes me wonder: Is there even a chance of this ever changing? How would it change? Someone with access to the official repository committing it and releasing it? and would that result in an immediate fork from people who think it's a stupid idea? I wonder if Bitcoin needs some sort of democratic organ to make a decision like that.
First, "potentially forking" changes like that would be structured as: if (block number < SOME_BLOCK_NUMBER_IN_THE_FUTURE) ...old rules else ...new rules Assuming a super-majority of people agree with the change and upgrade before we get to SOME_BLOCK_NUMBER_IN_THE_FUTURE, the switch will happen smoothly. Is there a chance of changing? Sure, but I think anybody who wants to make such a fundamental change would need to do a LOT of testing-- maybe spin up or recruit a few hundred machines all over the world on a test network, have them mine and simulate transactions to each other (ideally with similar volume to the real network) while going through the transition and making sure there weren't any unintended consequences. And convince a super-majority of people that the benefit of their potentially forking change outweighs the risk of disrupting the network if there's some consequence they didn't think of or that their test network didn't simulate properly. Practically, would dropping the block time from 10 minutes to 1 minute be worth the risk? I doubt it. 1-10 minutes (1 would be the average, get unlucky and it could take 10) is still too long to wait for small-value in-person transactions. RE: democratic organ: bitcoin is a kind of a democracy. Whatever code the majority of miners/nodes is running makes the rules.
|
|
|
1689
|
Bitcoin / Development & Technical Discussion / Re: Windows/wxWidgets developers
|
on: February 16, 2011, 08:41:21 PM
|
Update on the problem and release:
m0mchil reports no rendering issues running a 0.3.20 bitcoin compiled using the mingw toolchain, and has volunteered to document/setup the build environment (in an Amazon EC2 virtual machine that I'll make public so it'll be easier for anybody to get a working bitcoin windows build environment up and running).
And responding to alkor: Windows/Mac open source coders seem to be a lot rarer than Linux... which is not surprising, I suppose.
PS to genjix: Looking good! I'll try to find some time to give it a try (I don't know Qt programming so I probably won't be able to help code, though).
|
|
|
1692
|
Bitcoin / Bitcoin Discussion / Re: Ignite! Amherst talk about Bitcoin
|
on: February 16, 2011, 02:13:39 PM
|
Thanks for all the positive feedback!
And ribuck's right-- when I first started putting together the talk there were about 5 million bitcoins worth about 2.5 million dollars.
By the time I gave it, they were worth about 4 million dollars. And two days after I gave it bitcoins hit $US 1.00 ...
|
|
|
1694
|
Bitcoin / Bitcoin Discussion / Re: Best practice for fast transaction acceptance - how high is the risk?
|
on: February 15, 2011, 09:56:17 PM
|
One more thought: the "finney attack" can only be profitable if the reward from cheating is greater than (reward of mining times the probability your block will be rejected because you delay announcing it while you "run down to the store").
Reward for block is currently $50, that will (hopefully!) continue to rise for the next decade or two.
Say it takes you 5 minutes to complete a transaction at the corner store (half the average block gen time)... today you'd have to make a $25-or-greater purchase just to break even.
Seems likely this attack will be completely impractical for transactions under $200 when the block reward is worth more than $400. 0-confirmations (just wait N seconds to look for a quick double-spend) for any transaction under $200 seems "good enough" to me.
|
|
|
1695
|
Bitcoin / Bitcoin Discussion / Re: Best practice for fast transaction acceptance - how high is the risk?
|
on: February 15, 2011, 09:47:56 PM
|
Also, my proposal was to only reject blocks containing 'suspicious' transactions that you hadn't seen transmitted that have a double-spend attempt before the next block. OK, you're right, the requirement that you didn't see the double spend transaction in the block yet does seem to solve this. The only thing that bugs me is what if there's a race condition such that I can overlap this with the discovery of a new block. Thinking out loud here. Let's say I directly connect to as many mining nodes as possible. I can create two transactions, A->X and A->Y and pick one transaction for half the nodes, another for the other half.... I'm lost. Who are X and Y? You're going to spam the network with payments to X == yourself and Y == the corner grocery store in the hopes of... what? Remember the original attack: Suppose the attacker is generating blocks occasionally. in each block he generates, he includes a transfer from address A to address B, both of which he controls.
To cheat you, when he generates a block, he doesn't broadcast it. Instead, he runs down to your store and makes a payment to your address C with his address A. You wait a few seconds, don't hear anything, and transfer the goods. He broadcasts his block now, and his transaction will take precedence over yours. Again, it seems to me some rules that make attempted double-spends more costly to those who attempt to pull off double-spends might be a good idea. theymos' objection (that there's no real incentive for miners to try to detect/punish double spends) is worth thinking about. Is there enough "interest in the common good" for miners to spend some CPU cycles so that the bitcoin system as a whole is more robust, or would self-interest lead to a tragedy of the commons where miners do the absolute minimum to just get their blocks accepted? bfever: my gut reaction is that the "fast payment problem" won't be solved by more complicated transactions. And my gut reaction to more complicated transactions is that that the more complicated something is the more likely it is to have security holes....
|
|
|
1696
|
Bitcoin / Development & Technical Discussion / Windows/wxWidgets developers
|
on: February 15, 2011, 07:50:32 PM
|
There is a bug in the 0.3.20 candidate release that causes rendering issues on Windows.
I have no idea how to fix it; I don't even have a real Windows machine on which to test it (I built 0.3.20 on an Amazon EC2 windows virtual machine).
Anybody willing to step up and fix it?
If nobody steps up and commits to continuing to develop the wxWidgets GUI, we may have to stop supporting/developing it and start releasing only bitcoind.
|
|
|
1698
|
Bitcoin / Development & Technical Discussion / Re: minconf=nnn don't works in CLI?
|
on: February 15, 2011, 07:07:14 PM
|
The help text is misleading; never pass the "foo=" part.
Somebody could teach bitcoin to accept either getreceivedbyaccount foo 10 or getreceivedbyaccount address=foo minconf=10 ... but maybe we should just change how the help text shows default arguments or improve the documentation.
|
|
|
1699
|
Bitcoin / Bitcoin Discussion / Re: Best practice for fast transaction acceptance - how high is the risk?
|
on: February 15, 2011, 03:39:23 PM
|
Rejecting blocks based on observed double spends also seems problematic. It would let me freeze the block chain by generating lots of double spends and sending them directly to major miner nodes in random order. Every miner would then generate a block that contained some transactions other nodes would perceive as double spends and so every node would reject the block, allowing me to catch up with the head of the chain.
I think it is a reasonable assumption that major miners will be well-connected with each other. There is certainly a strong incentive for miners to be well-connected in general (better connected == more likely to win 'block races'). So I don't see how you could freeze the block chain-- if you generate lots of double-spends, the miners will quickly see both of spends and will drop those transactions like hot potatoes. The "finney attack" only works if the first double-spend is generated by a miner that finds a block and includes it in the block without transmitting it. Also, my proposal was to only reject blocks containing 'suspicious' transactions that you hadn't seen transmitted that have a double-spend attempt before the next block.
|
|
|
1700
|
Other / Off-topic / Re: An Anti-Libertarian FAQ Worth Talking About?
|
on: February 15, 2011, 01:46:56 AM
|
I guess when all you have is laissez-faire capitialism everything starts to look like a market nail.
I'd just like a rational system where policy changes are proposed along with specific, testable predictions for those policy changes. Then the policy change is adopted. Evaluated after a little while. And accepted or rejected based on whether or not the policy change had the intended effect. Then maybe we could take turns adopting our favorite policies, and see if that nice liberal "inequality reducing" policy actually, you know, reduces inequality (and we could argue about whether it is OK to do if it reduces inequality by making rich people a lot less rich and poor people a little more poor). Or if that nice libertarian "cost saving" policy actually, you know, saves money (and we could argue about whether the cost savings is worth it if it increases our chances of getting a scalp infection from an unlicensed barber).
|
|
|
|