

Google announces bitcoinj: a bitcoin implementation in Java - nas
http://code.google.com/p/bitcoinj/
From the bitcoin.org forum: "Google is pleased to announce the release of BitCoinJ, an implementation of the BitCoin system in Java. You can get it here under the Apache 2 license."<p>I suspect this is maybe not Google the corporation but a Google employee using their 20% time.
======
three14
This comment is dead for some reason, but useful:

1 point by nas 52 minutes ago | link [dead]

From the bitcoin.org forum: "Google is pleased to announce the release of
BitCoinJ, an implementation of the BitCoin system in Java. You can get it here
under the Apache 2 license." I suspect this is maybe not Google the
corporation but a Google employee using their 20% time. Edit: I could be
wrong, according to the IRC chat, it is an "official" project:
[http://www.reddit.com/r/Bitcoin/comments/fyzhk/google_is_ple...](http://www.reddit.com/r/Bitcoin/comments/fyzhk/google_is_pleased_to_announce_the_release_of/)

~~~
naner
Chris DiBona replied below that it is just a 20% project.

~~~
kingkilr
You can tell because it doesn't have the Google label.

------
rmc
The only thing that makes this seem offical is that the email address of the
coder is "hearn@google.com", which AFAIK is only available to google
employees.

------
donpdonp
The author explains in the bitcoin forum that the library is his 20% project.

from <http://www.bitcoin.org/smf/index.php?topic=4236.0> "Google staff have
the ability to spend ~20% of their time on projects that interest them ...
standard process for open sourcing our code ... checked by our lawyers for
things like trademark/export compliance... This is why the code has our
copyright at the top.

This is not "official" in that it does not reflect some vast corporate master
plan, we are not about to start accepting BitCoins for AdWords, we have not
just dropped 200GHash/sec into the network and we are not going to fork the
block chain (to mention just a few of the theories I've seen floating
around)."

------
mcantelon
Is this an official Google project? Would be interesting to see Google Market
support Bitcoin...

~~~
cdibona
Nope, it's a 20% project of on of our engineers. Google has no intention that
I know of going further.

~~~
mike_esspe
Around 300 mhash/sec coming to our bitcoin mining pool are from several
Google's ips.

Is it another 20% project? :)

~~~
0x6763
A single ATI Radeon HD 5970 can do 600 mhash/sec. See
<https://en.bitcoin.it/wiki/Mining_hardware_comparison#AMD>

~~~
nas
He meant Ghash/sec. That's quite a few ATI cards. ;-)

------
cheez
I highly doubt this is official.

------
sgornick
A good discussion about Bitcoin from about a month ago:
<http://news.ycombinator.com/item?id=2200705>

------
pilif
seeing this packaged into a embeddable library really makes me want to do
something like flattr but just using bitcoins (and not taking a cut. this
would be just for fun)

bitcoins are essentially free to transfer in any amount, so you could easily
share 100% of what users are willing to contribute.

Also, this would allow the service to instantly transfer a percentage of
whatever a user has set aside, or even queue transfers up until coins are
available.

I really want to look into this now.

~~~
sgornick
You mean something just like: <http://www.YouTipIt.org> ? (add a tip badge on
your site and accept bitcoins)

Here's a site with a YouTipIt badge: <http://www.BitcoinMiner.com>

YouTipIt's fee is 0.01 BTC per tip, subtracted from the tip amount.

\-----

There's also a Hacker News / Reddit / Digg type of site, where you pay
bitcoins to post, vote, and reply. But then you earn from anyone who
subsequently votes or replies to your contributions. It's live now:
<http://www.witcoin.com>

~~~
khafra
Witcoin is fascinating; thanks for the link. But it seems like it could make
trolls very rich.

~~~
noagendamarket
Only if they are very good trolls :)

------
Tichy
A way to use BitCoin on AppEngine would be useful.

~~~
sgornick
Here are two Bitcoin sites that run on App Engine (though the Bitcoin wallet
is on an EC2 instance):

<https://www.clearcoin.com/>

<http://freebitcoins.appspot.com/>

\- <http://python.witcoin.com/p/152/Python-and-Bitcoin>

~~~
Tichy
I knew there are bitcoin app engine projects. It just would be nice to host
everything including the wallet on AppEngine. Since money is involved, would
be nice to not have too much administrator responsibility.

------
sp332
The mechanism in the BitCoin network for making sure that not too many
bitcoins are being made is to adapt the difficulty of making a new BitCoin
according to the average processing power available to the entire network over
the last 72 (?) hours. If Amazon or Google just dumped tens of thousands of
nodes into the BitCoin network for a couple days, they could conceivably make
more BitCoins than are "supposed" to be made, and own most of the currency for
themselves. The artificial scarcity might drive up the price, or everyone else
might just get bored and leave.

~~~
kiba
Wrong. It's every 2100 blocks. The difficulty adjust so that the rate of
bitcoin generation is always 300 bitcoin per hours. Also, it's not possible to
generate more than 21 million bitcoin.

Last time I heard, every 27 days, the hashrate of the network double, so it
become more expensive for big dudes to own more than half of the hashing power
of the network. Remember, the bulk of the computation machinery are ATI 5870
GPU farms, which are better than almost all the GPU out there for hashing.
Amazon doesn't have these GPUs, and I don't know if Google possess a GPU farm.

Read the FAQ at <https://en.bitcoin.it/wiki/FAQ>

~~~
tybris
It's funny that people are adopting BitCoin without any compelling evidence
that it is safe. All alarm bells should go off when you hear "security without
trust". I'm sure that if BitCoin will be taken seriously, Bruce Scheier will
be happy to cause the first decentralized currency crash.

There are many things you can do to rip apart a peer-to-peer network. You
start by generating a few million identities. Next, you start manipulating the
peer sampling mechanisms to surround nodes with evil peers and create groups
of evil peers ready to acknowledge transactions. Finally, you can convince
surrounded nodes of pretty much anything (e.g., that the network is far
smaller and younger than it actually is) unless they consult a trusted
authority claiming otherwise.

Of course, if you had a trusted authority you wouldn't have to go through all
this trouble and you could just let it sign a bunch of coins or even handle
the full transactions. It would be just like every other currency, and now you
know why.

By the way, anyone can rent a cheap, on-demand GPU farm from Amazon:
<http://aws.amazon.com/ec2/hpc-applications/>

~~~
kiba
_It's funny that people are adopting BitCoin without any compelling evidence
that it is safe. All alarm bells should go off when you hear "security without
trust". I'm sure that if BitCoin will be taken seriously, Bruce Scheier will
be happy to cause the first decentralized currency crash. There are many
things you can do to rip apart a peer-to-peer network. You start by generating
a few million identities. Next, you start manipulating the peer sampling
mechanisms to surround nodes with evil peers and create groups of evil peers
ready to acknowledge transactions. Finally, you can convince surrounded nodes
of pretty much anything (e.g., that the network is far smaller and younger
than it actually is) unless they consult a trusted authority claiming
otherwise._

The longest blockchain are accepted as the most authoritative. Unless the evil
peers are able to generate enough mining power, they can't discard
transactions.

While evil peers can refuse to transmit or rely transaction, it only took a
single peer to connect to the authentic network.

Also notes that the bitcoin network do not use any form of identities other
than IP addresses themselves. So the attackers would need access to million of
IP addresses to create that many evil nodes.

Perhaps with an attack, it will be possible to disrupt transactions in the
bitcoin network, but it will not be possible to steal money or make money
disappear. However, it would need to be very carefully planned and executed.

 _By the way, anyone can rent a cheap, on-demand GPU farm from
Amazon:<http://aws.amazon.com/ec2/hpc-applications/> _

<http://www.bitcoin.org/smf/index.php?topic=1795.0>

You seem to not have done the math yet.

~~~
tybris
_The longest blockchain are accepted as the most authoritative._

Why would the nodes be aware of the longest block chain?

 _Unless the evil peers are able to generate enough mining power, they can't
discard transactions._

Lets, for the sake of the argument, assume they don't. What makes you so sure
I can't make others do the work for me?

 _While evil peers can refuse to transmit or rely transaction, it only took a
single peer to connect to the authentic network._

How do you know it's authentic?

 _Also notes that the bitcoin network do not use any form of identities other
than IP addresses themselves. So the attackers would need access to million of
IP addresses to create that many evil nodes._

or 0.0000000000000000000000000000001% of the IPv6 pool ;-)

but actually, BitCount identities are public/private key pairs and you can
have them in an infinite amount:
<http://en.wikipedia.org/wiki/Bitcoin#Addresses>

Also: <http://www.bitcoin.org/wiki/doku.php?id=ip_address>

_You seem to not have done the math yet._

You seem to assume the value of BTC is not going to increase despite them
becoming increasingly hard to generate. Are you saying you expect bitcoin to
fail?

~~~
kiba
_Why would the nodes be aware of the longest block chain?_

You would need to control 100% of the network view of the node to fool the
node.

 _Lets, for the sake of the argument, assume they don't. What makes you so
sure I can't make others do the work for me?_

You would need to gain access to tons of PCs to take over the network. Not to
mention it get harder when the total hashing rate of the network continue to
increase. Even then, it will be very noticeable that somebody is attempting to
doublespend.

 _but actually, BitCount identities are public/private key pairs and you can
have them in an infinite amount._

That have nothing to do with P2P identities.

 _How do you know it's authentic?_

The longest blockchain is considered the most authentic.

 _Also:<http://www.bitcoin.org/wiki/doku.php?id=ip_address> _

IP transactions are depreciated and disabled by default. They are also known
to be insecure.

 _You seem to assume the value of BTC is not going to increase despite them
becoming increasingly hard to generate. Are you saying you expect bitcoin to
fail?_

I acknowledge that Amazon could be profitable, but they are certainly worser
option compared to buying ATI 5790s.

------
geuis
Isn't the full block chain required? When your by client connects to peers, I
thought it needed the full chain for verification?

~~~
nas
I'm not sure but a Merkle tree is used so that the amount of data downloaded
by a pure client is much smaller than what a full bitcoin node needs to
download. This Java implementation would be well suited to an Android phone.

------
mkramlich
The Google connection is interesting. Because Bitcoin's greatest weakness is
that the integrity of the system can be subverted by a malevolent participant
who has enough computing nodes to make up the majority of computing power. Not
that I'm saying Google would do this. Or that Google couldn't do this if they
just used the main C++ implementation. It was just an interesting coincidence
because when one thinks of entities that might have massive computing power at
their disposal, things like various major national governments (the US NSA,
China, etc.), or companies like Google and Amazon, come to mind.

