Bitcoin Forum
April 23, 2024, 05:09:37 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [30] 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 »
581  Bitcoin / Development & Technical Discussion / Re: Unable to decode output address - Non Standard Transaction on: December 14, 2012, 02:46:39 PM
I know that output 0 of transaction cdb553214a51ef8d4393b96a185ebbbc2c84b7014e9497fea8aec1ff990dae35 was already claimed, but this post triggered me to experiment with manually constructing transactions.

Here is a piece of code that uses bitlib and bccapi to build the exact same transaction:
http://code.google.com/p/bccapi/source/browse/trunk/bccapi/src/com/bccapi/ng/example/CustomBuiltTransaction.java

Here is the gist:
   public static void main(String[] args) throws ScriptParsingException, MalformedURLException, ApiException {
      // Build transaction input
      Sha256Hash txHash = new Sha256Hash(
            HexUtils.toBytes("cdb553214a51ef8d4393b96a185ebbbc2c84b7014e9497fea8aec1ff990dae35"));
      OutPoint outPoint = new OutPoint(txHash, 0);
      ScriptInput si = ScriptInput.fromScriptBytes(new byte[] { 1, Script.OP_FALSE, Script.OP_DROP });
      TransactionInput ti = new TransactionInput(outPoint, si);

      // Build transaction output
      Address receiver = Address.fromString("1LqTjBzMRdXQqXpRQo1zDYRiUobAVS55Lo", NetworkParameters.productionNetwork);
      ScriptOutput so = new ScriptOutputStandard(receiver.getTypeSpecificBytes());
      TransactionOutput to = new TransactionOutput(99950000, so);

      // Build transaction
      Transaction tx = new Transaction(1, new TransactionInput[] { ti }, new TransactionOutput[] { to }, 0);
      System.out.println("Our transaction hash: " + tx.getHash().toString());

      // Broadcast transaction (here we depend on the BCCAPI server, you can use
      // whatever API you like for this)
      URL url = new URL("http://bqs1.bccapi.com:80");
      BitcoinClientApi api = new BitcoinClientApiImpl(url, NetworkParameters.productionNetwork);
      BroadcastTransactionResponse response = api.broadcastTransaction(new BroadcastTransactionRequest(tx));
      System.out.println("Broadcasted transaction with hash: " + response.hash.toString());
   }


Hope you find it useful.
582  Bitcoin / Development & Technical Discussion / Re: Unable to decode output address - Non Standard Transaction on: December 13, 2012, 07:36:42 AM
I saw this post yesterday just before going to bed and was going to claim it first thing in the morning (was dead tired), now it is taken. You snooze you loose  Cheesy
583  Bitcoin / Wallet software / Re: BitcoinSpinner on: December 12, 2012, 02:57:04 PM
From the BitcoinSpinner announcement thread:
BitcoinSpinner v0.8.0b is out. You can download/upgrade it from the Google Android market (god know why, but they call it Google Play these days), or fetch it directly from the project site. The differences may seem subtle, but it is backed by 1 1/2 months of hard full time work where most of the time has been spent on the backend system.
User visible changes:
 - Even faster: The next generation BCCAPI is simpler, has fewer lines og code, requires fewer server roundtrips during startup, while being as secure as before.
 - In addition to displaying "coins on the way to you" on the main screen it also displays how many coins you are currently sending.
 - Transaction history color coded to make it easier to distinguish receives and sends
 - Transaction history now displays the address you received coins from instead of displaying which address you received the coins with.
 - Better error messages when trying to spend your last coins while you cannot afford the miner fee.

BitcoinSpinner is now backed by another version of the BCCAPI, which makes it much easier to manage multiple redundant servers as they no longer need to share anything but the block chain.  I will maintain backwards compatibility with version 0.7.3b for about a month, leaving people time to upgrade, whereafter I'll scrap the old server. This allows me to manage multiple redundant copies of the new backend, which has been requested by several.
 
Enjoy
For those of you who are using the raw BCCAPI there will be a little integration work to get to the next generation. The good news is that:
1. The new API is simpler and more powerful, as it allows you query on any Bitcoin address
2. The old API will continue to work for a month or so.

Look for bitlib and bccapi here: http://code.google.com/p/bitcoinspinner/source/browse/#svn%2Ftrunk
bitlib is a self-contained Java library for dealing with transactions (creating, parsing wire-format, signing, ...)
bccapi builds on top of that and connects to a server etc, so if you don't like that you can still use bitlib

There is a brand new version of the ASCII based SimpleClient showing how to use it here: http://code.google.com/p/bitcoinspinner/source/browse/trunk/bccapi/src/com/bccapi/ng/example/SimpleClient.java

I haven't updated the official BCCAPI page yet, but I am working on it.
584  Economy / Service Announcements / Re: [ANN] BitcoinSpinner on: December 12, 2012, 01:59:22 PM
BitcoinSpinner v0.8.0b is out. You can download/upgrade it from the Google Android market (god know why, but they call it Google Play these days), or fetch it directly from the project site. The differences may seem subtle, but it is backed by 1 1/2 months of hard full time work where most of the time has been spent on the backend system.
User visible changes:
 - Even faster: The next generation BCCAPI is simpler, has fewer lines og code, requires fewer server roundtrips during startup, while being as secure as before.
 - In addition to displaying "coins on the way to you" on the main screen it also displays how many coins you are currently sending.
 - Transaction history color coded to make it easier to distinguish receives and sends
 - Transaction history now displays the address you received coins from instead of displaying which address you received the coins with.
 - Better error messages when trying to spend your last coins while you cannot afford the miner fee.

BitcoinSpinner is now backed by another version of the BCCAPI, which makes it much easier to manage multiple redundant servers as they no longer need to share anything but the block chain.  I will maintain backwards compatibility with version 0.7.3b for about a month, leaving people time to upgrade, whereafter I'll scrap the old server. This allows me to manage multiple redundant copies of the new backend, which has been requested by several.
 
Enjoy
585  Bitcoin / Bitcoin Discussion / Re: Analysis of hashrate-based double-spending on: December 12, 2012, 12:24:54 PM
...
If the attacker has some minimal hashrate, he can double spend quite easily with the Finney attack.

If not and the attack is based purely on propagation, I should point out that there is already a paper on this subject, Two Bitcoins at the Price of One? Double-Spending Attacks on Fast Payments in Bitcoin. I haven't studied it in depth.
...

Thanks for the link, I'll give it a spin.

...
Thank you again for your generosity. I should point out though that (assuming this is relevant) more pledges would be needed for me to undertake entirely new research at this point.
...
Yes, absolutely, there is a lot of time and effort in producing a sound paper. I think some people (Tony, Steve, vink vink) have a lot at stake on accepting zero-confirmation transactions. I am merely trying to get something rolling  Smiley
586  Bitcoin / Bitcoin Discussion / Re: Analysis of hashrate-based double-spending on: December 12, 2012, 11:24:01 AM
Thank you for the producing and publishing this paper (sent you a donation). We need much more of this kind of work. I would really like to see more academic papers on Bitcoin.

A couple of questions/thoughts:

Are you considering to publish this elsewhere, submitting it as a conference paper?
Are you associated with a university or an old graduate like myself?

The paper describes probabilities of doing double-spending attacks where the attacker has some amount of hashing power. To have a significant probability of a successful attack he would need quite a bit of hashing power as todays hash rate is quite high. I believe that such an attack would be costly, and only feasible for high value transactions.
However, there are many merchants today who accept zero-confirmation transactions using merchant solutions such as BitPay (Tony, Steve, correct me if I am wrong).

So assuming that the attacker has no hashing power at all, how easy would it be to mount a double-spending attack against a zero-confirmation accepting merchant? And what can you do to detect a zero-confirmation double spend attack or avoid to accept the transaction if a double-spend is happening?

So basically the attacker broadcasts two conflicting transactions (T1 and T2) and hopes that T1 reaches the merchant while T2 reaches as many miners as possible.

I see two ways of protecting against this attack with some probability of success:

1. Listen to the network for a few seconds and see how well T1 propagates: Since nodes will not relay T2 if they have seen T1 you should receive fewer transaction inventory broadcasts containing the hash of T1 than what you would normally receive. The better you are connected to the network the more material you have to base your decision on.

2. When you receive T1 you listen for a conflicting transaction for a few seconds. If you find one there was a double-spend attempt. This sounds simple, but since nodes do not relay T2 if they have seen T1 you only receive T2 if you have connections to nodes that received T2 before T1. The more connections you have the higher probability there is of you getting T1 and T2.

There may be other smarter ways of detecting/preventing zero-confirmation double-spends, but this is what I came up with. However, the above raises some questions:
  • On a network of N nodes, how many nodes should you be connected to in order to have probability P of getting both T1 and T2?
  • How long time should I listen to the network for approach 1 and 2?
  • Within what margin should the "propagation-level" be for me to have probability P that the transaction is not a double-spend?

So here is my suggestion: If you write a paper of the same quality on this topic and answer some of the above questions I'll donate 5 BTC to you for your effort. I could imagine that BitPay and others would be interested in your analysis as well.
587  Bitcoin / Development & Technical Discussion / Re: ANN: Announcing code availability of the bitsofproof supernode on: December 10, 2012, 08:06:33 PM
If you said "there is a bug in the SPV code of class X in region Y" then I would go and take a close look at that, and bulk up the testing around it to try and flush out the issue. And if I really couldn't find it no matter what I'd ask for help. But that would, I think correctly, shake peoples confidence in the code. If you found a bug in the full verification code, you would merely prove my point.

X=Wallet Y=reorganize()

Details and fix sugestion  posted here: http://code.google.com/p/bitcoinj/issues/detail?id=257

Sorry couldn't help it  Wink
588  Bitcoin / Development & Technical Discussion / Re: ANN: Announcing code availability of the bitsofproof supernode on: December 10, 2012, 02:53:07 PM
I applaud Grau for doing all this work. I don't get the logic of withholding known bugs. If you don't want to help this is fine, but claiming that you found a bug, you just don't want to tell about it, is silly at best. We had a similar situation a year back or so where an alt-coin developer claimed to have found a bug in the satoshi-code, he just didn't want to tell Gavin (sorry can't find the reference).

Grau, maybe you should see if you can find a bug in BitcoinJ so you have something to trade with  Roll Eyes
(Jan tries to dodge the flames)
589  Economy / Exchanges / Re: Bitcoin-Central, first exchange licensed to operate as a bank. This is HUGE on: December 06, 2012, 04:24:37 PM
Congratulations. Sounds amazing.
To use the services mentioned, debit card etc, do I have to live in the EU, or France, or is it available to everyone?
590  Bitcoin / Bitcoin Discussion / Re: How do we deal with an internet blackout? on: December 05, 2012, 07:22:38 PM
That's pretty much what a bitcoincard is supposed to do, but it doesn't have the memory for a full client.  An android app could do it using ad-hoc wireless or regular wifi and a piratebox as a hotspot.
Being an offline client like the one I outlined does not require much memory. 32 bytes for a private key and roughly 100 bytes for each unspent transaction output and 500 bytes for each full transaction, or something along those lines. You can go far with 1Mb flash memory which is nothing these days. I think we will see them within the next year or so if the market demands it. The tricky part is to make it sufficiently tamper resistant (not android phones) and cheap.
591  Bitcoin / Bitcoin Discussion / Re: How do we deal with an internet blackout? on: December 05, 2012, 04:27:11 PM
To be honest, if there is an internet blackout I believe there are more pressing problems than spending coins. At least for me.

However, let's assume that you have a secure hardware device with built-in radio, that allows you to communicate securely (short distance, authenticated communication) with another device of the same kind, and that device does not allow you to export/import private keys. Then you could do multiple secure transactions from device to device for days or months before finally syncing up with the network.

This could be useful in areas without mobile coverage, such as most of rural US Grin

Rural Area United States
Quote
84 percent of the United States' inhabitants live in suburban and urban areas,[3] but cities occupy only 10 percent of the country. Rural areas occupy the remaining 90 percent.
592  Bitcoin / Bitcoin Discussion / Re: POLL - Importing Private Keys in Satoshi Client. on: December 05, 2012, 04:07:01 PM
I would rather see export private key functionality.
I believe that the needle is pointing in a direction where users migrate to alternative clients. Let's make the transition easier. I know that they can just move the funds elsewhere, but many users have sent the corresponding addresses to other users/web-sites and/or use vanity addresses.
Also, exporting a key is much much easier, no need to have Bitcoin-QT rescan the block chain.
593  Other / Off-topic / Re: Droplet - disruptive mobile payment on: December 03, 2012, 05:37:56 PM
Centralization.
594  Economy / Service Discussion / Re: Someone from BitInstant ... I need a PM or email in the next hour. on: December 03, 2012, 05:19:30 PM
I believe that Charlie and Erik are in Macau or travelling back to the US.
595  Bitcoin / Bitcoin Discussion / Re: Happy halving day on: November 28, 2012, 03:28:44 PM
Grats to Slush
596  Bitcoin / Bitcoin Discussion / Re: Happy halving day on: November 28, 2012, 03:19:47 PM
At least 700 people watching on blockchain right now. There should be a little something extra on the #210000 page.
At least... behind one of those 700 monitors sit 3 people
597  Economy / Service Announcements / Re: [ANN] Videos4BTC - Girls + Video Clips on: November 26, 2012, 08:43:08 AM
You should display the address as a QR-code as well, this makes it much easier to pay by phone. You can make the QR-code contain both the address and amount to pay. This makes it super easy for the end user.
Extra credit if you make both the address and QR-code a clickable bitcoin URL. This allows you to launch your favorite wallet by just clicking the QR-code/URL.
598  Economy / Service Announcements / Re: [ANN] BitcoinSpinner on: November 25, 2012, 06:34:58 AM
The spinner seems unable to communicate with the server at this moment. It hangs at startup, then "send bitcoins" and "transaction history" buttons are greyed out.

How often has the system been down in recent months? What is the uptime percentage?
I don't have a down-time percentage, but it has been low. There have however been two giltches the last two days. This should be fixed now.
599  Bitcoin / Wallet software / Re: BitcoinSpinner on: November 24, 2012, 06:25:07 AM
Is there a server outage or problem about now?
I made a transaction at 5:11 Pacific time (for 0.40950000) and an hour later it's still unconfirmed.
The transaction doesn't show up in block explorer.
The app seems to think it's talking to the server just fine and I'm not having any network trouble.

The wallet address is: 152U2YVT27mWTbnDT5XnWxeGSjmr2Dk9e5
Block tracking stalled for some reason. It is currently catching up, I'll look into the reason why.
600  Bitcoin / Bitcoin Discussion / Re: [BLOG] - The Full Faith and Credit of Wikipedia on: November 21, 2012, 06:33:33 PM
Erik, great article. You convinced me.
I think the culprit is that they are afraid of endorsing Bitcoin. They are depending too much on donations from people that believe that Bitcoin is drug money. The Wordpress news will hopefully steer the needle in the right direction for us.
Keep up the good work.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [30] 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!