Kicking the Hornet's Nest - part 7

Kicking the Hornet's Nest - part 7

# Kicking the Hornet's Nest - third edition - part 7

All links, digital (pdf, txt, docx, md) and book in print, can be found at https://hive.blog/@crrdlx/satoshi

Edited by [crrdlx](@crrdlx), npub:

```

npub1qpdufhjpel94srm3ett2azgf49m9dp3n5nm2j0rt0l2mlmc3ux3qza082j

```


### Kicking the Hornet's Nest pages 125 - 150

Martii Malmi (AKA Sirius) “COPA trial” email #5

Date: Mon, 04 May 2009 16:51:00 +0100

From: Satoshi Nakamoto <satoshin@gmx.com>

Subject: Re: Bitcoin

To: mmalmi@cc.hut.fi

Oh crap, I got your sourceforge usernames mixed up, sorry about that. I

clicked on the wrong e-mail when I was looking for your username. You

now have access.

Your FAQ looks good so far!

You can create whatever you want on bitcoin.sourceforge.net. Something

to get new users up to speed on what Bitcoin is and how to use it and

why, and clean and professional looking would help make it look well

established. The site at bitcoin.org was designed in a more

professorial style when I was presenting the design paper on the

Cryptography list, but we're moving on from that phase.

You should probably change the part about "distribute them under several

keys". When the paper says that it means for the software to do it, and

it does. For privacy reasons, the software already uses a different key

for every transaction, so every piece of money in your wallet is already

on a different key. The exception is when using a bitcoin address,

everything sent to the same bitcoin address is on the same key, which is

a privacy risk if you're trying to be anonymous. The EC-DSA key size is

very strong (sized for the future), we don't practically have to worry

about a key getting broken, but if we did there's the advantage that

someone expending the massive computing resources would only break one

single transaction's worth of money, not someone's whole account. The

details about how to backup your wallet files is in the Q&A dump and

also it's explained in readme.txt and definitely belongs in the FAQ.

Oh I see, you're trying to address byronm's concern on freedomainradio.

I see what you mean about the password feature being useful to address

that argument. Banks let anyone who has your name and account number

drain your account, and you're not going to get it back from Nigeria.

If someone installs a keylogger on your computer, they could just as

easily get your bank password and transfer money out of your account.

Once we password encrypt the wallet, we'll be able to make a clearer

case that we're much more secure than banks. We use strong encryption,

while banks still let anyone who has your account info draw money from

your account.

mmalmi@cc.hut.fi wrote:

> Quoting Satoshi Nakamoto <satoshin@gmx.com>:

>

>> That would be great! I added you (dmp1ce) as a dev to the sourceforge

>> project and gave you access to edit the web space and everything.

>

> Oh, that's not me but another guy who wanted to help. I've seen him on

> the Freedomain Radio forum. My name is Martti Malmi and my Sourceforge

> account is sirius-m. No problem!

>

> Thanks for your answered questions, I'll add them to the faq. Here's

> what I've done so far:

>

> ** Bitcoin FAQ **

>

> General Questions

>

> 1 What is bitcoin?

>

> Bitcoin is a peer-to-peer network based anonymous digital

> currency. Peer-to-peer (P2P) means that there is no central

> authority to issue new money or to keep track of the

> transactions. Instead, those tasks are managed collectively by

> the nodes of the network. Anonymity means that the real world

> identity of the parties of a transaction can be kept hidden from

> the public or even from the parties themselves.

>

> 2 How does bitcoin work?

>

> Bitcoin utilizes public/private key cryptography. When a coin is

> transfered from user A to user B, A adds B's public key to the

> coin and signs it with his own private key. Now B owns the coin

> and can transfer it further. To prevent A from transfering the

> already used coin to another user C, a public list of all the

> previous transactions is collectively maintained by the network

> of bitcoin nodes, and before each transaction the coin's

> unusedness will be checked.

>

> For details, see chapter Advanced Questions.

>

> 3 What is bitcoin's value backed by?

>

> Bitcoin is valued for the things it can be exchanged to, just

> like all the traditional paper currencies are.

>

> When the first user publicly announces that he will make a pizza

> for anyone who gives him a hundred bitcoins, then he can use

> bitcoins as payment to some extent - as much as people want pizza

> and trust his announcement. A pizza-eating hairdresser who trusts

> him as a friend might then announce that she starts accepting

> bitcoins as payment for fancy haircuts, and the value of the

> bitcoin would be higher - now you could buy pizzas and haircuts

> with them. When bitcoins have become accepted widely enough, he

> could retire from his pizza business and still be able to use his

> bitcoin-savings.

>

> 4 How are new bitcoins created?

>

> New coins are generated by a network node each time it finds the

> solution to a certain calculational problem. In the first 4 years

> of the bitcoin network, amount X of coins will be created. The

> amount is halved each 4 years, so it will be X/2 after 4 years,

> X/4 after 8 years and so on. Thus the total number of coins will

> approach 2X.

>

> 5 Is bitcoin safe?

>

> Yes, as long as you make backups of your coin keys, protect them

> with strong passwords and keep keyloggers away from your

> computer. If you lose your key or if some unknown attacker

> manages to unlock it, there's no way to get your coins back. If

> you have a large amount of coins, it is recommended to distribute

> them under several keys. You propably wouldn't either keep all

> your dollars or euros as paper in a single wallet and leave it

> unguarded.

>

> 6 Why should I use bitcoin?

>

> • Transfer money easily through the internet, without having to

> trust third parties.

>

> • Third parties can't prevent or control your transactions.

>

> • Be safe from the unfair monetary policies of the monopolistic

> central banks and the other risks of centralized power over a

> money supply. The limited inflation of the bitcoin system's

> money supply is distributed evenly (by CPU power) throughout

> the network, not monopolized to a banking elite.

>

> • Bitcoin's value is likely to increase as the growth of the

> bitcoin economy exceeds the inflation rate - consider bitcoin

> an investment and start running a node today!

>

> 7 Where can I get bitcoins?

>

> Find a bitcoin owner and sell her something - MMORPG equipement,

> IT support, lawn mowing, dollars or whatever you can trade with

> her. You can also generate new bitcoins for yourself by running a

> bitcoin network node.

>

Martii Malmi (AKA Sirius) “COPA trial” email #8

Date: Tue, 05 May 2009 18:39:44 +0100

From: Satoshi Nakamoto <satoshin@gmx.com>

Subject: Re: Bitcoin

To: mmalmi@cc.hut.fi

mmalmi@cc.hut.fi wrote:

>> You can create whatever you want on bitcoin.sourceforge.net. Something

>> to get new users up to speed on what Bitcoin is and how to use it and

>> why, and clean and professional looking would help make it look well

>> established. The site at bitcoin.org was designed in a more

>> professorial style when I was presenting the design paper on the

>> Cryptography list, but we're moving on from that phase.

>

> Ok. Could you set the project MySQL database passwords so that I can set

> up a CMS on the site? I was thinking about WordPress, as it seems simple

> and well maintained. I need a password for the read/write account and

> one database (or the database admin pass to create it myself). This can

> be done somewhere in the project admin pages, I think.

They have Wordpress built in, you might not need to set up any database

stuff manually. I enabled the Wordpress feature and added you as an

admin, account sirius-m, e-mail sirius-m@users.sourceforge.net. I'm not

sure how it works out the password for access, maybe it's just based on

being logged in to sourceforge.

https://apps.sourceforge.net/wordpress/bitcoin/wp-admin/

They also have support for MediaWiki if you want it.

In case you still need it, here's the accounts and passwords for mysql.

# Access this project's databases over the Internet

https://apps.sourceforge.net/admin/Bitcoin

# Documentation: Guide to MySQL Database Services

http://p.sf.net/sourceforge/mysql

# Hostname: mysql-b (exactly as shown, with no domain suffix)

# Database name prefix: b244765_ -- i.e. "CREATE DATABASE b244765_myapp"

as your ADMIN user.

# RO user: b244765ro (SELECT)

# RW user: b244765rw (SELECT, INSERT, DELETE, UPDATE)

# ADMIN user: b244765admin (has RW account privileges, and CREATE, DROP,

ALTER, INDEX, LOCK TABLES)

# web-access URL: https://mysql-b.sourceforge.net/

passwords:

b244765ro EaG3nHLL

b244765rw sNKgyt4W

b244765admin Mz589ZKf

> ...the difference being, though, that not everyone can easily

> transfer their regular bank money into an uncontrollable location. In

> bitcoin anyone can do it.

That's true.

We shouldn't try to use security against identity theft as a selling

point, since it leads into these counter arguments. The current banking

model is already tested and the actual loss percentage is known. Even

if ours is probably better, it's an unknown, so people can imagine

anything. The uncertainty about what the average loss percentage will

be is greater than the likely loss percentage itself.

Martii Malmi (AKA Sirius) “COPA trial” email #11

Date: Thu, 07 May 2009 03:35:50 +0100

From: Satoshi Nakamoto <satoshin@gmx.com>

Subject: Re: Bitcoin

To: mmalmi@cc.hut.fi

It's already an improvement, and like you say, there must be better

themes to choose from.

It would be good to make the download link go directly to the download area:

https://sourceforge.net/project/showfiles.php?group_id=244765

I haven't found any way to gain admin control over the mediawiki

feature. It thinks I'm a different S_nakamoto from the one that has

admin access:

User list

  • S nakamoto <- it thinks I'm this one
  • S nakamoto ‎(admin, editor)
  • Sirius-m
  • I tried deleting and re-enabling the feature, no help. Oh well.

    mmalmi@cc.hut.fi wrote:

    > Quoting Satoshi Nakamoto <satoshin@gmx.com>:

    >

    >> They have Wordpress built in, you might not need to set up any database

    >> stuff manually.

    >>

    >> They also have support for MediaWiki if you want it.

    >

    > The built-in Wordpress comes with ads, and new plugins and themes need

    > to be installed by the Sourceforge staff, so I installed Wordpress at

    > http://bitcoin.sourceforge.net/. The admin page is at .../wp-admin/,

    > with admin/Wubreches3eS as login. If there's something to add or change,

    > feel free to.

    >

    > The current layout is just a quickly applied free theme, but I'll see if

    > I can do something more visual myself.

    >

    > The MediaWiki might be quite useful for maintaining the FAQ, which could

    > be retrieved from there to the main site somehow. The wiki says I need

    > to be an editor or admin to create a new page, which is funny, because

    > https://apps.sourceforge.net/mediawiki/bitcoin/index.php?title=Special:ListGroupRights

    > says that users can create pages.

    Martii Malmi (AKA Sirius) “COPA trial” email #15

    Date: Sun, 24 May 2009 23:03:38 +0100

    From: Satoshi Nakamoto <satoshin@gmx.com>

    Subject: Re: Bitcoin

    To: mmalmi@cc.hut.fi

    You're right, that was it. I went in and granted us access using the

    alternate account.

    I like your idea of at least moving the FAQ into the wiki. I've seen

    other projects that use the wiki for the FAQ or even the whole site. If

    you can figure out how to make it so regular users can edit things, then

    anyone who wants to can help.

    mmalmi@cc.hut.fi wrote:

    > Quoting mmalmi@cc.hut.fi:

    >

    >> Quoting mmalmi@cc.hut.fi:

    >>

    >>> Quoting Satoshi Nakamoto <satoshin@gmx.com>:

    >>>

    >>>> I haven't found any way to gain admin control over the mediawiki

    >>>> feature. It thinks I'm a different Snakamoto from the one that has_

    >>>> admin access:

    >>>> User list

    >>>> * S nakamoto <- it thinks I'm this one

    >>>> * S nakamoto ‎(admin, editor)

    >>>> * Sirius-m

    >>>>

    >>>> I tried deleting and re-enabling the feature, no help. Oh well.

    >>>

    >>> I think this has something to do with the underscore character in your

    >>> username; MediaWiki handles them as spaces. I could ask SF Support

    >>> about this.

    >>

    >> Or could you control the MediaWiki with your account nakamoto2?

    >

    > Oh, sorry for spamming with emails, but the problem is indeed with the

    > underscore character:

    > http://apps.sourceforge.net/trac/sourceforge/ticket/300

    >

    Martii Malmi (AKA Sirius) “COPA trial” email #19

    Date: Thu, 11 Jun 2009 22:24:25 +0100

    From: Satoshi Nakamoto <satoshin@gmx.com>

    Subject: Re: Bitcoin

    To: mmalmi@cc.hut.fi

    The site layout is looking nicer. More impressive looking.

    There are a lot of things you can say on the sourceforge site that I

    can't say on my own site. Even so, I'm uncomfortable with explicitly

    saying "consider it an investment". That's a dangerous thing to say and

    you should delete that bullet point. It's OK if they come to that

    conclusion on their own, but we can't pitch it as that.

    A few details: the FAQ says "see section 2.3", but the sections aren't

    numbered. Also, could you delete the last sentence on the FAQ "They are

    planned to be hidden in v0.1.6, since they're just confusing and

    annoying and there's no reason for users to have to see them." -- that's

    not really something I meant to say publicly.

    The links to sites to help set up 8333 port forwarding is great.

    favicon is a nice touch.

    Someone came up with the word "cryptocurrency"... maybe it's a word we

    should use when describing Bitcoin, do you like it?

    Sourceforge is so slow right now I can't even get the login page to

    load. Maybe due to the site reorg they just did. I'll keep trying and

    try to get you that logo stats thing.

    mmalmi@cc.hut.fi wrote:

    > Now that the project web is up and running, do you think that setting up

    > a custom VHOST for the bitcoin.org domain would be a good idea?

    > Instructions:

    > http://apps.sourceforge.net/trac/sourceforge/wiki/Custom%20VHOSTs

    >

    > Also, could you please send me a link to a SF Logo for statistics, as

    > instructed at:

    > http://apps.sourceforge.net/trac/sourceforge/wiki/Use%20of%20sflogo%20for%20statistics%20tracking

    >

    Martii Malmi (AKA Sirius) “COPA trial” email #21

    Date: Sun, 14 Jun 2009 21:30:58 +0100

    From: Satoshi Nakamoto <satoshin@gmx.com>

    Subject: Re: Bitcoin

    To: mmalmi@cc.hut.fi

    mmalmi@cc.hut.fi wrote:

    > I made the changes. You could also register to the site or use the admin

    > account to make necessary changes yourself, since the pages are located

    > in the wiki.

    Thanks, I've been really busy lately.

    I registered username "satoshi". Since there's no SSL login, I want to

    mainly use that account with sub-admin powers and use the admin account

    as little as possible. I created a "Moderators" group to give my

    satoshi account as much editing control as possible without the ability

    to overthrow everything.

    There's something weird with the download bar on the right covering

    things up, like on the new account registration it covers up the entry

    fields unless you make the browser really wide, and the homepage it

    covers up the screenshots. (with Firefox)

    Martii Malmi (AKA Sirius) “COPA trial” email #24

    Date: Tue, 21 Jul 2009 04:14:43 +0100

    From: Satoshi Nakamoto <satoshin@gmx.com>

    Subject: Re: Bitcoin

    To: mmalmi@cc.hut.fi

    I know this sounds really retarded, but I still haven't been able to get

    the sourceforge login page to load, so I haven't been able to read it

    either. https://sourceforge.net/account/login.php

    Hal isn't currently actively involved. He helped me a lot defending the

    design on the Cryptography list, and with initial testing when it was

    first released. He carried this torch years ago with his Reusable Proof

    Of Work (RPOW).

    I'm not going to be much help right now either, pretty busy with work,

    and need a break from it after 18 months development.

    It would help if there was something for people to use it for. We need

    an application to bootstrap it. Any ideas?

    There are donors I can tap if we come up with something that needs

    funding, but they want to be anonymous, which makes it hard to actually

    do anything with it.

    mmalmi@cc.hut.fi wrote:

    > Hi,

    >

    > I made a post on the Bitcoin developer's forum at SF about a month ago

    > and sent you, David and Hal a notification about it to your

    > users.sourceforge.net emails. A few days ago I wondered why no one had

    > replied, and tried if the SF mail aliases even work - and they didn't,

    > at least in the case of my account. So could you please forward this

    > message to the others?

    >

    > Best regards,

    > sirius-m

    >

    Martii Malmi (AKA Sirius) “COPA trial” email #28

    Date: Mon, 24 Aug 2009 23:00:35 +0100

    From: Satoshi Nakamoto <satoshin@gmx.com>

    Subject: Re: Bitcoin

    To: mmalmi@cc.hut.fi

    That's a good point that since you know how many coins exist and how

    fast new ones are created, you could set a support price based on the

    amount of legacy currency you have and be sure you'll have enough to

    meet all demands. I had imagined an auction, but it would be far

    simpler and more confidence inspiring to back it at a specific exchange

    rate.

    Offering currency to back bitcoins would attract freebie seekers, with

    the benefit of attracting a lot of publicity. At first it would mostly

    be seen as a way to get free money for your computer's idle time. Maybe

    pitched like help support the future of e-commerce and get a little

    money for your computer's spare cycles. As people cash in and actually

    get paid, word would spread exponentially.

    It might help to keep the minimum transaction size above an amount which

    a typical user would be able to accumulate with one computer, so that

    users have to trade with each other for someone to collect enough to

    cash in. Aggregators would set up shop to buy bitcoins in smaller

    increments, which would add confidence in users ability to sell bitcoins

    if there are more available buyers than just you.

    People would obviously be sceptical at first that the backing will hold

    up against an onslaught of people trying to get the free money, but as

    the competition raises the proof-of-work difficulty, it should become

    clear that bitcoins stay scarce. People will see that they can't just

    get all the bitcoins they want. It would establish a minimum value

    under bitcoins enabling them to be used for other purposes if,

    hopefully, other purposes are waiting for something to use.

    >> It would help if there was something for people to use it for. We need

    >> an application to bootstrap it. Any ideas?

    >

    > I've been thinking about a currency exchange service that sells and

    > buys bitcoins for euros and other currencies. Direct exchangeability

    > to an existing currency would give bitcoin the best possible initial

    > liquidity and thus the best adoptability for new users. Everyone

    > accepts payment in coins that are easily exchangeable for common

    > money, but not everyone accepts payment in coins that are only

    > guaranteed to buy a specific kind of a product.

    That would be more powerful if there was also some narrow product market

    to use it for. Some virtual currencies like Tencent's Q coin have made

    headway with virtual goods. It would be sweet if there was some way to

    horn in on a market like that as the official virtual currency gets

    clamped down on with limitations. Not saying it can't work without

    something, but a ready specific transaction need that it fills would

    increase the certainty of success.

    > At its simplest this exchange service could be a website where

    > traders, who can be individual persons, can post their rates, and

    > random users can leave trade requests. Some kind of an average rate

    > estimate could be shown on the site. Small-scale trading by

    > individuals would be outside legal hassle in most countries, and

    > putting all the eggs in the same basket would be avoided.

    Basically like an eBay site with user reviews to try to establish which

    sellers can be trusted. The escrow feature will help but not solve

    everything. It would be far more work to set up such a site than just

    to set up a single exchange site of your own, and there won't be enough

    users to make it go until later. I'm thinking it wouldn't make sense to

    make an eBay type site until later.

    > Another idea, which could be additional to the previous one, would be

    > an automated exchange service. The service would automatically

    > calculate the exchange rate and perform the transactions. This would

    > be nicer to the user: completion of the transaction request would be

    > certain and instantaneous. Making this service might actually be quite

    > easy if there was a command line interface to Bitcoin: just take any

    > web application framework and use PayPal back-end integration to

    > automatically send euros when Bitcoins are received, and vice versa.

    > This kind of business would also work great on larger scale if you set

    > up a company and take care of all the bureaucracy needed to practice

    > currency exchange. (I actually have a registered company that I've

    > used for billing of some IT work, I could use that as a base.)

    Even if you had automation, you'd probably want to review orders

    manually before processing them anyway. It wouldn't be hard to process

    orders by hand, especially at first. You could always set a minimum

    order size to keep orders more infrequent.

    > This exchange business thing is something that I'd be interested in

    > doing, and I also have the sufficient technical skills to do it.

    > Although, before this can be done, there should be a non-alpha version

    > of Bitcoin (and the command line interface / API).

    >

    > If this gets started, donors / high-risk investors would be very

    > welcome to bring capital for the currency's backup.

    >

    > So, what do you think about the idea? Note that this is not something

    > that I'm asking you to do (unless you want to) if you're busy with

    > other things. I can do it myself, if I get positive reviews about the

    > plan.

    That's great, I could probably get a donor to send currency to you which

    you convert to euros and pay out through methods that are convenient for

    users. I don't want to do an exchange business myself, but it can be

    done independently of me. Like you say, there is more software

    development to be done first, and also I'd like to keep trying for a

    while to think of a bootstrap application to use bitcoins for. I've had

    some ideas that could only be done before an exchange exists.

    BTW, I tried to buy bitcoin.com before I started but there was no

    chance, it's owned by a professional domain speculator. It's normal for

    open source projects to have .org so it's not so bad.

    Martii Malmi (AKA Sirius) “COPA trial” email #29

    Date: Mon, 24 Aug 2009 23:04:25 +0100

    From: Satoshi Nakamoto <satoshin@gmx.com>

    Subject: Re: Bitcoin

    To: mmalmi@cc.hut.fi

    Glad that worked, it's a pain that the dependencies are so big and hard

    to build. Some of them give little attention to the Windows build.

    Next time I update to the latest versions, maybe I'll lay everything out

    in one directory tree and bundle the whole thing up into a giant archive.

    I'm not sure they had wxPack before. I'm glad they got that so everyone

    doesn't have to build wxWidgets themselves. OpenSSL is the harder one

    to build.

    I reduced the EXE size by running strip.exe on it to take out the debug

    symbols. That's with mingw. That's the better compiler, I only used VC

    for debugging.

    mmalmi@cc.hut.fi wrote:

    > I got it compile with MinGW + MSYS when I used wxPack instead of just

    > wxWidgets. Maybe wxAdditions was required. The bitcoin.exe filesize was

    > 52MB though, I should see how that can be fixed.

    >

    > Next I'm going to implement the "minimize to tray" feature and the

    > option to autostart Bitcoin with Windows, so the number of nodes online

    > would stay higher. After that I could see if I can do a Linux port or

    > the command line interface needed for web app frameworks.

    >

    > Drop by at #bitcoin-dev on FreeNode some time if you use IRC.

    >

    > And again, thanks for the great work you've done with Bitcoin.

    >

    > Quote mmalmi@cc.hut.fi:

    >

    >> I've had quite a few errors coming up when trying to build the

    >> third-party libraries and adding them to the Bitcoin build. Do you

    >> happen to have a ready-to-build package that you could upload to the

    >> CVS or somewhere else? I use mingw + msys, but I guess I could try

    >> Visual C++ also, if it's easier that way.

    >

    Martii Malmi (AKA Sirius) “COPA trial” email #31

    Date: Sat, 29 Aug 2009 18:31:05 +0100

    From: Satoshi Nakamoto <satoshin@gmx.com>

    Subject: Re: Bitcoin

    To: mmalmi@cc.hut.fi

    > Next I'm going to implement the "minimize to tray" feature and the

    > option to autostart Bitcoin with Windows, so the number of nodes online

    > would stay higher.

    Now that I think about it, you've put your finger on the most important

    missing feature right now that would make an order of magnitude

    difference in the number of nodes. Without auto-run, we'll almost never

    retain nodes after an initial tryout interest. Auto-running as a

    minimized tray icon by default was the key to success for the early file

    sharing networks. It wouldn't have been appropriate for v0.1.0 when

    stability wasn't a given yet, but now it's good and stable. This is a

    must-have feature for the next release so any users that come back to

    try the new version we hopefully retain this time.

    I think the most user friendly way of doing auto-run is putting an icon

    in the Startup folder. I see OpenOffice.org and a number of other

    things on my computer do it that way. The other way, creating a runas

    registry entry, is not easily visible or editable by users, I've never

    liked that much. I guess what we want is an auto-run option that's on

    by default, if the option is changed then it creates or deletes the

    startup icon.

    While it's tempting to do a Linux port, once we do it we have that extra

    work with every release from then on. I'd rather put it off a while

    longer. Auto-run might give us 300% more nodes while Linux might give

    us 3% more. Linux would help server farms, but actually we'd like to

    favour individual users. Someone reported that it works fine in WinE.

    Martii Malmi (AKA Sirius) “COPA trial” email #33

    Date: Wed, 30 Sep 2009 19:12:29 +0100

    From: Satoshi Nakamoto <satoshin@gmx.com>

    Subject: Re: Bitcoin

    To: mmalmi@cc.hut.fi

    That's great, that's a good step forward.

    Yes, I worked out the sourceforge login problem, it was some tricky

    thing on the login page that exposed a quirky bug in a browser add-in.

    mmalmi@cc.hut.fi wrote:

    > Just for information: I committed my working copy to the svn/branches.

    > There's the minimize to tray feature and some other changes. It's nicer

    > to run in the background now, but it's still incomplete and I'm working

    > on it. The bugs are listed in bugs.txt.

    >

    > Did you get your Sourceforge account work yet?

    >

    Martii Malmi (AKA Sirius) “COPA trial” email #35

    Date: Fri, 16 Oct 2009 19:41:40 +0100

    From: Satoshi Nakamoto <satoshin@gmx.com>

    Subject: Re: Setup, Autorun, v0.1.6

    To: mmalmi@cc.hut.fi

    Thanks for that. I'm still merging in some changes I had that need to

    go in before any next release. Some things based on questions and

    feedback I've received that'll reduce confusion. I'll probably enable

    multi-proc generating support, and hopefully make it safe to just backup

    wallet.dat to backup your money. It's good to be coding again!

    I'm going to hide the transaction fee setting, which is completely not

    needed and only serves to confuse people. It was only there for testing

    and demonstration of a technical detail that can only be needed in the

    far away future, if ever, but was necessary to implement at the

    beginning to make it possible later.

    What was the problem with the shortcut in the startup folder? If you

    could send me the code, I'd like to take another look and see if I can

    see what the problem was. The first strcat in the registry code should

    be strcpy, otherwise it would fail intermittently. If the same code was

    in the shortcut one, maybe that was the problem.

    It's encouraging to see more people taking an interest such as that

    NewLibertyStandard site. I like his approach to estimating the value

    based on electricity. It's educational to see what explanations people

    adopt. They may help discover a simplified way of understanding it that

    makes it more accessible to the masses. Many complex concepts in the

    world have a simplistic explanation that satisfies 80% of people, and a

    complete explanation that satisfies the other 20% who see the flaws in

    the simplistic explanation.

    mmalmi@cc.hut.fi wrote:

    > I made a Windows installer for the latest version of Bitcoin, which

    > includes the autostart and minimize to tray features. The installer

    > makes a start menu shortcut and a startup registry entry. I first

    > implemented the autostart with a shortcut to the startup folder, but I

    > found out that it doesn't always work by default and ended up doing it

    > with a registry entry. The registry entry is removed by the uninstaller

    > and can be also disabled from the options menu, so I don't think it's

    > such a big menace to the user after all.

    >

    > I made the installer with NSIS, and the nsi script can be found in the SVN.

    >

    > Could you add the installer to the SF download page? Here's the file:

    > http://bitcoin.sourceforge.net/uploads/Bitcoinsetup.exe_

    >

    > There are some new users registered to the bitcoin.sf.net site. One of

    > them just announced that he's trading Bitcoins for dollars. Here's his

    > site: http://newlibertystandard.wetpaint.com/. Making an exchange

    > service first seemed a bit premature for the time being, but on the

    > other hand it's good that people show interest towards the project, and

    > this might attract even more interested people (and hopefully more

    > developers). I just sent the guy an email.

    >

    Martii Malmi (AKA Sirius) “COPA trial” email #36

    Date: Sun, 18 Oct 2009 18:59:42 +0100

    From: Satoshi Nakamoto <satoshin@gmx.com>

    Subject: Re: Setup, Autorun, v0.1.6

    To: Martti Malmi <mmalmi@cc.hut.fi>

    I got it, I see you checked in the startup folder code before changing

    it to registry. I don't see any visible problems in the code. I guess

    it depends what exactly the problem was with it not always working by

    default. Was there a Vista/UAC security problem?

    Martii Malmi (AKA Sirius) “COPA trial” email #38

    Date: Mon, 19 Oct 2009 00:11:50 +0100

    From: Satoshi Nakamoto <satoshin@gmx.com>

    Subject: Re: Setup, Autorun, v0.1.6

    To: mmalmi@cc.hut.fi

    It's possible Bitcoin ran and bailed out because something was wrong.

    debug.log should tell something if that was the case. What OS are you

    using? I wonder if we need Admin privilege and don't realize it. Stuff

    that requires Admin can't start on startup on Vista.

    Program shortcuts have multiple tabs of settings with lots of little

    details. I'll try the startup folder code and see if I can reproduce

    the problem. Every other systray icon on my computer is in the startup

    folder, and it makes it easy for users to manage all their autoruns in

    one place. The things in the registry key tend to be devious hidden

    bloatware.

    I implemented the code to flush wallet.dat whenever it's closed so we'll

    be able to tell users they only need to backup wallet.dat. You can

    restore just wallet.dat and it'll re-download the rest. I'll have to do

    another stress test before release.

    mmalmi@cc.hut.fi wrote:

    > Well, the code worked and made a shortcut in the startup folder. For

    > some reason it didn't automatically start when booting, but worked fine

    > when you clicked on it in the menu. Now I tried making a shortcut

    > manually, and this time it works on autostart, don't know why. I could

    > try again with the older code.

    >

    >> I got it, I see you checked in the startup folder code before changing

    >> it to registry. I don't see any visible problems in the code. I guess

    >> it depends what exactly the problem was with it not always working by

    >> default. Was there a Vista/UAC security problem?

    >>

    Martii Malmi (AKA Sirius) “COPA trial” email #40

    Date: Wed, 21 Oct 2009 18:58:49 +0100

    From: Satoshi Nakamoto <satoshin@gmx.com>

    Subject: Re: Setup, Autorun, v0.1.6

    To: mmalmi@cc.hut.fi

    Yeah, I put back your startup folder shortcut code and it started fine

    for me too on XP and Vista. For good measure, I changed it to make the

    shortcut settings look identical to one I manually created. I set the

    working directory to where the EXE is since that's where debug.log is

    created, otherwise windows puts it in some weird directory. I didn't

    change the setup script yet.

    I checked everything in to SVN (thanks for setting that up)

    - multi-proc generate

    - flush wallet.dat after every change so the DB doesn't leave that stuff

    in the transaction logs

    - view menu checkbox to hide all generated coins so you can see just

    your payment transactions

    - disabled transaction fee option

    - made the minimize to tray options similar to Firefox's MinimizeToTray

    - bunch of other misc changes since the 0.1.5 release

    I made it not show non-accepted generated coins. It won't show

    generated coins until they have at least one confirmation (one block

    linked after it), so usually they'll just never be seen. Occasionally a

    generated coin that was displayed might disappear because it became not

    accepted later. I don't think anyone would notice the occasional

    non-accepteds if we didn't point them out in the UI. People have told

    me they find it annoying to have to look at them, as they're permanently

    displayed in the transaction record.

    I still have more testing to do. I guess we gotta test Windows 7 now.

    mmalmi@cc.hut.fi wrote:

    >> It's possible Bitcoin ran and bailed out because something was wrong.

    >> debug.log should tell something if that was the case. What OS are you

    >> using? I wonder if we need Admin privilege and don't realize it.

    >> Stuff that requires Admin can't start on startup on Vista.

    >

    > I'm using XP. I recompiled the older revision and this time the startup

    > shortcut works. It also works when testing on Vista (non-admin). Maybe I

    > just missed something the previous time.

    >

    >> Program shortcuts have multiple tabs of settings with lots of little

    >> details. I'll try the startup folder code and see if I can reproduce

    >> the problem. Every other systray icon on my computer is in the startup

    >> folder, and it makes it easy for users to manage all their autoruns in

    >> one place. The things in the registry key tend to be devious hidden

    >> bloatware.

    >

    > Here it's the other way around, I have all my startup programs in the

    > registry. But maybe the shortcut method is nicer for the user, if it

    > works just as well

    >

    Martii Malmi (AKA Sirius) “COPA trial” email #41

    Date: Sat, 24 Oct 2009 00:55:06 +0100

    From: Satoshi Nakamoto <satoshin@gmx.com>

    Subject: Re: [bitcoin-list] Does Bitcoin Crash in Windows?

    To: Liberty Standard <newlibertystandard@gmail.com>

    Cc: bitcoin-list@lists.sourceforge.net

    Liberty Standard wrote:

    > Do you Windows users experience occasional Bitcoin crashes?

    > Lately Bitcoin running in wine-1.0.1 has been crashing frequently. I was

    > just wondering whether this is a Wine issue or a Bitcoin issue.

    I haven't had any reports of crashes in v0.1.5. It's been rock solid

    for me on Windows. I think it must be Wine related. If you get another

    crash in Wine and it prints anything on the terminal, e-mail me and I

    may be able to figure out what happened, maybe something I can work

    around. Martti and I have been working on a new version to release soon

    and it would be nice to get any Wine fixes in there.

    > The following four lines print from the terminal when I start Bitcoin.

    > fixme:toolhelp:CreateToolhelp32Snapshot Unimplemented: heap list snapshot

    > fixme:toolhelp:Heap32ListFirst : stub

    > fixme:toolhelp:CreateToolhelp32Snapshot Unimplemented: heap list snapshot

    > fixme:toolhelp:Heap32ListFirst : stub

    Those don't look like anything to worry about. Probably functions

    unimplemented by Wine that are harmlessly stubbed out.

    > I previously wasn't starting Bitcoin from the terminal, so I don't know what

    > gets printed out when it crashes, but I'll reply with the results the next

    > time it crashes.

    >

    > While Bitcoin first downloads previously completed blocks, the file

    > debug.log grows grows to 17.4 MB and then stops growing. I imagine it will

    > continue to grow as more bitcoins are completed.

    You can delete debug.log occasionally if you don't want to take the disk

    space. It's just status messages that help with debugging.

    bitcoin.sourceforge.net looks fine now. Maybe sourceforge was doing

    some maintenance.

    Satoshi

    Martii Malmi (AKA Sirius) “COPA trial” email #42

    Date: Mon, 26 Oct 2009 17:50:10 +0000

    From: Satoshi Nakamoto <satoshin@gmx.com>

    Subject: Fw: bitcoin.sourceforge.net

    To: Martti Malmi <mmalmi@cc.hut.fi>

    Any idea what's going on with it? Every time I look, it's fine.

    Eugen Leitl wrote:

    On Sat, Oct 24, 2009 at 12:55:06AM +0100, Satoshi Nakamoto wrote:

    > > bitcoin.sourceforge.net looks fine now. Maybe sourceforge was doing

    Doesn't work right now.

    > > some maintenance.

    Liberty Standard wrote:

    > In case you weren't aware, the Bitcoin website is down.

    >

    > http://bitcoin.sourceforge.net/

    >

    Martii Malmi (AKA Sirius) “COPA trial” email #44

    Date: Tue, 27 Oct 2009 04:45:47 +0000

    From: Satoshi Nakamoto <satoshin@gmx.com>

    Subject: Re: Fw: bitcoin.sourceforge.net

    To: mmalmi@cc.hut.fi

    Sourceforge is just so darn slow. I don't know what else to do though.

    It's such a standard, more often than not any given project has a

    projectname.sourceforge.net site. When I see whatever.sourceforge.net

    in a google search, I assume that's the official site.

    Is there a way to make Bitweaver allow users to edit (and maybe delete)

    their own messages in the forum?

    Getting antsy to port to Linux? It's not a decision to be taken lightly

    because once it's done, it doubles my testing and building workload.

    Although I am worried about Liberty's Wine crashes.

    I've tried to be as portable as possible and use standard C stuff

    instead of Windows calls. The threading is _beginthread which is part

    of the standard C library. wxWidgets has wxCriticalSection stuff we can

    use. The sockets code is send/recv stuff which I think is the same as

    unix because Microsoft ported sockets from BSD. We need direct control

    over sockets, it wouldn't be a good idea to get behind an abstraction

    layer. wxWidgets is a good place to look for cross-platform support

    functions. I want to avoid #ifdefing up the code if we can. Anything

    that's used more than once probably becomes a function in util.cpp that

    has the #ifdef in it.

    BTW, I have a lot of uncommitted changes right now because it includes

    some crucial protocol transitions that can't be unleashed on the network

    until I've tested the heck out of it. It shouldn't be too much longer.

    Can you make the setup uninstall the Startup folder icon? I figure it

    should install and uninstall an icon in a regular program group, and

    just uninstall the Startup folder one. I guess it doesn't matter that

    much whether it installs and uninstalls the Startup folder icon or just

    uninstalls it.

    Martii Malmi (AKA Sirius) “COPA trial” email #46

    Date: Thu, 29 Oct 2009 02:05:30 +0000

    From: Satoshi Nakamoto <satoshin@gmx.com>

    Subject: Re: Fw: bitcoin.sourceforge.net

    To: mmalmi@cc.hut.fi

    I'll convert the CriticalSection code to wxCriticalSection and upload it

    to SVN (it's a little tricky). I don't know what to do for

    TryEnterCriticalSection though. I think I'm almost ready to check

    everything in.

    You're probably right, it's about time to do a linux build. I've been

    working on getting my linux machine set up and building the dependencies.

    > Ok. I replaced the Windows thread and socket library includes with their

    > POSIX equivalents, and now it only gives a few errors, mostly from the

    > CriticalSections. If I make it work, I'll put it into svn/branches, it

    > doesn't need to be an official release yet.

    Martii Malmi (AKA Sirius) “COPA trial” email #48

    Date: Thu, 29 Oct 2009 06:38:30 +0000

    From: Satoshi Nakamoto <satoshin@gmx.com>

    Subject: Re: Linux build

    To: mmalmi@cc.hut.fi

    The easy solution I took was to look at the wxWidgets source code and

    see how they did it. They just mapped it to wxMutex on non-MSW, which

    does have TryEnter, so that mapped in perfectly.

    I checked in all my backlog of changes to SVN, including the overhaul of

    CCriticalSection in util.h and OpenSSL's mutex callback in util.cpp to

    do everything with wxWidgets when not on Windows.

    If we get it working on Linux, I'll run my test suite against it here

    off-network first, then we can give an unreleased build to

    LibertyStandard to test for a while before going public.

    Martii Malmi (AKA Sirius) “COPA trial” email #49

    Date: Fri, 30 Oct 2009 01:05:45 +0000

    From: Satoshi Nakamoto <satoshin@gmx.com>

    Subject: Re: Linux build

    To: Martti Malmi <mmalmi@cc.hut.fi>

    I fixed some non-portable stuff I came across:

    QueryPerformanceCounter

    %I64d in printf format strings

    Sleep

    CheckDiskSpace

    If there's any other unportable stuff you know of I should fix, let me know.

    I think I'll move debug.log and db.log into the same directory as the

    data files (%appdata%\Bitcoin), rather than whatever the current

    directory happens to be.

    Martii Malmi (AKA Sirius) “COPA trial” email #51

    Date: Sat, 31 Oct 2009 20:09:58 +0000

    From: Satoshi Nakamoto <satoshin@gmx.com>

    Subject: Re: Linux build

    To: mmalmi@cc.hut.fi

    heapchk() is just a MSVCRT debugging thing that's not being used. It

    can be a no-op on Linux. OpenSSL automatically uses /dev/urandom to

    seed on Linux, so RandAddSeedPerfmon can also be a no-op.

    Don't let it connect to the network before we've tested it thoroughly

    off-net. If you have two computers, unplug the internet and use

    "bitcoin -connect=<ip>" to connect to each other, one windows and one

    linux. -connect will allow you to connect to non-routable addresses

    like 192.168.x.x. We don't want to reflect badly on the reliability of

    the network if it throws off some malformed crud we hadn't thought to

    check for yet, or discovers something else anti-social to do on the network.

    I have time that I can do some testing when you've got something

    buildable to test. I can include it in the stress test I'm currently

    running on the changes so far.

    mmalmi@cc.hut.fi wrote:

    > I made an #ifdef to replace QueryPerformanceCounter with Linux's

    > gettimeofday in util.h. Some Unicode/ANSI errors were resolved without

    > code changes when I updated to wxWidgets 2.9. The only compile error I'm

    > getting in Linux at the moment is from heapchk() in util.h.

    >

    >> I fixed some non-portable stuff I came across:

    >> QueryPerformanceCounter

    >> %I64d in printf format strings

    >> Sleep

    >> CheckDiskSpace

    >>

    >> If there's any other unportable stuff you know of I should fix, let me

    >> know.

    >>

    >> I think I'll move debug.log and db.log into the same directory as the

    >> data files (%appdata%\Bitcoin), rather than whatever the current

    >> directory happens to be.

    >

    Martii Malmi (AKA Sirius) “COPA trial” email #53

    Date: Tue, 03 Nov 2009 15:53:25 +0000

    From: Satoshi Nakamoto <satoshin@gmx.com>

    Subject: Re: Linux build, proxy

    To: mmalmi@cc.hut.fi

    Great, I've been looking forward to working on the Linux build.

    If you connect to Freenode's hidden service, then they tell you they've

    also banned TOR from that due to abuse and it kicks you off. There's a

    several step procedure you can do to run a password utility on unix and

    e-mail request an account that you could login with, but that's getting

    pretty complicated. I wonder if we could get away with applying for one

    account and then everyone use the same account? I suppose the IRC

    server probably limits accounts to one login, or some admin might not

    like to see a dozen logins on the same account.

    Besides the IRC part, how did your test of proxy go? Since you've been

    connected before, your addr.dat contains known node addresses, but

    without IRC to know which ones are online, it takes a long time to find

    them. There are normally 1 to 3 other nodes besides you that can accept

    incoming connections, and existing nodes that already know you would

    eventually connect to you. How many connections did you get, and how

    long did it take? I guess to know whether it successfully connected

    outbound through TOR you'd need to search debug.log for "connected".

    To originally connect with TOR without connecting normally once to get

    seeded, you'd have to know the address of an existing node that can

    accept incoming connections and seed it like this:

    bitcoin -proxy=127.0.0.1:9050 -addnode=<ip of a node>

    If some nodes that accept incoming connects were willing to have their

    IP coded into the program, it could seed automatically. Or some IP seed

    addresses posted on a Wiki page with the instructions.

    Another option is to search the world again for an IRC server that

    doesn't ban TOR nodes. Or if we could get someone to set one up. IRC

    servers ban TOR because they have actual text chat on them... if there

    was one with just bots and junk then it wouldn't care. Probably should

    post a question on the forum or the mailing list and see if anyone knows

    one.

    Another problem is that TOR users can't accept incoming connections, and

    we have so few that can. If everyone goes to TOR, there won't be any

    nodes to connect to.

    We have a shortage of nodes that can accept incoming connections. It

    generally ranges from 2 to 4 lately. We need to emphasize the

    importance to people of setting up port forwarding on their router.

    Every P2P file sharing program has instructions how to do it. We should

    have a paragraph on the bitcoin.sourceforge.net homepage urging people

    to set up port forwarding to accept incoming connections, and a link to

    a site that describes how to do it for each router.

    mmalmi@cc.hut.fi wrote:

    > I uploaded what I've ported so far to the svn/branches. Util, script, db

    > and the headers compile fully now and net.cpp partially, so there's

    > still work to do.

    >

    _> beginthread doesn't have a direct Linux equivalent, so I used Boost

    > threads instead.

    >

    > I couldn't get connected using the Tor SOCKS proxy. That might be

    > because of the Freenode Tor policy which requires connecting to their

    > hidden service: http://freenode.net/ircservers.shtml#tor_

    >

    Martii Malmi (AKA Sirius) “COPA trial” email #54

    Date: Wed, 04 Nov 2009 05:38:17 +0000

    From: Satoshi Nakamoto <satoshin@gmx.com>

    Subject: Re: Linux build

    To: mmalmi@cc.hut.fi

    It was almost there. I fixed a few things and got it to finish

    compiling but I don't know the system libraries to link to so there's

    undefined references galore.

    I changed the makefile to look for things under /usr/local and in their

    default "make install" locations. I wrote what I did and switches I

    used in build-unix.txt. I'm currently using wxWidgets 2.8.9 for now

    because it's the same version as on Windows and I don't want to wonder

    if there's version change issues at the same time as platform change.

    2.8.10 or 2.9.0 are probably fine though. I went with the

    single-library compile of wxWidgets since we're linking to almost every

    library anyway.

    I added xpm files, which is what they use everywhere else but Windows

    instead of RC files. They're clever C files that define graphics in

    static arrays. The bitcoin icon has 5 different versions but I couldn't

    figure out how that works in xpm so I only put the biggest one. Maybe

    on GTK it scales it for you. I don't know if these are right or what,

    but they compile.

    mmalmi@cc.hut.fi wrote:

    > I uploaded what I've ported so far to the svn/branches. Util, script, db

    > and the headers compile fully now and net.cpp partially, so there's

    > still work to do.

    >

    _> beginthread doesn't have a direct Linux equivalent, so I used Boost

    > threads instead.

    >

    Martii Malmi (AKA Sirius) “COPA trial” email #55

    Date: Wed, 04 Nov 2009 20:38:03 +0000

    From: Satoshi Nakamoto <satoshin@gmx.com>

    Subject: Re: Linux build

    To: mmalmi@cc.hut.fi

    Just letting you know I'm still working on the Linux build so we don't

    duplicate work. I got it linked and ran it and working through runtime

    issues like getting it switched to load bitmaps from xpm instead of

    resources.

    There are debian packages available for some of the dependencies instead

    of having to compile them ourselves:

    apt-get install build-essential

    apt-get install libgtk2.0-dev

    apt-get install libssl-dev

    I need to see if Berkeley DB or Boost have packages.

    We'll shared-link OpenSSL, I'm pretty sure it's always preinstalled on

    Linux. GTK has to be shared linked. I'm not completely sure if it's

    preinstalled by default.


    No comments yet.