#

msg1585

(2 articles)

Kicking the Hornet's Nest - part 13

# Kicking the Hornet's Nest - third edition - part 13 All links, digital (pdf, txt, docx, md) and book in print, can be found at https://hive.blog/@crrdlx/satoshi Edited by [crrdlx](nostr:nprofile1qyv8wumn8ghj7mn0wdj8y6tkv5hxzurs9aex2mrp0yq3wamnwvaz7tmjv4kxz7fwwpexjmtpdshxuet59uqzqqzmcn0yrn7ttq8hrjkk46ysn2tk26rr8f8k4y7xkl74hlh3rcdzm9d3t8), npub: ``` npub1qpdufhjpel94srm3ett2azgf49m9dp3n5nm2j0rt0l2mlmc3ux3qza082j ``` ---- ### Kicking the Hornet's Nest pages 275 - 300 ---- **BitcoinTalk** Re: Transactions and Scripts: DUP HASH160 ... EQUALVERIFY CHECKSIG _2010-06-18 16:17:14 UTC_ - [-](https://bitcointalk.org/index.php?topic=195.msg1617#msg1617) A second version would be a massive development and maintenance hassle for me. It's hard enough maintaining backward compatibility while upgrading the network without a second version locking things in. If the second version screwed up, the user experience would reflect badly on both, although it would at least reinforce to users the importance of staying with the official version. If someone was getting ready to fork a second version, I would have to air a lot of disclaimers about the risks of using a minority version. This is a design where the majority version wins if there's any disagreement, and that can be pretty ugly for the minority version and I'd rather not go into it, and I don't have to as long as there's only one version. I know, most developers don't like their software forked, but I have real technical reasons in this case. [**Quote from: gavinandresen on June 17, 2010, 07:58:14 PM**](https://bitcointalk.org/index.php?topic=195.msg1613#msg1613) _I admire the flexibility of the scripts-in-a-transaction scheme, but my evil little mind immediately starts to think of ways I might abuse it. I could encode all sorts of interesting information in the TxOut script, and if non-hacked clients validated-and-then-ignored those transactions it would be a useful covert broadcast communication channel. That's a cool feature until it gets popular and somebody decides it would be fun to flood the payment network with millions of transactions to transfer the latest Lady Gaga video to all their friends..._ That's one of the reasons for transaction fees. There are other things we can do if necessary. [**Quote from: laszlo on June 17, 2010, 06:50:31 PM**](https://bitcointalk.org/index.php?topic=195.msg1612#msg1612) _How long have you been working on this design Satoshi? It seems very well thought out, not the kind of thing you just sit down and code up without doing a lot of brainstorming and discussion on it first. Everyone has the obvious questions looking for holes in it but it is holding up well_ ![](file:///tmp/lu30467eu8.tmp/lu30468izs_tmp_b56eb9f04b2623cd.gif) Since 2007. At some point I became convinced there was a way to do this without any trust required at all and couldn't resist to keep thinking about it. Much more of the work was designing than coding. Fortunately, so far all the issues raised have been things I previously considered and planned for. ##### BitcoinTalk #### Re: On IRC bootstrapping ##### _2010-06-18 17:28:18 UTC_ - [-](https://bitcointalk.org/index.php?topic=84.msg1619#msg1619) The SVN version now uses IRC first and if that fails it falls back to a hardcoded list of seed nodes. There are enough seed nodes now that many of them should still be up by the time of the next release. It only briefly connects to a seed node to get the address list and then disconnects, so your connections drop back to zero for while. At that point, be patient. It's only slow to get connected the first time. This means TOR users won't need to -addnode anymore, it'll get connected automatically. ##### BitcoinTalk #### Re: Get 5 free bitcoins from freebitcoins.appspot.com ##### _2010-06-18 23:08:34 UTC_ - [-](https://bitcointalk.org/index.php?topic=183.msg1620#msg1620) Excellent choice of a first project, nice work. I had planned to do this exact thing if someone else didn't do it, so when it gets too hard for mortals to generate 50BTC, new users could get some coins to play with right away. Donations should be able to keep it filled. The display showing the balance in the dispenser encourages people to top it up. You should put a donation bitcoin address on the page for those who want to add funds to it, which ideally should update to a new address whenever it receives something. ##### BitcoinTalk #### Re: Bitcoin in Ubuntu 10.04 ##### _2010-06-21 17:20:21 UTC_ - [-](https://bitcointalk.org/index.php?topic=149.msg1646#msg1646) [_**Quote from: NewLibertyStandard on May 23, 2010, 04:28:12 PM**_](https://bitcointalk.org/index.php?topic=149.msg1203#msg1203) _Bitcoin looks ugly in Ubuntu's new default theme. It seems that some, but not all of the theme settings are being picked up. The unselected file menu should have light text with a dark background, but it incorrectly has light text with a light background. They're similar enough that it's unreadable on my display. It should be fixed before the next stable release._ This is now fixed in the SVN version. 1) Menu bar default color. 2) Balance bar not a different color. 3) Background behind bitcoin address and balance now the same color as toolbar. I checked all the standard themes and it seems reasonable with all of them. Ubuntu minimize,maximize,close buttons to the right: gconf-editor apps->metacity->general button_layout=menu:minimize,maximize,close They've got it awfully buried considering 9 out of 10 users are used to having it on the right. ##### BitcoinTalk #### Re: Dying bitcoins ##### _2010-06-21 17:48:26 UTC_ - [-](https://bitcointalk.org/index.php?topic=198.msg1647#msg1647) Lost coins only make everyone else's coins worth slightly more. Think of it as a donation to everyone. [_**Quote from: laszlo on June 21, 2010, 01:54:29 PM**_](https://bitcointalk.org/index.php?topic=198.msg1640#msg1640) _I wonder though, is there a point where the difficulty of generating a new coinbase is so high that it would make more sense to try to recover keys for lost coins or steal other people's coins instead? The difficulty of that is really high so for now it makes a lot more sense to generate but I just wonder what the real figures are.. would that ever become more productive? Maybe Satoshi can address this.._ Computers have to get about 2^200 times faster before that starts to be a problem. Someone with lots of compute power could make more money by generating than by trying to steal. ##### BitcoinTalk #### Re: Proof-of-work difficulty increasing ##### _2010-06-21 18:09:17 UTC_ - [-](https://bitcointalk.org/index.php?topic=43.msg1648#msg1648) I integrated the hashmeter idea into the SVN version. It displays khash/s in the left section of the status bar. Two new log messages: 21/06/2010 01:23 hashmeter 2 CPUs 799 khash/s 21/06/2010 01:23 generated 50.00 grep your debug.log for "generated" to see what you've generated, and grep for "hashmeter" to see the performance. On windows, use: findstr "hashmeter generated" "%appdata%itcoin\debug.log" I have the hashmeter messages once an hour. How often do you think it should be? ##### BitcoinTalk #### Re: Bitcoin in Ubuntu 10.04 ##### _2010-06-22 03:45:56 UTC_ - [-](https://bitcointalk.org/index.php?topic=149.msg1653#msg1653) On Ubuntu 10.04 it wouldn't remove the taskbar button cleanly, so I made it leave it there. But now that you mention it, it's probably better to have the feature, even if it's messy, than not to have it, though it may confuse a few people when the taskbar button temporarily stays around but disappears if you click on it. Updated SVN. Thanks for testing. ##### BitcoinTalk #### 0.3 almost ready -- please test the Mac version! ##### _2010-06-22 04:01:53 UTC_ - [-](https://bitcointalk.org/index.php?topic=199.msg1654#msg1654) I finished everything on my list to do for version 0.3. The code on SVN is about ready to release. Testing at this point is much appreciated. ##### BitcoinTalk #### Re: How fast do the fastest computers generate bitcoins? ##### _2010-06-22 04:35:26 UTC_ - [-](https://bitcointalk.org/index.php?topic=197.msg1656#msg1656) I've noticed that hashing performance doesn't vary as much between CPUs as you'd expect. Compared to an old CPU, a newer CPU doesn't show as much of a speedup at hashing as it does on general benchmarks. I guess recent CPU optimizations must have concentrated on things like I/O and branch prediction. Most programs are a bunch of memory access, comparisons and branching, they rarely get down to cranking away at maths for very long. The latest SVN version has a khash/s display. Around 400 khash/s per processor is typical. ##### BitcoinTalk #### Re: Bitcoin in Ubuntu 10.04 ##### _2010-06-22 16:39:43 UTC_ - [-](https://bitcointalk.org/index.php?topic=149.msg1668#msg1668) It's too late now for feature changes to 0.3, but I'll add that to the post-0.3 to do list. I never would have noticed that if you hadn't pointed it out. ##### BitcoinTalk #### Re: Proof-of-work difficulty increasing ##### _2010-06-22 16:51:14 UTC_ - [-](https://bitcointalk.org/index.php?topic=43.msg1669#msg1669) Agree. Certainly too trivial to clutter the user's attention with. I changed it to every 30 minutes. If I increased it to every 10 minutes, it would still be a small enough presence in the log file. Question is whether that would be more output than the user wants when they grep. ##### BitcoinTalk #### Re: 0.3 almost ready ##### _2010-06-22 17:02:07 UTC_ - [-](https://bitcointalk.org/index.php?topic=199.msg1670#msg1670) [_**Quote from: lachesis on June 22, 2010, 06:20:02 AM**_](https://bitcointalk.org/index.php?topic=199.msg1658#msg1658) _It would be nice if the listtransactions RPC method were finished before the next release, though._ My fear is too many programmers would latch onto that for checking for received payments. It can never be reliable that way. The list/getreceivedbyaddress/label functions are the only way to do it reliably. We shouldn't delay forever until every possible feature is done. There's always going to be one more thing to do. ##### BitcoinTalk #### Re: 0.3 almost ready ##### _2010-06-22 17:37:08 UTC_ - [-](https://bitcointalk.org/index.php?topic=199.msg1671#msg1671) Here's RC1 for windows for testing: (removed, see RC2 below) Please only download this if you're going to test and report back whether everything seems fine or not. Make sure to look through the files in "c:\program filesitcoin" **Martii Malmi (AKA Sirius) “COPA trial” email #193** **Date: Tue, 22 Jun 2010 18:36:22 +0100** **From: Satoshi Nakamoto <satoshin@gmx.com>** **Subject: 0.3.0 rc1 quickie download link** **To: Martti Malmi <mmalmi@cc.hut.fi>** If bandwidth is a problem, delete my link in the "0.3 almost ready" thread. I just don't want to upload it to sourceforge for a quickie share for a day or two, possibly taking it down immediately if there's a bug. Sourceforge has a policy of not allowing removal of files once they're added, and it's a pain to upload to. I'll delete the file once the release is ready. BTW, it's looking like I may be able to get us some money soon to cover web host costs, back your exchange service, etc, in the form of cash in the mail. Can you receive it and act as the project's treasurer? ##### BitcoinTalk #### Re: 0.3 almost ready ##### _2010-06-22 19:11:41 UTC_ - [-](https://bitcointalk.org/index.php?topic=199.msg1675#msg1675) [_**Quote from: davidonpda on June 22, 2010, 06:23:26 PM**_](https://bitcointalk.org/index.php?topic=199.msg1673#msg1673) _EXCEPTION: 22DbRunRecoveryException DBENv::open: DB_RUNRECOVERY: Fatal error, run database recovery C:\Program Files\Bitcoinitcoin.exe in OnInit()_ What operating system? Normally when it does that it's because the directory where the data directory should go doesn't exist. See if the "%appdata%" directory exists. Do you get that error with 0.2 also? It's hard to see how you could get that with 0.3 and not with 0.2 since there's nothing different in that regard. ##### BitcoinTalk #### Re: 0.3 almost ready ##### _2010-06-22 19:25:13 UTC_ - [-](https://bitcointalk.org/index.php?topic=199.msg1677#msg1677) davidonpda, were you also running laszlo's build previously? Check if the "%appdata%" directory exists, and "%appdata%itcoin" Try: rename "%appdata%itcoin" bitcoin2 does it work then? ##### BitcoinTalk #### Re: 0.3 almost ready ##### _2010-06-22 19:46:23 UTC_ - [-](https://bitcointalk.org/index.php?topic=199.msg1679#msg1679) You figured it out faster than I could post a reply. ![](file:///tmp/lu30467eu8.tmp/lu30468izs_tmp_b56eb9f04b2623cd.gif) It looks like laszlo's build of Berkeley DB has database/log.* files that are not compatible with ours. The .dat files are fine, their format shouldn't ever change. All data is stored in the .dat files. All your own data is stored in wallet.dat. If you had waited for it to redownload the block chain, your missing transactions and generateds would have appeared as the block chain reached the point where those transactions were recorded. When you copied the directory except log.0000000002, that's the best solution. You should be good now. The database/log.* files only contain temporary database data. If you exited bitcoin normally the last time, not exited by forced terminating it or crashing, then the database/log.* files can normally be deleted safely. They're only used so that if the database is in the middle of a transaction when the computer crashes or the program is killed or crashes, then it could recover without losing data. Please keep running v0.3 if at all possible, don't go back to v0.2.10. Anyone else who hits this problem, move the database\log.000000000* files somewhere else. (if it works fine after that, you can delete them later) I'm reluctant to make the installer delete or move those files. If the previous run was stopped by crashing or killed, that would be the wrong thing to do. ##### BitcoinTalk #### Re: 0.3 almost ready ##### _2010-06-22 22:23:39 UTC_ - [-](https://bitcointalk.org/index.php?topic=199.msg1686#msg1686) Laszlo figured out that enabling some more optimisation increased performance about 20%, so 0.3 hashes 20% faster than 0.2.0, but I assume he used that in his own build. 30khash increase to what total rate? (to figure the % increase) **Martii Malmi (AKA Sirius) “COPA trial” email #195** **Date: Wed, 23 Jun 2010 21:33:57 +0100** **From: Satoshi Nakamoto <satoshin@gmx.com>** **Subject: Re: donation** **To: mmalmi@cc.hut.fi** _>> BTW, it's looking like I may be able to get us some money soon to cover_ _>> web host costs, back your exchange service, etc, in the form of cash in_ _>> the mail. Can you receive it and act as the project's treasurer?_ _>_ _> That would be nice, I can do it. Sending cash in the mail may have its_ _> risks, but maybe it's still the best anonymous option. We can also ask_ _> for donations in BTC on the forum._ I got a donation offer for $2000 USD. I need to get your postal mailing address to have him send to. And yes, he wants to remain anonymous, so please keep the envelope's origin private. ##### BitcoinTalk #### Re: 0.3 almost ready ##### _2010-06-24 17:40:05 UTC_ - [-](https://bitcointalk.org/index.php?topic=199.msg1748#msg1748) Here's RC1 for linux for testing: (link removed, see below) It contains both 32-bit and 64-bit binaries. Recent changes: build-unix.txt: - Added instructions for building wxBase, which is needed to compile bitcoind. - The package libboost-dev doesn't install anything anymore, you need to get libboost-all-dev. - Updated version numbers. makefile.unix: - The libboost libraries have removed the "-mt" from their filenames in 1.40. If you're compiling with Boost 1.38 or lower, like on Ubuntu Karmic, you would need to change it back to boost_system-mt and boost_filesystem-mt. ##### BitcoinTalk #### Re: 0.3 almost ready ##### _2010-06-25 02:17:41 UTC_ - [-](https://bitcointalk.org/index.php?topic=199.msg1760#msg1760) I don't know. Maybe someone with more Linux experience knows how to install the library it needs. I built it on Ubuntu 10.04. I hope that wasn't a mistake. Maybe it should have been built on an older version for more backward compatibility. Is this a problem on Linux, that if you build on the latest version, then it has trouble working on older versions? Is there any way I can downgrade to an older version of GCC on 10.04? The 64-bit version shouldn't be any faster than the 32-bit version, but it would be great if someone could do a side-by-side comparison of the two linux versions and check. SHA-256 is a 32-bit algorithm and nothing in BitcoinMiner uses 64-bit at all. We don't need to bother with a 64-bit version for Windows. 32-bit programs work on all versions of Windows. It's not like Linux where the 64-bit OS wants 64-bit programs. I'm also curious if it's a little faster on linux than windows. Do you think I should make the directories: /bin32/ /bin64/ instead of /bin/32/ /bin/64/ ##### BitcoinTalk #### Re: 0.3 almost ready ##### _2010-06-25 14:10:06 UTC_ - [-](https://bitcointalk.org/index.php?topic=199.msg1769#msg1769) Thanks virtualcoin, that's a perfect comparison. The 8% speedup from 32-bit Windows (2310k) to 32-bit Linux (2500k) is probably from the newer version of GCC on Linux (4.4.3 vs 3.4.5). The 15% speedup from 32-bit to 64-bit Linux is more of a mystery. The code is completely 32-bit. Hmm, I think the 8 extra registers added by x86-64 must be what's helping. That would make a significant difference to SHA if it could hold most of the 16 state variables in registers. ##### BitcoinTalk #### Re: Bitcoin clients getting k-lined from the IRC bootstrapping channel ##### _2010-06-25 21:15:15 UTC_ - [-](https://bitcointalk.org/index.php?topic=215.msg1779#msg1779) We need more details about what happened MadHatter. Both 0.2 and 0.3 have a backup way of getting connected without IRC, it's just slower to get connected. 0.2 can find other nodes without IRC if it's ever been connected before, but a new install can't discover the network for the first time without IRC. 0.3 can also seed without IRC. It can operate entirely without IRC if it needs to, but it's better having IRC for redundancy. ##### BitcoinTalk #### Re: On IRC bootstrapping ##### _2010-06-25 22:40:47 UTC_ - [-](https://bitcointalk.org/index.php?topic=84.msg1781#msg1781) [_**Quote from: laszlo on June 14, 2010, 06:30:58 PM**_](https://bitcointalk.org/index.php?topic=84.msg1580#msg1580) _I run an IRC server you can use, it's fairly stable but it's not on redundant connections or anything. It is only two servers right now but we don't mess with it or anything, it just runs. My box is a dedicated irc server: 2:28PM up 838 days, 20:54, 1 user, load averages: 0.06, 0.08, 0.08 You can use irc.lfnet.org to connect._ This seems like a good idea. What does everyone think, should we make the switch for 0.3? ##### BitcoinTalk #### Re: 0.3 almost ready ##### _2010-06-26 00:32:09 UTC_ - [-](https://bitcointalk.org/index.php?topic=199.msg1787#msg1787) Lets try using Laszlo's irc.lfnet.org instead of freenode. Here's RC2, that's the only change in it: (see below for download links) ##### BitcoinTalk #### Re: Bitcoin clients getting k-lined from the IRC bootstrapping channel ##### _2010-06-26 14:28:06 UTC_ - [-](https://bitcointalk.org/index.php?topic=215.msg1797#msg1797) Freenode is too visible, right in the middle of where all those users and moderators are hanging out. Laszlo's option is a much better fit for us. I made 0.3.0.RC2 available that uses irc.lfnet.org instead of freenode if you want to start switching over: [http://BitcoinTalk.org/index.php?topic=199.msg1787#msg1787](http://bitcointalk.org/index.php?topic=199.msg1787#msg1787) ##### BitcoinTalk #### Re: 0.3 almost ready ##### _2010-06-26 15:10:10 UTC_ - [-](https://bitcointalk.org/index.php?topic=199.msg1800#msg1800) The first panel of the status bar is shared with the help description of menu items as you hover over them. Since all our menu item descriptions are blank, it replaces it with blank when you're hovering in a menu. ##### BitcoinTalk #### Beta? ##### _2010-06-26 17:02:43 UTC_ - [-](https://bitcointalk.org/index.php?topic=217.msg1803#msg1803) Is it about time we lose the Beta? I would make this release version 1.3. ##### BitcoinTalk #### Re: 1.3 almost ready ##### _2010-06-26 19:21:05 UTC_ - [-](https://bitcointalk.org/index.php?topic=199.msg1806#msg1806) Changed the version number to 1.3 and removed "Beta". (links removed, see below) Uses irc.lfnet.org. ##### BitcoinTalk #### Re: Bitcoin mobile. ##### _2010-06-26 20:58:26 UTC_ - [-](https://bitcointalk.org/index.php?topic=177.msg1814#msg1814) [_**Quote from: sirius-m on June 10, 2010, 01:51:16 PM**_](https://bitcointalk.org/index.php?topic=177.msg1452#msg1452) _You can of course use services like vekja.net or mybitcoin.com on a mobile browser, depositing money there to the extent you trust them._ I think that's the best option right now. Like cash, you don't keep your entire net worth in your pocket, just walking around money for incidental expenses. They could make a smaller version of the site optimized for mobile. If there was an app, it could be a front end to one of those, with the main feature being QR-code reader, or maybe there's already a universal QR-code reading app that web sites can be designed to accept scans from. If there was an iPhone app that was just a front end for vekja or mybitcoin, not a big involved P2P, would apple approve it and if not, on what basis? It could always be an Android app instead. An app is not really necessary though, just a mobile sized website. A web interface to your own Bitcoin server at home wouldn't be a solution for everyone. Most users don't have a static IP, and it's too much trouble to set up port forwarding. ##### BitcoinTalk #### Re: Building BitCoin Client completely Headless ##### _2010-06-26 21:06:06 UTC_ - [-](https://bitcointalk.org/index.php?topic=171.msg1815#msg1815) The linux release candidate in the "1.3 almost ready" thread contains prebuilt bitcoind. ##### BitcoinTalk #### Re: Bitcoin Faucet changes ##### _2010-06-26 21:39:52 UTC_ - [-](https://bitcointalk.org/index.php?topic=206.msg1816#msg1816) Many big ISPs give you a new IP every time you connect, usually in the same class B (a.b.?.?). Maybe you should have a minimum time between payments per class-B. If you can't solve the problem, you can always keep lowering the amount of bitcoins given until it's manageable, and always require captcha. ##### BitcoinTalk #### Re: Beta? ##### _2010-06-27 12:43:50 UTC_ - [-](https://bitcointalk.org/index.php?topic=217.msg1827#msg1827) But 1.0 sounds like the first release. For some things newness is a virtue but for this type of software, maturity and stability are important. I don't want to put my money in something that's 1.0. 1.0 might be more interesting for a moment, but after that we're still 1.0 and everyone who comes along thinks we just started. This is the third major release and 1.3 reflects that development history. (0.1, 0.2, 1.3) ##### BitcoinTalk #### Re: IPv6, headless client, and more ##### _2010-06-27 13:02:38 UTC_ - [-](https://bitcointalk.org/index.php?topic=218.msg1828#msg1828) Welcome, Harry. I hadn't thought about starting out using bitcoind without using bitcoin first. I guess for now, this thread serves as the tutorial. The focus for bitcoind so far has been more on backend support for websites. There's demand for things that would be nice for adminning headless generators like listgenerated. For the moment, you can grep the debug.log file for "generated" and "hashmeter" for some feedback. Generated blocks take about 24 hours before they're credited to your balance. ##### BitcoinTalk #### Re: 1.3 almost ready ##### _2010-06-27 15:30:13 UTC_ - [-](https://bitcointalk.org/index.php?topic=199.msg1834#msg1834) MinGW still only has good old stable 3.4.5. There's not much reason for them to update it. When I looked at the 3.4.5 compiled SHA disassembly, I couldn't see any room for improvement at all. I can't imagine how 8% more could be squeezed out of it. Is it possible Windows could have 8% more overhead? Not making system calls or anything, just plain busy computational code, could task switching and other housekeeping operations take away that much? ##### BitcoinTalk #### Re: Major Meltdown ##### _2010-06-27 19:06:09 UTC_ - [-](https://bitcointalk.org/index.php?topic=202.msg1838#msg1838) Here's an answer to a similar question about how to recover from a major meltdown. [https://www.bitcoin.org/smf/index.php?topic=191.msg1585#msg1585](https://www.bitcoin.org/smf/index.php?topic=191.msg1585#msg1585) [_**Quote from: satoshi on June 14, 2010, 08:39:50 PM**_](https://bitcointalk.org/index.php?topic=191.msg1585#msg1585) _If SHA-256 became completely broken, I think we could come to some agreement about what the honest block chain was before the trouble started, lock that in and continue from there with a new hash function. If the hash breakdown came gradually, we could transition to a new hash in an orderly way. The software would be programmed to start using a new hash after a certain block number. Everyone would have to upgrade by that time. The software could save the new hash of all the old blocks to make sure a different block with the same old hash can't be used._ ##### BitcoinTalk #### Re: Feature Request: Limiting Connections ##### _2010-07-02 19:21:36 UTC_ - [-](https://bitcointalk.org/index.php?topic=223.msg1924#msg1924) Thanks for the feedback on this. One thing we could do is lower the outbound connections from 15 to 10 or maybe even 5. The choice of 15 was arbitrary. It just needs to be enough for redundancy and fast exponential propagation of messages. 10 would still be plenty. 5 should be fine. 10 is good as a nice round number so users can see that it stopped intentionally. It would help to implement UPnP so there would be more inbound accepting nodes. Your number of connections is the ratio of inbound accepting nodes to out-only times 15. We need to encourage more people to accept inbound connections. I will implement a feature to stop accepting inbound connections once you hit a certain number. Which version are you running? Anyone know how many connections typical P2P software like BitTorrent can get up to? ##### BitcoinTalk #### Re: 1.3 almost ready ##### _2010-07-02 20:37:17 UTC_ - [-](https://bitcointalk.org/index.php?topic=199.msg1926#msg1926) [_**Quote from: dkaparis on June 27, 2010, 10:02:25 PM**_](https://bitcointalk.org/index.php?topic=199.msg1842#msg1842) _On a related note, is the thing compilable by Visual C++? I'm inclined to give it a try when I get around to it._ It is, but generating is more than twice as slow. ##### BitcoinTalk #### Re: 0.3 almost ready ##### _2010-07-02 21:57:45 UTC_ - [-](https://bitcointalk.org/index.php?topic=199.msg1927#msg1927) (reverted to rc2) Links removed, 0.3 is now released, so go to [http://www.bitcoin.org](http://www.bitcoin.org/) to download it. ##### BitcoinTalk #### Re: Beta? ##### _2010-07-02 22:03:41 UTC_ - [-](https://bitcointalk.org/index.php?topic=217.msg1928#msg1928) OK, back to 0.3 then. Please download RC4 and check it over as soon as possible. I'd like to release it soon. [http://BitcoinTalk.org/index.php?topic=199.msg1927#msg1927](http://bitcointalk.org/index.php?topic=199.msg1927#msg1927) Other than the version number change, which included changes in readme.txt and setup.nsi, I reduced the maximum number of outbound connections from 15 to 8 so nodes that accept inbound don't get too many connections. 15 was a lot more than needed. 8 is still plenty for redundancy. ##### BitcoinTalk #### Re: Feature Request: Limiting Connections ##### _2010-07-02 22:20:20 UTC_ - [-](https://bitcointalk.org/index.php?topic=223.msg1929#msg1929) I reduced max outbound connections from 15 to 8 in RC4. 15 was way more than we needed for redundancy. 8 is still plenty of redundancy. As the nodes upgrade to this version, this will cut in half the number of connections that inbound accepting nodes get. If anyone wants more than 8 connections, they can open port 8333 on their firewall. ##### BitcoinTalk #### Re: 0.3 almost ready -- please test the Mac version! ##### _2010-07-04 21:52:28 UTC_ - [-](https://bitcointalk.org/index.php?topic=199.msg1947#msg1947) Laszlo's build is going to be our first Mac release so please test it! ##### BitcoinTalk #### Re: Slashdot Submission for 1.0 ##### _2010-07-05 21:31:14 UTC_ - [-](https://bitcointalk.org/index.php?topic=234.msg1976#msg1976) BTW, I did come to my senses after that brief bout with 1.3, this release is still going to be 0.3 beta not 1.0. I really appreciate the effort, but there are a lot of problems. We don't want to lead with "anonymous". (I've been meaning to edit the homepage) "The developers expect that this will result in a stable-with-respect-to-energy currency outside the reach of any government." -- I am definitely not making an such taunt or assertion. It's not stable-with-respect-to-energy. There was a discussion on this. It's not tied to the cost of energy. NLS's estimate based on energy was a good estimated starting point, but market forces will increasingly dominate. Sorry to be a wet blanket. Writing a description for this thing for general audiences is bloody hard. There's nothing to relate it to. **Martii Malmi (AKA Sirius) “COPA trial” email #197** **Date: Tue, 06 Jul 2010 03:59:57 +0100** **From: Satoshi Nakamoto <satoshin@gmx.com>** **Subject: Anonymous, homepage changes** **To: Martti Malmi <mmalmi@cc.hut.fi>** I think we should de-emphasize the anonymous angle. With the popularity of bitcoin addresses instead of sending by IP, we can't give the impression it's automatically anonymous. It's possible to be pseudonymous, but you have to be careful. If someone digs through the transaction history and starts exposing information people thought was anonymous, the backlash will be much worse if we haven't prepared expectations by warning in advance that you have to take precautions if you really want to make that work. Like Tor says, "Tor does not magically encrypt all of your Internet activities. Understand what Tor does and does not do for you." Also, anonymous sounds a bit shady. I think the people who want anonymous will still figure it out without us trumpeting it. I made some changes to the bitcoin.org homepage. It's not really crucial to update the translations. I tend to keep editing and correcting for some time afterwards, so if they want to update, they should wait. I removed the word "anonymous", and the sentence about "anonymity means", although you worded it so carefully "...CAN be kept hidden..." it was a shame to remove it. Instead, I added Tor instructions at the bottom, with instructions for how to stay anonymous (pseudonymous) directly after the Tor instructions: "If you want to remain anonymous (pseudonymous, really), be careful not to reveal any information linking your bitcoin addresses to your identity, and use a new bitcoin address for each payment you receive." It helps that it can now seed automatically through Tor. Even though it doesn't say anonymous until the bottom, I think anonymous seekers would already suspect it based on all the other attributes like no central authority to take your ID info and the way bitcoin addresses look. ##### BitcoinTalk #### Bitcoin 0.3 released! ##### _2010-07-06 18:32:35 UTC_ - [-](https://bitcointalk.org/index.php?topic=238.msg2004#msg2004) Announcing version 0.3 of Bitcoin, the P2P cryptocurrency! Bitcoin is a digital currency using cryptography and a distributed network to replace the need for a trusted central server. Escape the arbitrary inflation risk of centrally managed currencies! Bitcoin's total circulation is limited to 21 million coins. The coins are gradually released to the network's nodes based on the CPU power they contribute, so you can get a share of them by contributing your idle CPU time. What's new: - Command line and JSON-RPC control - Includes a daemon version without GUI - Transaction filter tabs - 20% faster hashing - Hashmeter performance display - Mac OS X version (thanks to Laszlo) - German, Dutch and Italian translations (thanks to DataWraith, Xunie and Joozero) Get it at [http://www.bitcoin.org](http://www.bitcoin.org/) or read the forum to find out more. **Martii Malmi (AKA Sirius) “COPA trial” email #198** **Date: Tue, 06 Jul 2010 19:03:50 +0100** **From: Satoshi Nakamoto <satoshin@gmx.com>** **Subject: 0.3.0 released** **To: Martti Malmi <mmalmi@cc.hut.fi>** I uploaded 0.3.0 beta to sourceforge and updated the links on bitcoin.org. I still need to post the announcement message on the forum and mailing list. Here's what I've prepared: Announcing version 0.3 of Bitcoin, the P2P cryptocurrency! Bitcoin is a digital currency using cryptography and a distributed network to replace the need for a trusted central server. Escape the arbitrary inflation risk of centrally managed currencies! Bitcoin's total circulation is limited to 21 million coins. The coins are gradually being released to the networks nodes based on the CPU power they contribute. You can get a share of them just by installing the software and contributing your idle CPU time. What's new: - Command line and JSON-RPC control - Includes a daemon version without GUI - Tabs for sent and received transactions - 20% faster hashing - Hashmeter performance display - Mac OS X version (thanks to Laszlo) - German, Dutch and Italian translations (thanks to DataWraith, Xunie and Joozero) **Martii Malmi (AKA Sirius) “COPA trial” email #199** **Date: Tue, 06 Jul 2010 19:40:11 +0100** **From: Satoshi Nakamoto <satoshin@gmx.com>** **Subject: Re: 0.3.0 released** **To: Martti Malmi <mmalmi@cc.hut.fi>** Actually, "tabs for sent and received transactions" sounds really immature if it doesn't have that already. "Transaction filter tabs" sounds better. I'm still editing it a little more and then I'll e-mail it to bitcoin-list and send it to the cryptography list. "Get it at http://www.bitcoin.org or read the forum to find out more." ##### BitcoinTalk #### Re: 0.3 almost ready -- please test the Mac version! ##### _2010-07-06 19:43:18 UTC_ - [-](https://bitcointalk.org/index.php?topic=199.msg2006#msg2006) 0.3 released [http://BitcoinTalk.org/index.php?topic=238.msg2004#msg2004](http://bitcointalk.org/index.php?topic=238.msg2004#msg2004) ##### BitcoinTalk #### Re: 0.3 almost ready -- please test the Mac version! ##### _2010-07-06 19:43:18 UTC_ - [-](https://bitcointalk.org/index.php?topic=199.msg2006#msg2006) 0.3 released [http://BitcoinTalk.org/index.php?topic=238.msg2004#msg2004](http://bitcointalk.org/index.php?topic=238.msg2004#msg2004) **Martii Malmi (AKA Sirius) “COPA trial” email #200** **Date: Tue, 06 Jul 2010 22:53:07 +0100** **From: Satoshi Nakamoto <satoshin@gmx.com>** **Subject: [bitcoin-list] Bitcoin 0.3 released!** **To: bitcoin-list@lists.sourceforge.net** Announcing version 0.3 of Bitcoin, the P2P cryptocurrency! Bitcoin is a digital currency using cryptography and a distributed network to replace the need for a trusted central server. Escape the arbitrary inflation risk of centrally managed currencies! Bitcoin's total circulation is limited to 21 million coins. The coins are gradually released to the network's nodes based on the CPU power they contribute, so you can get a share of them by contributing your idle CPU time. What's new: - Command line and JSON-RPC control - Includes a daemon version without GUI - Transaction filter tabs - 20% faster hashing - Hashmeter performance display - Mac OS X version (thanks to Laszlo) - German, Dutch and Italian translations (thanks to DataWraith, Xunie and Joozero) Get it at www.bitcoin.org, and read the forum to find out more. **bitcoin-list** [**bitcoin-list**] Bitcoin 0.3 released! _2010-07-06 21:53:53 UTC_ - [-](https://sourceforge.net/p/bitcoin/mailman/message/25686730/) Announcing version 0.3 of Bitcoin, the P2P cryptocurrency! Bitcoin is a digital currency using cryptography and a distributed network to replace the need for a trusted central server. Escape the arbitrary inflation risk of centrally managed currencies! Bitcoin's total circulation is limited to 21 million coins. The coins are gradually released to the network's nodes based on the CPU power they contribute, so you can get a share of them by contributing your idle CPU time. What's new: - Command line and JSON-RPC control - Includes a daemon version without GUI - Transaction filter tabs - 20% faster hashing - Hashmeter performance display - Mac OS X version (thanks to Laszlo) - German, Dutch and Italian translations (thanks to DataWraith, Xunie and Joozero) Get it at http://www.bitcoin.org, and read the forum to find out more. ##### BitcoinTalk #### Re: On IRC bootstrapping ##### _2010-07-07 01:31:07 UTC_ - [-](https://bitcointalk.org/index.php?topic=84.msg2010#msg2010) Everybody needs to connect to the same IRC server and channel so they can find each other. [_**Quote from: Vasiliev on June 25, 2010, 11:50:15 PM**_](https://bitcointalk.org/index.php?topic=84.msg1785#msg1785) _You may want to leave Freenode in as a fallback server -- if his server doesn't work, use Freenode's._ It might not be good if we suddenly rushed freenode with a ton of users all at once. The fallback is our own seed system. irc.lfnet.org is pretty old and has impressive uptime. I think it's going to be fine. We could take IRC out at some point if we want, but I'd rather ease into it and just test our own seed system as a backup for now, and I really like the complementary redundant attributes of the two different systems. ##### BitcoinTalk #### Re: bitcoin 0.3 win64 - broken access to APPDATA if non-latin characters in username ##### _2010-07-08 18:24:19 UTC_ - [-](https://bitcointalk.org/index.php?topic=246.msg2068#msg2068) Thanks for finding that. We switched from ANSI in 0.2 to UTF-8 in version 0.3, so it must be related to that. Just to confirm, if you log in with the non-latin character username, not having an appdata/Bitcoin directory yet, and run Bitcoin and let it create the database from scratch, does it work or not? ##### BitcoinTalk #### Re: Anonymity ##### _2010-07-08 19:12:00 UTC_ - [-](https://bitcointalk.org/index.php?topic=241.msg2071#msg2071) It's hard to imagine the Internet getting segmented airtight. It would have to be a country deliberately and totally cutting itself off from the rest of the world. Any node with access to both sides would automatically flow the block chain over, such as someone getting around the blockade with a dial-up modem or sat-phone. It would only take one node to do it. Anyone who wants to keep doing business would be motivated. If the network is segmented and then recombines, any transactions in the shorter fork that were not also in the longer fork are released into the transaction pool again and are eligible to get into future blocks. Their number of confirmations would start over. If anyone took advantage of the segmentation to double-spend, such that there are different spends of the same money on each side, then the double-spends in the shorter fork lose out and go to 0/unconfirmed and stay that way. It wouldn't be easy to take advantage of the segmentation to double-spend. If it's impossible to communicate from one side to the other, how are you going to put a spend on each side? If there is a way, then probably someone else is also using it to flow the block chain over. You would usually know whether you're in the smaller segment. For example, if your country cuts itself off from the rest of the world, the rest of the world is the larger segment. If you're in the smaller segment, you should assume nothing is confirmed. ##### BitcoinTalk #### Re: bitcoin 0.3 win64 - broken access to APPDATA if non-latin characters in username ##### _2010-07-09 03:01:35 UTC_ - [-](https://bitcointalk.org/index.php?topic=246.msg2077#msg2077) I think I see where the problem is. Coincidentally, I recently coded a replacement for the function in question which should fix it. It's not enabled yet, but in the SVN version it prints a debug message in debug.log showing the new directory value and old value for comparison. ##### BitcoinTalk #### Re: BTC Vulnerability? (Massive Attack against BTC system. Is it really?) ##### _2010-07-09 03:28:46 UTC_ - [-](https://bitcointalk.org/index.php?topic=242.msg2078#msg2078) What the OP described is called "cornering the market". When someone tries to buy all the world's supply of a scarce asset, the more they buy the higher the price goes. At some point, it gets too expensive for them to buy any more. It's great for the people who owned it beforehand because they get to sell it to the corner at crazy high prices. As the price keeps going up and up, some people keep holding out for yet higher prices and refuse to sell. The Hunt brothers famously bankrupted themselves trying to corner the silver market in 1979: "Brothers Nelson Bunker Hunt and Herbert Hunt attempted to corner the world silver markets in the late 1970s and early 1980s, at one stage holding the rights to more than half of the world's deliverable silver.[1] During Hunt's accumulation of the precious metal silver prices rose from $11 an ounce in September 1979 to nearly $50 an ounce in January 1980.[2] Silver prices ultimately collapsed to below $11 an ounce two months later,[2] much of the fall on a single day now known as Silver Thursday, due to changes made to exchange rules regarding the purchase of commodities on margin.[3]" [http://en.wikipedia.org/wiki/Cornering_the_market](http://en.wikipedia.org/wiki/Cornering_the_market) ##### ##### BitcoinTalk #### Re: bitcoin 0.3 win64 - broken access to APPDATA if non-latin characters in username ##### _2010-07-09 15:37:05 UTC_ - [-](https://bitcointalk.org/index.php?topic=246.msg2092#msg2092) I tested this with a non-lower-ASCII account name on XP and confirmed the bug, then tested that the new GetDefaultDataDir fixed it. This change is revision 102 of the SVN. ----

Kicking the Hornet's Nest - part 12

# Kicking the Hornet's Nest - third edition - part 12 All links, digital (pdf, txt, docx, md) and book in print, can be found at https://hive.blog/@crrdlx/satoshi Edited by [crrdlx](nostr:nprofile1qyv8wumn8ghj7mn0wdj8y6tkv5hxzurs9aex2mrp0yq3wamnwvaz7tmjv4kxz7fwwpexjmtpdshxuet59uqzqqzmcn0yrn7ttq8hrjkk46ysn2tk26rr8f8k4y7xkl74hlh3rcdzm9d3t8), npub: ``` npub1qpdufhjpel94srm3ett2azgf49m9dp3n5nm2j0rt0l2mlmc3ux3qza082j ``` ---- ### Kicking the Hornet's Nest pages 250 - 275 ---- **Martii Malmi (AKA Sirius) “COPA trial” email #180** **Date: Wed, 03 Mar 2010 03:54:52 +0000** **From: Satoshi Nakamoto <satoshin@gmx.com>** **Subject: Re: Bitcoind** **To: mmalmi@cc.hut.fi** That narrows it down a lot. It didn't print any IRC activity in debug.log, so I guess it couldn't have gotten past the RecvUntil. Eyeballing it I don't see anything obvious. I guess it would have to be either in ConnectSocket or RecvUntil. Try it with the attached irc.cpp and net.cpp and send me the debug.log. Or you could run it in gdb and step through ThreadIRCSeed gdb --args bitcoin [switches] b ThreadIRCSeed run step or u to step over and up out of routines. _mmalmi@cc.hut.fi wrote:_ _> I get the error regardless of the getinfo. Commenting out ThreadIRCSeed_ _> fixed the problem._ _>_ **BitcoinTalk** Re: Money Transfer Regulations _2010-03-03 04:28:56 UTC_ - [-](https://bitcointalk.org/index.php?topic=69.msg614#msg614) When there's enough scale, maybe there can be an exchange site that doesn't do transfers, just matches up buyers and sellers to exchange with each other directly, similar to how e-bay works. To make it safer, the exchange site could act as an escrow for the bitcoin side of the payment. The seller puts the bitcoin payment in escrow, and the buyer sends the conventional payment directly to the seller. The exchange service doesn't handle any real world money. This would be a step better than e-bay. E-bay manages to work fine even though shipped goods can't be recovered if payment falls through. **Martii Malmi (AKA Sirius) “COPA trial” email #182** **Date: Wed, 03 Mar 2010 17:15:28 +0000** **From: Satoshi Nakamoto <satoshin@gmx.com>** **Subject: Re: Bitcoind** **To: mmalmi@cc.hut.fi** It's in RecvUntil, but I still can't see anything wrong with it. The only thing I can think of is if the socket is receiving a spew of characters. Try this irc.cpp. debug.log may grow rapidly so be ready to kill it. _mmalmi@cc.hut.fi wrote:_ _> debug.log attached_ _>_ **Martii Malmi (AKA Sirius) “COPA trial” email #185** **Date: Fri, 05 Mar 2010 00:42:16 +0000** **From: Satoshi Nakamoto <satoshin@gmx.com>** **Subject: Re: Bitcoind** **To: mmalmi@cc.hut.fi** It's in util.c ParseString. I'm guessing the problem is incompatibility between the type "unsigned int" and the type of str.npos, which is size_type. Try changing the two "unsigned int"s to "size_type". old: void ParseString(const string& str, char c, vector<string>& v) { unsigned int i1 = 0; unsigned int i2; do { i2 = str.find(c, i1); v.push_back(str.substr(i1, i2-i1)); i1 = i2+1; } while (i2 != str.npos); } new: void ParseString(const string& str, char c, vector<string>& v) { size_type i1 = 0; size_type i2; do { i2 = str.find(c, i1); v.push_back(str.substr(i1, i2-i1)); i1 = i2+1; } while (i2 != str.npos); } _mmalmi@cc.hut.fi wrote:_ _> Here's another test run debug.log I got when debugging with gdb. The_ _> program started eating memory after the debug line "irc 8" and within a_ _> few seconds crashed with "terminate called after throwing an instance of_ _> 'std::bad_alloc'"._ _>_ **Martii Malmi (AKA Sirius) “COPA trial” email #186** **Date: Fri, 05 Mar 2010 00:54:40 +0000** **From: Satoshi Nakamoto <satoshin@gmx.com>** **Subject: Re: Bitcoind** **To: mmalmi@cc.hut.fi** Actually, please try this instead, this is more correct: void ParseString(const string& str, char c, vector<string>& v) { string::size_type i1 = 0; string::size_type i2; loop { i2 = str.find(c, i1); if (i2 == str.npos) { v.push_back(str.substr(i1)); return; } v.push_back(str.substr(i1, i2-i1)); i1 = i2+1; } } **Martii Malmi (AKA Sirius) “COPA trial” email #188** **Date: Fri, 05 Mar 2010 01:42:00 +0000** **From: Satoshi Nakamoto <satoshin@gmx.com>** **Subject: Re: Bitcoind** **To: mmalmi@cc.hut.fi** I confirmed that ParseString has this problem, and uploaded the fixed util.cpp to SVN. string::npos == -1 Comparing unsigned int -1 (0xffffffff) with long unsigned int -1 (0xffffffffffffffff) results in the unsigned int being promoted to 64-bit, which is 0x00000000ffffffff != 0xffffffffffffffff. _mmalmi@cc.hut.fi wrote:_ _> Here's another test run debug.log I got when debugging with gdb. The_ _> program started eating memory after the debug line "irc 8" and within a_ _> few seconds crashed with "terminate called after throwing an instance of_ _> 'std::bad_alloc'"._ _>_ **BitcoinTalk** Re: Command Line and JSON-RPC _2010-03-05 01:46:25 UTC_ - [-](https://bitcointalk.org/index.php?topic=63.msg633#msg633) [_**Quote from: sirius-m on February 24, 2010, 06:17:35 PM**_](https://bitcointalk.org/index.php?topic=63.msg502#msg502) _This is strange... When I start Bitcoin as a daemon on my 64 bit Linux server, it eats up all the 250MB of remaining RAM, 700MB of swap and eventually crashes. On my 32 bit Ubuntu desktop, it works fine and stays at 15MB of memory usage. The server is running a 64 bit build of Bitcoin. Maybe there's something wrong with the build or something._ sirius-m debugged this, it was 64-bit related. The fix is now available on SVN, file util.cpp. **Martii Malmi (AKA Sirius) “COPA trial” email #189** **Date: Sat, 06 Mar 2010 06:39:53 +0000** **From: Satoshi Nakamoto <satoshin@gmx.com>** **Subject: Blog** **To: Martti Malmi <mmalmi@cc.hut.fi>** There's a blog writer who wants to write a story about Bitcoin, but I don't have time right now to answer his questions. Would you be interested in answering his questions if I refer him to you? We might get a good link out of it. The blog is http://themonetaryfuture.blogspot.com **BitcoinTalk** Re: bitcoin auto-renice-ing _2010-03-15 18:44:12 UTC_ - [-](https://bitcointalk.org/index.php?topic=72.msg717#msg717) It sets different priorities for each thread. The generate threads run at PRIO_MIN. The other threads rarely take any CPU and run at normal. #define THREAD_PRIORITY_LOWEST PRIO_MIN #define THREAD_PRIORITY_BELOW_NORMAL 2 #define THREAD_PRIORITY_NORMAL 0 The priorities converted from Windows priorities were probably from a table like this: "The following table shows the mapping between nice values and Win32 priorities. Refer to the Win32 documentation for SetThreadPriority() for more information on Win32 priority issues. nice value Win32 Priority -20 to -16 THREAD_PRIORITY_HIGHEST -15 to -6 THREAD_PRIORITY_ABOVE_NORMAL -5 to +4 THREAD_PRIORITY_NORMAL +5 to +14 THREAD_PRIORITY_BELOW_NORMAL +15 to +19 THREAD_PRIORITY_LOWEST" If you have better values, suggestions welcome. Also, there was some advice on the web that PRIO_PROCESS is used on Linux because threads are processes. If that's not true, maybe it accounts for unexpectedly setting the priority of the whole app. // threads are processes on linux, so PRIO_PROCESS affects just the one thread setpriority(PRIO_PROCESS, getpid(), nPriority); **BitcoinTalk** Idea for file hosting and proxy services _2010-03-15 19:16:56 UTC_ - [-](https://bitcointalk.org/index.php?topic=83.msg719#msg719) When you want to upload an image to embed in a forum post, there are services like imageshack, but because they're free, they limit the number of views. It's a minuscule amount of bandwidth cost, but they can't just give it away for free, there has to be something in it for them. It would be nice to be able to pay for the bandwidth and avoid the limits, but conventional payments are too inconvenient for such a minor thing. It's worse if you want to upload a file for others to download. There are services like rapidshare, but they require the downloaders to go through extra steps and delays to make them look at advertising or encourage upgrading to a paid subscription, and they limit it to 10 or so downloads. It would be nice if we made some free PHP code for an image and file hosting service that charges Bitcoins. Anyone with some extra bandwidth quota could throw it on their webserver and run it. Users could finally pay the minor fee to cover bandwidth cost and avoid the limits and hassles. Ideally, it should be MIT license or public domain. Services like this would be great for anonymous users, who have trouble paying for things. **BitcoinTalk** Re: On IRC bootstrapping _2010-03-16 19:48:47 UTC_ - [-](https://bitcointalk.org/index.php?topic=84.msg729#msg729) Thanks soultcer for talking with the Freenode staffer. Good to know it's OK at the current size, and now they know who we are. They're supportive of projects like TOR so I hope they would probably be friendly to us. We don't want to overstay our welcome. If we get too big, then by the same token, we're big enough that we don't need IRC anymore and we'll get off. We only needed IRC because nobody had a static IP. In the early days there were some steady supporters, but they all had pool-allocated IPs that change every few days. IRC was only intended as a temporary solution. Bitcoin's built-in addr system is the main solution. Bitcoin can get the list of IPs from any bitcoin node. In that sense, every node serves as a directory server. When there are enough static IP nodes to have a good chance that at least one will still be running by the time the current version goes out of use, we can preprogram a seed list. How do you think we should compile the seed list? Would it be OK to create it from the currently connected IPs that have been static for a while? BTW, if we want to supplement by deploying separate directory server software, may I suggest IRC? IRC is a good directory server (I've heard it has other uses too), and there are mature IRC server implementations available that anyone can run. ![](file:///tmp/lu30467eu8.tmp/lu30468hd4_tmp_b56eb9f04b2623cd.gif) Bitcoin's IRC client implementation is already thoroughly tested. **BitcoinTalk** Re: Idea for file hosting service _2010-03-16 20:17:34 UTC_ - [-](https://bitcointalk.org/index.php?topic=83.msg731#msg731) That's a great idea. There's a thriving business in those services, but I've always thought the standard payment methods are at odds with privacy minded customers. Would you consider making your software freely available so anyone could easily set one up? I know for competitive reasons the inclination is to keep it to yourself, but it could get an order of magnitude more use if anyone could give proxy access to their country just by putting the software on a server. I wonder if there are other kinds of web application servers where we would only have to tack on the payment mechanism to an already existing system? **BitcoinTalk** Re: who is bitcoin.com _2010-03-23 15:22:41 UTC_ - [-](https://bitcointalk.org/index.php?topic=88.msg806#msg806) It's unrelated. There wasn't anything there when I started. The price of .com registrations is lower than it should be, therefore any good name you might think of is always already taken by some domain name speculator. Fortunately, it's standard for open source projects to be .org. **BitcoinTalk** Re: Exchange Methods _2010-03-23 17:35:34 UTC_ - [-](https://bitcointalk.org/index.php?topic=87.msg807#msg807) LR and Pecunix have many established exchanges to paper currencies by various payment methods, and a number of vendors accept them as payment, so an exchange link between Bitcoin and LR/Pecunix would give us 2nd-hop access to all that. The possibility to cash out through them would help support the value of bitcoins. Bitcoin has unique properties that would be complementary. LR/Pecunix are easy to spend anonymously, but hard to buy anonymously and not worth the trouble to buy in small amounts. Bitcoin, on the other hand, is easy to get in small amounts anonymously. It would be convenient to buy LR/Pecunix with bitcoins rather than through conventional payment methods. Most customers who convert to LR to buy something would probably ask the seller first if they accept Bitcoin, encouraging them to start accepting it. **BitcoinTalk** Re: Idea for file hosting and proxy services _2010-03-24 18:01:57 UTC_ - [-](https://bitcointalk.org/index.php?topic=83.msg809#msg809) Title changed. It helps that we have someone with actual experience running a proxy service. Do you think Psiphon is the best one currently? (sometimes the one you run was the best when you started but you found better ones later) **BitcoinTalk** Re: Idea for file hosting and proxy services _2010-03-24 18:02:55 UTC_ - [-](https://bitcointalk.org/index.php?topic=83.msg810#msg810) Mihalism Multi Host is a popular open source PHP file hosting server. It's geared toward image hosting, but I think by increasing the file size limit and liberalising the allowed file extensions, it could just as easily be used for general file upload hosting. They need the limits to keep it reasonable as a free service, but if we bolt on a Bitcoin payment mechanism, the limits could be relaxed. It doesn't have a bunch of client side scripting or anti-embedding junk to rip out. It generates standard links that work normally. There's a turnover churn in these free hosting sites. Small sites can give free image hosting, but once one starts getting popular, it gets too swamped with moochers using them for free bandwidth. Any site that gets well known has to become more aggressively pay-naggy to cover bandwidth costs. It's a perfect example of a service where the needed price point is in the no-man's-land between just a little too expensive to be free, but too cheap for most users to take the trouble of a conventional payment. It's in the gap between 0 and 19.95. The best they can do is try to maybe get 1 out of 1000 users to pay 9.95, but that has 999/1000 users treated like freeloaders. It can't really be advertising supported because the images are embedded in other sites and downloaded without going to the hosting site. An example of a site running the software: [http://www.imagez.ws/](http://www.imagez.ws/) Forum: [http://www.mihalism.net/](http://www.mihalism.net/) Download: [http://code.google.com/p/mihalismmh/](http://code.google.com/p/mihalismmh/) What do you think? If I made a Bitcoin payment integration for this, would anyone be interested in running it? It might be the first fully automated service available to buy with Bitcoins. The advantage it could offer over the free services is general file upload hosting of large files without making downloading users go to the upload site and jump through hoops. It would give a normal link directly to the file. **Martii Malmi (AKA Sirius) “COPA trial” email #192** **Date: Sun, 16 May 2010 20:12:21 +0100** **From: Satoshi Nakamoto <satoshin@gmx.com>** **Subject: Re: Status update** **To: mmalmi@cc.hut.fi** I've also been busy with other things for the last month and a half. I just now downloaded my e-mail since the beginning of April. I mostly have things sorted and should be back to Bitcoin shortly. Glad that you've been handling things in my absence. Congrats on your first transaction! As I recall, the code was nearly ready for a 0.3 release. I think all it needed was a little testing time and to install the new icon xpm. The JSON API functions are complete. I wanted to take another fresh look at them in case I think of any better function names before committing. I ought to write some sample code showing the proper way to use them, particularly with polling for received transactions. When I left off, I was thinking about bolting a payment mechanism onto a free upload server software as an example. It would make sense to actually build one practical application with the API before releasing it. You don't realise the problems with an API until you actually try to use it. _mmalmi@cc.hut.fi wrote:_ _> Hi!_ _>_ _> How are you doing? Haven't seen you around in a while._ _>_ _> I've been at full-time work lately, and will be until the end of June,_ _> so I haven't had that much time to work with Bitcoin or my exchange_ _> service. I have a working beta of my service though, and a few weeks ago_ _> made my first transaction: sold 10,000 btc for 20 euros via EU bank_ _> transfer. Maybe I can make it public soon._ _>_ _> I divided the forum into 6 boards, which are Bitcoin Discussion,_ _> Development & Technical Discussion, Technical support, Economics,_ _> Marketplace and Trading Discussion. Hope this is ok?_ _>_ _> I also added a page "Trade" on the bitcoin.org site, where btc-accepting_ _> services are listed. It's nice to see that there are already useful_ _> services that accept btc._ _>_ _> The community has been growing nicely. We've had around 10-20 people and_ _> active discussion at #bitcoin-dev lately._ _>_ _> It would be nice to get the daemon-able binaries to SF.net. We have some_ _> skilled programmers in the community now, so maybe we can finish the_ _> JSON API functions if you don't have time to._ _>_ _> Best regards._ _>_ **BitcoinTalk** Re: Could the bitcoin network be destroyed by someone generating endless bitcoin add _2010-05-16 21:01:44 UTC_ - [-](https://bitcointalk.org/index.php?topic=130.msg1130#msg1130) When you generate a new bitcoin address, it only takes disk space on your own computer (like 500 bytes). It's like generating a new PGP private key, but less CPU intensive because it's ECC. The address space is effectively unlimited. It doesn't hurt anyone, so generate all you want. **BitcoinTalk** Re: For a website taking payments with bitcoins, better: IP or bitcoin addresses? _2010-05-16 21:37:36 UTC_ - [-](https://bitcointalk.org/index.php?topic=129.msg1131#msg1131) [_**Quote from: Xunie on May 14, 2010, 09:52:53 PM**_](https://bitcointalk.org/index.php?topic=129.msg1124#msg1124) _I suggest we disable IP transactions while the user uses a Proxy! Just to be on the safe side._ That's a good idea. At the very least a warning dialog explaining that it'll connect to the IP and send the information cleartext, giving the chance to cancel. **BitcoinTalk** Re: Exception: 9key_error error _2010-05-16 22:53:59 UTC_ - [-](https://bitcointalk.org/index.php?topic=135.msg1133#msg1133) Does it happen every time you run it, or just happened once at some random time? I've never seen that fail before. It's a call to OpenSSL that I assumed would never fail, but I put an error check there just in case. I can't imagine how it would fail. Out of memory maybe. The code is: key.h: EC_KEY* pkey; pkey = EC_KEY_new_by_curve_name(NID_secp256k1); if (pkey == NULL) throw key_error("CKey::CKey() : EC_KEY_new_by_curve_name failed"); NID_secp256k1 is a constant. **BitcoinTalk** Re: removing bitcoin addresses _2010-05-16 23:34:40 UTC_ - [-](https://bitcointalk.org/index.php?topic=101.msg1134#msg1134) SheriffWoody: Bitcoin addresses you generate are kept forever. A bitcoin address must be kept to show ownership of anything sent to it. If you were able to delete a bitcoin address and someone sent to it, the money would be lost. They're only about 500 bytes. sirius-m: Thousands of own addresses should not be any problem at all. If you've generated 50000 BTC, then you already have 1000 own addresses, one for each 50 generated. Those are hidden, they're not shown in the UI. It would be a good idea to add a little code that keeps giving the same address to the same IP. Here's what I did in C++ to keep giving the same key (aka bitcoin address) until they use it: // Keep giving the same key to the same ip until they use it if (!mapReuseKey.count(pfrom->addr.ip)) mapReuseKey[pfrom->addr.ip] = GenerateNewKey(); ...sends the key mapReuseKey[pfrom->addr.ip] ...later... // Received something with this key mapReuseKey.erase(pfrom->addr.ip); If it's not convenient to know when you've received, just clear the cached keys every 20 minutes. I want to add a parameter to getnewaddress for number of days to expire if nothing is received with the address. **BitcoinTalk** Re: Setting up multiple bitcoin machines behind NAT _2010-05-16 23:56:03 UTC_ - [-](https://bitcointalk.org/index.php?topic=54.msg1135#msg1135) At the moment, it always assumes the incoming port is 8333, so it would tell other bitcoin nodes to connect to router:8333 even if you're redirecting from another port number. I'm not in a big hurry to fix this because I can't think of any benefit to having more than one incoming connection port. If you're providing one incoming port, then you've done your bit to help the network. Having two incoming ports to the same person doesn't help redundancy. If you have many computers, then using the -connect switch on most of them to connect locally makes more sense. **BitcoinTalk** Re: Is there a way to automate bitcoin payments for a website? _2010-05-18 02:58:11 UTC_ - [-](https://bitcointalk.org/index.php?topic=112.msg1143#msg1143) A little late, but in case anyone else has the same issue. The compile dump had 2 warnings (that were 20 lines long) and 2 link errors. The errors were: _**Quote**_ _obj/nogui/init.o(.gnu.linkonce.t._ZNK13wxArrayString4ItemEm+0x13): In function `wxArrayString::Item(unsigned long) const': /usr/local/include/wx-2.9/wx/buffer.h:42: undefined reference to `wxTheAssertHandler' obj/nogui/init.o(.gnu.linkonce.t._ZNK13wxArrayString4ItemEm+0x45): In function `wxArrayString::Item(unsigned long) const': /usr/src/bitcoin/trunk/uint256.h:526: undefined reference to `wxOnAssert(char const*, int, char const*, char const*, wchar_t const*)'_ Those are probably due to switching to the release build of wxWidgets instead of debug. They're moving towards only debug build and ditching the release build, so they probably don't care that their release build is broken by referring to non-existent assert stuff. There's nothing to fear about the debug build. It's fully suitable for releases. bitcoind runs as a daemon and can either be controlled by command line or JSON-RPC. Thanks madhatter and generica for detailing the instructions for building on freebsd. **BitcoinTalk** Re: Ummmm... where did my bitcoins go? _2010-05-18 20:06:46 UTC_ - [-](https://bitcointalk.org/index.php?topic=125.msg1149#msg1149) It's not the download so much as verifying all the signatures in all the blocks as it downloads that takes a long time. How long is the initial block download typically taking? Does it slow down half way through or is about the same speed the whole way? I've thought about ways to do a more cursory check of most of the chain up to the last few thousand blocks. It is possible, but it's a lot of work, and there are a lot of other higher priority things to work on. Simplified Payment Verification is for lightweight client-only users who only do transactions and don't generate and don't participate in the node network. They wouldn't need to download blocks, just the hash chain, which is currently about 2MB and very quick to verify (less than a second to verify the whole chain). If the network becomes very large, like over 100,000 nodes, this is what we'll use to allow common users to do transactions without being full blown nodes. At that stage, most users should start running client-only software and only the specialist server farms keep running full network nodes, kind of like how the usenet network has consolidated. SPV is not implemented yet, and won't be implemented until far in the future, but all the current implementation is designed around supporting it. In the meantime, sites like [vekja.net](http://vekja.net/) and [www.mybitcoin.com](http://www.mybitcoin.com/) have been experimenting with account-based sites. You create an account on a website and hold your bitcoins on account there and transfer in and out. Creating an account on a website is a lot easier than installing and learning to use software, and a more familiar way of doing it for most people. The only disadvantage is that you have to trust the site, but that's fine for pocket change amounts for micropayments and misc expenses. It's an easy way to get started and if you get larger amounts then you can upgrade to the actual bitcoin software. **BitcoinTalk** Re: We accept Bitcoins _2010-05-20 21:43:42 UTC_ - [-](https://bitcointalk.org/index.php?topic=30.msg1169#msg1169) [_**Quote from: DataWraith on May 19, 2010, 07:52:42 PM**_](https://bitcointalk.org/index.php?topic=30.msg1161#msg1161) _Can I just butt in with a question on why that is? To me it seems that if Bitcoin uses public-key cryptography to transfer ownership of the coins, it should be a trivial matter to include a short message that is only readable by the recipient._ Almost but not quite. Bitcoin uses EC-DSA, which can only do digital signing, not encryption. RSA can do both, but I didn't use it because it's an order of magnitude bigger and would have been impractical. ##### BitcoinTalk #### JSON-RPC programming tips using labels ##### _2010-05-26 18:27:25 UTC_ - [-](https://bitcointalk.org/index.php?topic=157.msg1252#msg1252) I added label related functions to help with managing multiple addresses per user. New or renamed functions are: getreceivedbyaddress -- amount received on a single address getreceivedbylabel -- amount received by all addresses with this label listreceivedbyaddress -- list addresses and amounts they've received listreceivedbylabel -- list labels and amounts they've received setlabel -- misc label functions for completeness getlabel getaddressesbylabel For consistency I renamed getamountreceived->getreceivedbyaddress and getallreceived->listreceivedbyaddress. The old names are still there so as not to break existing code, but they're deprecated. The idea is that if you give the username whenever you call getnewaddress, you can get the user's total received across all their addresses using the "bylabel" functions. You can freely change their address without worrying about tracking all their old addresses. A good way to automate changing the user's receiving address: just before displaying their current address, check if it has been used to receive anything, if it has then replace it with a new one: // Get a new address whenever the current one has received anything if (strAddr == "" || getreceivedbyaddress(strAddr) > 0) strAddr = getnewaddress(strUsername); // Label the address with username Display(strAddr); // Display their current receiving address // Get total received by all the user's addresses getreceivedbylabel(strUsername, 0) // unconfirmed getreceivedbylabel(strUsername, 1) // available balance If you're just getting one particular user's balance, such as in response to a page request by that user, use getreceivedbylabel, but if you're scanning over all users, it's better to use listreceivedbylabel to get the complete list and scan against the result. Scanning users with getreceivedbylabel would be n-squared, using listreceivedbylabel is n-log-n (or n linear). You should only really need to scan all users if you're polling in order to spontaneously take action in response to money received, rather than the user going to a webpage, seeing their balance and telling you what to do with it. It's not necessary to poll very frequently. If you require 1 confirmation, that'll take an average of 10 minutes anyway, so there's no point in polling more often than every few minutes. If you're selling digital goods and services, where you don't lose much if someone gets a free access, and it can't be resold for profit, I think you're fine to accept 0 confirmations. It's mostly only if you were selling gold or currency that you'd need multiple confirmations. ##### BitcoinTalk #### Re: Tracing a coin's lineage ##### _2010-05-26 18:51:04 UTC_ - [-](https://bitcointalk.org/index.php?topic=154.msg1254#msg1254) [_**Quote from: Xunie on May 26, 2010, 12:50:04 AM**_](https://bitcointalk.org/index.php?topic=154.msg1242#msg1242) _Can't we force a user to use a new address for receiving payments? Every time a payment is received display another Bitcoin address in the address bar. (only transactions via Bitcoin addresses, NOT IPs of course, since that'd be useless, right?) The actual key would still be kept to ensure that the user would still receive payments of people sending to the same address._ This is on my list. I will soon make the "Your Bitcoin Address:" window automatically change whenever you receive anything to the address displayed. I'm also recommending this approach for the implementation of web apps. I just posted some sample code showing a suggested way of implementing this. Versions on SVN since 0.2.4 already have a "New..." button next to the address bar to encourage changing it manually too. @theymos: If nothing else, we can fall back on that solution in the future. ##### BitcoinTalk #### Re: CLI bitcoin generation ##### _2010-05-26 20:09:34 UTC_ - [-](https://bitcointalk.org/index.php?topic=145.msg1256#msg1256) [_**Quote from: molybdenum on May 22, 2010, 06:44:20 PM**_](https://bitcointalk.org/index.php?topic=145.msg1194#msg1194) _An optional parameter to specify the minimum number of blocks after that transaction (getallreceived 1 for current behavior, or just getallreceived, getallreceived 5 for the paranoid, getallreceived 0 for instant confirms)?_ Yeah, that actually is what it is. getallreceived 0 should do what you want. (now it's renamed to listreceivedbyaddress 0) The default is 1 confirmation, but I think in reality most digital goods and services can be 0 confirmations. Like you say, if you need more than 0 confirmations, you could show two numbers, unconfirmed and available balance, so they immediately see their transaction went through. listreceivedbyaddress [minconf=1] [includeempty=false] [minconf] is the minimum number of confirmations before payments are included. [includeempty] whether to include addresses that haven't received any payments. Returns an array of objects containing: "address" : receiving address "label" : the label of the receiving address "amount" : total amount received by the address "confirmations" : number of confirmations of the most recent transaction included or listreceivedbylabel if you're labelling addresses with their username. So far I've concentrated on functions for web merchants, not so much on stuff for remote management of headless coin generators yet. ##### BitcoinTalk #### Re: Share database blocks ? ##### _2010-05-26 20:34:34 UTC_ - [-](https://bitcointalk.org/index.php?topic=153.msg1258#msg1258) It does in fact download 500 blocks at a time, then the counter counts one at a time as it verifies the blocks. The advantage of letting bitcoin download and verify the blocks is that you do not have to trust the person you're downloading them from. If you downloaded the blk*.dat files from some site, you would have to trust that site, since you would be accepting the data without verifying it yourself. If you're copying blk*.dat from another computer of yours, that should be fine. How long is the initial block download taking for you? ##### BitcoinTalk #### Re: Website translations ##### _2010-05-26 21:16:34 UTC_ - [-](https://bitcointalk.org/index.php?topic=151.msg1259#msg1259) Does anyone want to translate the Bitcoin client itself? It would be great to have at least one other language in the 0.3 release. All you have to do is get poedit and translate the po file I'm attaching to this post. It's less than 750 words. Updated bitcoin.po attachment for 0.3.1 ##### BitcoinTalk #### Re: Odd amount of generated coins ##### _2010-05-26 21:34:32 UTC_ - [-](https://bitcointalk.org/index.php?topic=141.msg1260#msg1260) In the SVN version, if a transaction requires a transaction fee, it says "This transaction is over the size limit. You can still send it for a fee of #, which goes to the nodes that process your transaction and helps to support the network. Do you want to pay the fee?" If you don't have enough money with the fee added, it says "Total exceeds your balance when the # transaction fee is included " ##### BitcoinTalk #### Re: Website translations ##### _2010-05-27 14:18:22 UTC_ - [-](https://bitcointalk.org/index.php?topic=151.msg1269#msg1269) Hurray! We have our first language. I uploaded it to SVN to go in with the 0.3 release. **BitcoinTalk** Re: Hostnames instead of IP Addresses _2010-06-02 18:18:15 UTC_ - [-](https://bitcointalk.org/index.php?topic=158.msg1322#msg1322) The current sending by IP is not very useful: it connects to the IP, so you'd like to use TOR for anonymity, but then it can totally be eavesdropped and man-in-the-middled. The future plan for sending to an IP is to make it a bitcoin address plus IP, like: 1auaDZCFYqaGx4FKS5WenNfurk2SkoDu4h<someseparatorcharacter>1.2.3.4 or 1auaDZCFYqaGx4FKS5WenNfurk2SkoDu4h<someseparatorcharacter>domain.com I need suggestions for the separator character. ":" is a candidate, but IPv6 has : in it and that might get confusing. Something that's allowed in url parameters would be nice. I want to use SSL for the connection, using the bitcoin address' public key as the cert. You would be certain you're connected to who you thought, and safely encrypted. The bitcoin address would not be used for the transaction, only for authentication. A new generated bitcoin address would be sent through the SSL connection. Since it's authenticated, it would then be safe to allow the IP address to be a domain name. Some care taken that if a proxy is used, it uses socks4a instead of DNS lookup. ##### BitcoinTalk #### Re: Proof-of-work difficulty increasing ##### _2010-06-02 18:45:38 UTC_ - [-](https://bitcointalk.org/index.php?topic=43.msg1323#msg1323) That's a good idea. I'm not sure where exactly to fit that in, but it could certainly calculate the expected average time between blocks generated, and then people would know what to expect. Every node and each processor has a different public key in its block, so they're guaranteed to be scanning different territory. Whenever the 32-bit nonce starts over at 1, bnExtraNonce gets incremented, which is an arbitrary precision integer. ##### BitcoinTalk #### Re: Website translations ##### _2010-06-02 22:18:09 UTC_ - [-](https://bitcointalk.org/index.php?topic=151.msg1324#msg1324) I uploaded the 93% complete Dutch translation to SVN. Thanks! ##### BitcoinTalk #### Re: On IRC bootstrapping ##### _2010-06-14 18:13:21 UTC_ - [-](https://bitcointalk.org/index.php?topic=84.msg1579#msg1579) Bitcoin has its own distributed address directory using the "addr" message. It's about time we coded in a list of the current long running static nodes to seed from. I can add code so new nodes do not preferentially stay connected to the seed nodes, just connect and get the list, so it won't be a burden on them. What do you think, should I go ahead with adding the seeds? It'll still try IRC first. The IRC has the advantage that it lists nodes that are currently online, since they have to stay connected to stay on the list, but the disadvantage that it's a single point of failure. The "addr" system has no single point of failure, but can only tell you what nodes have recently been seen, so it takes a little longer to get connected since some of the nodes you try have gone offline. The combination of the two gets us the best of both worlds and more total robustness. Is there anyone who wants to volunteer to run an IRC server in case freenode gets tired of us? ##### BitcoinTalk #### Re: Hostnames instead of IP Addresses ##### _2010-06-14 19:53:44 UTC_ - [-](https://bitcointalk.org/index.php?topic=158.msg1582#msg1582) SirArthur has a good point about the normal online merchant case, which is what the send-by-IP option is more suited to. This is the case where the merchant will have a server on a static IP and their own domain name and SSL cert. Instead of connecting by IP, we can connect to a domain name by SSL, using the existing CA infrastructure to authenticate that you're connected to the owner of that domain. The user would send to domain.com (or [www.domain.com](http://www.domain.com/) is ok too). That would be very natural and users could see and verify that what they entered is who they intend to pay. The SSL also makes it safe for TOR users. Problem is, I think merchants would still prefer to use bitcoin addresses to be certain they know what the payment is for. You simply cannot count on users to enter the right thing in the comment fields to identify the transaction. It would only approach practical if we had a mailto style link that prepopulates the comment field with the order number, but then the link could just as well be a bitcoin address. Just having an open bitcoin server at domain.com that users could send unidentified payments to would be too much of a liability. Regular users aren't used to the idea of having to identify the payment. Merchants would get too many blank payments followed by "I paid you, where's my stuff?!" a week later. The payment sequence does have a step where the receiver verifies the order before accepting it. It can reject the payment and return an error message if it doesn't contain a valid order number. That would require a difficult level of integration of custom code with the bitcoin server though. ##### BitcoinTalk #### Re: Dealing with SHA-256 Collisions ##### _2010-06-14 20:39:50 UTC_ - [-](https://bitcointalk.org/index.php?topic=191.msg1585#msg1585) SHA-256 is very strong. It's not like the incremental step from MD5 to SHA1. It can last several decades unless there's some massive breakthrough attack. If SHA-256 became completely broken, I think we could come to some agreement about what the honest block chain was before the trouble started, lock that in and continue from there with a new hash function. If the hash breakdown came gradually, we could transition to a new hash in an orderly way. The software would be programmed to start using a new hash after a certain block number. Everyone would have to upgrade by that time. The software could save the new hash of all the old blocks to make sure a different block with the same old hash can't be used. ##### BitcoinTalk #### Re: Technical clarifications ##### _2010-06-14 22:21:55 UTC_ - [-](https://bitcointalk.org/index.php?topic=179.msg1588#msg1588) 3) Nothing, if sending by bitcoin address 5) It is decentralised. After you have connected to the network the first time, you no longer need IRC. ##### BitcoinTalk #### Re: Can't Build r80 from SVN ##### _2010-06-14 22:40:14 UTC_ - [-](https://bitcointalk.org/index.php?topic=163.msg1590#msg1590) Sorry, I didn't test compile on linux the last few revisions. Reverted makefile.unix. ##### BitcoinTalk #### Re: What is the incentive to collect transactions? ##### _2010-06-15 23:41:29 UTC_ - [-](https://bitcointalk.org/index.php?topic=165.msg1595#msg1595) [_**Quote from: theymos on June 05, 2010, 04:26:09 PM**_](https://bitcointalk.org/index.php?topic=165.msg1373#msg1373) _Adding transactions to the block you're working on will slow down your generation rate_ The premise is false. Adding more transactions to the block you're working on does NOT slow down your generation rate. When generate is scanning hashes, it only hashes the header of the block, which is constant size. The header contains a hash of the transactions (the Merkle root) and is only updated occasionally. If necessary I can write code to make nodes prefer not to use a block if it doesn't contain enough of the transactions they know about. A discouraged block would almost always fail to be included in the main chain, but would be accepted if it did get in. I doubt this will be necessary, since there's no real advantage for nodes not to include all transactions. ##### BitcoinTalk #### Re: URI-scheme for bitcoin ##### _2010-06-16 00:15:47 UTC_ - [-](https://bitcointalk.org/index.php?topic=55.msg1596#msg1596) [http://127.0.0.1:8330/?to=domain.com&amount=200.00&comment=order_12345](http://127.0.0.1:8330/?to=domain.com&amount=200.00&comment=order_12345) or [http://127.0.0.1:8330/?to=](http://127.0.0.1:8330/?to=)<bitcoinaddress><separatorchar>1.2.3.4&amount=200.00 But as long as the link is already doing the typing for you, I don't see much benefit in using a domain address instead of bitcoin address. With a bitcoin address, the user can't send an unidentified payment. They can't send payment until they've been given a correct bitcoin address to send to. What would be nice about sending by domain is you could visually verify who it's going to. A more crucial issue is what if the browser isn't allowed to connect to 127.0.0.1: [http://BitcoinTalk.org/index.php?topic=63.msg1589#msg1589](http://bitcointalk.org/index.php?topic=63.msg1589#msg1589) and if that's true, then what about that example freenet link that had 127.0.0.1 in it? ##### BitcoinTalk #### Re: Website translations ##### _2010-06-16 16:53:34 UTC_ - [-](https://bitcointalk.org/index.php?topic=151.msg1600#msg1600) Thanks DataWraith! The German translation is uploaded to SVN. This is great, we've already got 3 major languages. ##### BitcoinTalk #### Re: new binary release? ##### _2010-06-17 17:07:56 UTC_ - [-](https://bitcointalk.org/index.php?topic=184.msg1609#msg1609) I'm working on getting version 0.3 released as soon as I can. Just a last few things left to do. It's been a long time since 0.2 and we need to get a prebuilt bitcoind with command line and JSON-RPC available. This time we'll have both 32-bit and 64-bit linux binaries, and Laszlo is going to build a Mac OSX release. Plus, we'll include the German, Dutch and Italian translations by DataWraith, Xunie and Joozero (thanks you guys!). ##### BitcoinTalk #### Re: Transactions and Scripts: DUP HASH160 ... EQUALVERIFY CHECKSIG ##### _2010-06-17 18:46:08 UTC_ - [-](https://bitcointalk.org/index.php?topic=195.msg1611#msg1611) The nature of Bitcoin is such that once version 0.1 was released, the core design was set in stone for the rest of its lifetime. Because of that, I wanted to design it to support every possible transaction type I could think of. The problem was, each thing required special support code and data fields whether it was used or not, and only covered one special case at a time. It would have been an explosion of special cases. The solution was script, which generalizes the problem so transacting parties can describe their transaction as a predicate that the node network evaluates. The nodes only need to understand the transaction to the extent of evaluating whether the sender's conditions are met. The script is actually a predicate. It's just an equation that evaluates to true or false. Predicate is a long and unfamiliar word so I called it script. The receiver of a payment does a template match on the script. Currently, receivers only accept two templates: direct payment and bitcoin address. Future versions can add templates for more transaction types and nodes running that version or higher will be able to receive them. All versions of nodes in the network can verify and process any new transactions into blocks, even though they may not know how to read them. The design supports a tremendous variety of possible transaction types that I designed years ago. Escrow transactions, bonded contracts, third party arbitration, multi-party signature, etc. If Bitcoin catches on in a big way, these are things we'll want to explore in the future, but they all had to be designed at the beginning to make sure they would be possible later. I don't believe a second, compatible implementation of Bitcoin will ever be a good idea. So much of the design depends on all nodes getting exactly identical results in lockstep that a second implementation would be a menace to the network. The MIT license is compatible with all other licenses and commercial uses, so there is no need to rewrite it from a licensing standpoint. ----