Bitcoin Forum
May 25, 2024, 07:59:59 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1] 2 »
1  Bitcoin / Development & Technical Discussion / Re: invalid transactions on: May 28, 2014, 12:04:42 AM
fbueller, thanks heaps for you long and details response!

> Usually your bitcoin core will rebroadcast transactions which have not confirmed. It will do this indefinitely unless you remove the tx from your wallet.

[...]

If some malleability bot is in on the network, your transaction ID could actually be different. So maybe you logged the TxID after one confirmation to create a raw transaction later - your TxID could be incorrect, because block B with the txid you first heard about was orphaned, but block A, where your tx was malleated was actually in the chain with most difficulty.


Ok, So I guess this means that your bitcoin client want notice that the transaction was confirmed, and may retransmit it again in error. Which is the so called malleability attack. https://en.bitcoin.it/wiki/Transaction_Malleability


(Also I notice that some of the links in https://en.bitcoin.it/wiki/Bitcoin_Improvement_Proposals are broken, e.g. BIP0062, which would have been relevant here - not sure how to report problems though)


Sites usually don't show the PUSHDATA opcodes, they just show the physical data. See webbtc's script interpreter (only works on confirmed txs unfortunately) http://webbtc.com/script/3d891fe5b1e037165233be3ceed87a20c6210a741e64f5bda9495f208f1d5eef:0

Interesting website, seems to do a much better job of showing the scripts then other websites.

Does seem possible to crash it though, for instance, going to http://webbtc.com/address/1CjPR7Z5ZSyWk6WtXvSFgkptmpoi4UM9BC - the first address I clicked on - comes up with the error "Too many outputs for this address (12958)"


scriptPubKey sets the constraints on the recipient on how they are receiving the money. It is how clients learn about transactions which are theirs. How would your client know that an invalid scriptPubKey was intended for you before the pubkey-hash was messed up? You couldn't do this over the network, the main way clients learn about transactions.

Oh, ok, maybe this was a false assumption I made. I thought the transaction output included the destination address too, but maybe that is not the case, it is only the script that decides who can spend it. Which would make more sense, and reading the bitcoin protocol specification seems to confirm this. https://en.bitcoin.it/wiki/Protocol_specification

How do websites, such as webbtc, display the output address? I am guessing they must parse the script and find the hash value. Does that even make sense? e.g. is it possible to take the hash from output script, say 024a0102c5952538e6aab7cddb9e2659bd47e206, and turn that into a bitcoin address of 1D71GZ463FU4accU2GAdz9DT1XoLGqPWK?

Which in turn will presumably mean that if the websites display the destination address (hopefully they do confirm that it is the standard script), this means that the output is definitely spendable if you have the corresponding private key (except, of course, PIP0013/p2sh addresses).
2  Bitcoin / Development & Technical Discussion / Re: invalid transactions on: May 27, 2014, 06:07:52 AM
Quote
3. Would it be possible to pay for something with a transaction that contains an invalid scriptPubKey, (e.g. the pubKeyHash is invalid - if I understand this correctly would mean this output cannot be used as an input for further transactions), and trick the recipient into accepting this as payment? If not, why not?

It is possible only if the recipient is stupid enough not to verify the transaction.

How do you verify the transaction?

I assume that just checking, say with blockchain.info would be insufficient (it doesn't know what private keys you have access to).

However, can I assume that most (if not all) wallet applications will have checked that I can spend the funds before displaying the transaction or including the balance in the total?

Thanks
3  Bitcoin / Development & Technical Discussion / Re: nLockTime / GreenAddress.it on: May 27, 2014, 01:39:44 AM
Oh, ok. That makes sense. Almost anyway.

Not sure where the funds get sent to in this transaction. There doesn't appear to be any setting for a return address.

Also not sure why you need to run special code to redeem the transaction. Guessing this might be somehow related to the previous point, in the previous paragraph.

Sorry to answer my own question here. Suspect it has something to do with "determistic wallets" and BIP0032 here.


So all outgoing transactions from GreenAddress get signed by two signatures, right? If so, what is this "Instant Confirmation" checkbox for when making outgoing transactions?

Still unclear here.

Also assuming that GreenAddress must keep copies of both private keys, the passphrase looks to short to have an encoded private key, and yet that appears to be all I require to gain access to my account. If so, am a bit unclear how this is any better then having them hold just one private key.

The website says it doesn't have to keep your private key.

Possibly related to BIP0039, guess I really need to read this.
4  Bitcoin / Development & Technical Discussion / Re: invalid transactions on: May 27, 2014, 01:23:46 AM
1. Do transactions ever time out if not accepted into the block chain?

e.g. if I create a transaction today, and it happens to be invalid, is it possible it will unexpectedly get accepted, e.g. with a later release of the bitcoin block chain code that has policy changes, maybe in x years time? (assuming transaction this would have to be accepted by miner *and* the block chain code)


Or for another example, maybe one less far fetched, consider a non-standard transaction, that isn't included in the block chain any time soon. Is it possible that a miner could unexpectedly process this transaction at any undetermined point in time in the future of bitcoin? Or will the transaction eventually expire?
5  Bitcoin / Development & Technical Discussion / Re: nLockTime / GreenAddress.it on: May 27, 2014, 01:02:05 AM
Basically, GreenAddressIt will send a transaction with nLockTime whenever someone makes a deposit. This transaction sends the funds back to the depositor. The nLockTime transaction effectively acts as a deposit expiry: after this time, it will be included in a block and the depositer will get the funds back.

Oh, ok. That makes sense. Almost anyway.

Not sure where the funds get sent to in this transaction. There doesn't appear to be any setting for a return address.

Also not sure why you need to run special code to redeem the transaction. Guessing this might be somehow related to the previous point, in the previous paragraph.


GreenAddressIt works by using multi-factor transactions. Both the user and GreenAddressIt must sign for a transaction to be made from deposited funds. This allows the recipient to disregard the possibility of a double spend since GreenAddressIt has to authorize a double spend, which it won't do if the site is honest. To prevent a database loss or owner disappearance from destroying the funds, the nLockTime transactions are made returning funds to the depositor's address.

Looks like GreenAddress is going to provide the option for enforced spending limits and delayed payments in the future. Interesting.

So all outgoing transactions from GreenAddress get signed by two signatures, right? If so, what is this "Instant Confirmation" checkbox for when making outgoing transactions?

Also assuming that GreenAddress must keep copies of both private keys, the passphrase looks to short to have an encoded private key, and yet that appears to be all I require to gain access to my account. If so, am a bit unclear how this is any better then having them hold just one private key.


Thanks

6  Bitcoin / Development & Technical Discussion / invalid transactions on: May 27, 2014, 12:44:50 AM
Hello,

Three questions concerning invalid transactions, just so I can try to understand some of the technical details of bitcoin a bit better.


1. Do transactions ever time out if not accepted into the block chain?

e.g. if I create a transaction today, and it happens to be invalid, is it possible it will unexpectedly get accepted, e.g. with a later release of the bitcoin block chain code that has policy changes, maybe in x years time? (assuming transaction this would have to be accepted by miner *and* the block chain code)



2. I assume the following is an example of an invalid transaction. At least it has not any confirmations since 2014-04-02. How do I tell why it hasn't been accepted (trying to understand/parse the scripts here, but can't really make sense of them in the way they are presented on the websites I have seen so far).

http://live.insight.is/tx/83cdc4c243b3f106c22f50e0d30ce86a45e61aa2bc03c8f1f1634239e64909d7

According to this page, the scriptSig starts of with a single "0". Aren't they meant to be double digits? Ok, ignoring that for now.

Then, if my understanding it correct, it pushes three items on the stack:
* 0x30 byte signature
* another 0x30 byte signature
* a 0x52 byte  BIP0016 complaint pay-to-script. Except 0x52 is the opcode for "The number in the word name 2 is pushed onto the stack.", not push 0x52 bytes of data. Which I don't understand, and at this point I am not really sure what is going on.

Maybe the website is not printing the push-item-to-stack opcode, just the data that gets pushed, which is what is confusing me???

Then the following script, from the output in the parent transaction abd231512a7d4524c3424add1c466eff250ebe221204a765a5d28118d21b7a7a is executed:

OP_HASH160 2a5edea39971049a540474c6a99edf0aa4074c58 OP_EQUAL

Which checks the hash of the BIP0016 script is correct.

Followed by popping the script of the stack, executing it, and that script checks the signatures are correct.

Is my understanding is correct?

If so, how do I determine why the process appears to be failing, at least for this transaction?



3. Would it be possible to pay for something with a transaction that contains an invalid scriptPubKey, (e.g. the pubKeyHash is invalid - if I understand this correctly would mean this output cannot be used as an input for further transactions), and trick the recipient into accepting this as payment? If not, why not?


Thanks
7  Bitcoin / Development & Technical Discussion / nLockTime on: May 26, 2014, 11:51:03 PM
Hello,

I am trying to understand nLockTime. I believe it is an optional attribute, normally not set, on transactions. https://en.bitcoin.it/wiki/Protocol_specification

Quote
If all TxIn inputs have final (0xffffffff) sequence numbers then lock_time is irrelevant. Otherwise, the transaction may not be added to a block until after lock_time (see NLockTime).

Were NLockTime points to https://en.bitcoin.it/wiki/NLockTime

Quote
nLockTime is a parameter that can be attached to a transaction, that mandates a minimal time (specified in either unix time or block height), that before this time, the transaction cannot be accepted into a block.

I thought I understood, but then I read discussions here, however then I read the following from https://greenaddress.it/en/faq/:

Quote
But! We have solved this issue by providing nLockTime transactions which essentially make deposits 'expire' after some time, which allows redeeming them without our intervention after this pre-set period of time. It is enabled by default when you have email notifications and two factor enabled.

This allows you to keep your ease of mind even in case GreenAddress.it disappears with its keys.

It also means that every time the funds expire the user has to re-transfer them. This can be automated on login and notified in advance via email or manually done.

Which rather confuses me. Just how does this work?

Thanks
8  Other / Beginners & Help / Re: Alternative to Bitmit? on: November 25, 2013, 12:05:59 AM
coingig.com is probably the best alternative at the moment. needs some work though

coingig.com seems to be targeted at USA residents only. Looking at items at random, most only ship to USA, although just found one that only ships to Canada. Doesn't seem to be anyway of finding out where the item ships from.
9  Other / Beginners & Help / Re: Alternative to Bitmit? on: November 11, 2013, 03:05:10 AM

Seems like it is very USA centric. At least I can't see anyway of searching for items sold from Australia, for example.

If I click some items at random, most only ship to USA, and the ones that ship internationally only do so to a restricted set of countries. Haven't seen any that do Australia yet, except the Digitally delivered copy of Windows 8.
10  Other / Beginners & Help / Re: Alternative to Bitmit? on: November 10, 2013, 10:34:14 PM

Seems like it is very USA centric. At least I can't see anyway of searching for items sold from Australia, for example.
11  Economy / Service Discussion / Re: BITMIT IS CLOSING on: November 10, 2013, 10:10:33 PM
Email I got has:

Quote
Hallo Brian,

Bitmit is shutting down its doors in 2-3 weeks. Please complete your orders and withdraw your funds ASAP!

Viele Grüße,

dein Bitmit Team

bitmit.net

Is bitmit closing now going to become an annual event? It was going to close last year about the same time too.

https://bitcointalk.org/index.php?topic=119334.0

I guess soon we will find out that is it up for auction, the auction has been cancelled, we have figured a solution, it isn't really closing, it is business as usual, what are you complaining about?

I look forward to the bitmit closing scare campaigns in October/November 2014!

Or could it be that it really is closing down this time? I don't know what to believe any more, they lost all credibility last year.
12  Economy / Trading Discussion / Re: Sites to buy and sell on on: February 17, 2013, 10:24:40 PM
I have to say as a businessman my early impressions of bitcoin as a medium for doing business with isn't good seems safe to assume everyone is a crook at worse or unprofessional at best until proved otherwise.

That is nothing specific to bitcoin. I get the impression that there is a lot of scams going on in the ebay/paypal world for example.

There are very professional people on ebay working hard to earn a good reputation, just as I imagine there are very professional bitcoin people here working hard to maintain their reputations.

I think it does help if you have a good trusted escrow service. The problem with ebay is that paypal is the defacto default escrow service, and they don't have a very good reputation of resolving disputes fairly.
13  Economy / Trading Discussion / Re: Sites to buy and sell on on: February 16, 2013, 08:26:11 AM
Well BitMit is definitely the biggest one out there, I heartily recommend it.

Unfortunately there is a big cloud over BitMit in the moment as to exactly who owns it, and who has control over escrowed funds. BitMit don't appear to be interested in trying to clear this up either. How can you trust an escrow service if you don't know who runs it?

This is discussed in a number of threads on bitcointalk, for example:

https://bitcointalk.org/index.php?topic=135366.0
14  Local / Other languages/locations / Re: Australia on: February 12, 2013, 01:51:47 AM
^are you in I.T.?

why not make your own bitmit, etc?

Unfortunately, no time for a new software development project. Am hardly keeping up with my current projects already :-(
15  Local / Other languages/locations / Re: Australia on: February 11, 2013, 04:06:08 AM
Yes - that is unfortunate (please note the date on that topic and read all the posts to make your own judgement).

Yes, I have read all the posts and reached my own judgement :-)

Looks like the reason it was the top result for me was most likely because somebody had recently added to the thread.


I am very much interested in bitcoin as it seems a much more secure system without the security issues that our conventional systems have (e.g. paying for things over the Internet by or phone using credit card by revealing your "secrets" to the vendor).

To use bitcoin efficiently and safely, I get the impression it is best to try to avoid having to exchange money between AUD and BTC. This is because it involves banks and exchange agents which are slow and take up anything up to 10% of the funds being exchanged.

This means finding some other way of earning BTC. Selling stuff would seem an ideal way.

Unfortunately, looking at the current environment, it seems that there are many more people trying to sell stuff then to buy stuff. Not to mention nobody seems to know who is running sites like bitmit, what their trustworthiness is like, etc.

One might assume that more people selling then buying would lead to low prices for buyers. However this does not appear to be the case. e.g. Some of the prices I see on bitmit are very much inflated from what I could pay normal retailer in AUD. I think the problem is there is no real incentive to try to sell things in BTC, perhaps because there aren't enough buyers.

Anyway, just my thoughts for the moment.
16  Local / Other languages/locations / Re: Australia on: February 10, 2013, 06:05:50 AM
Actually you should check out Jeremy West's site (no affiliation with myself) - I understand you can even pay your bills with BTC now!

A shame this dispute is the top Google search result :-(

https://bitcointalk.org/index.php?topic=51512.0

I am not sure it is still possible to pay bills with BTC any more. It seems like it once was possible, but I can't find any details on any method that is still current.
17  Local / Other languages/locations / Re: Australia on: February 10, 2013, 12:11:59 AM
I am from Melbourne. What state are you from?

Melbourne born and bred myself (go Hawks)!

Smiley


What is your interest in bitcoins?

As far as I can tell there isn't a much in the way of places that will accept them. At least not in Australia.
18  Other / Beginners & Help / Re: confirmations on: January 23, 2013, 11:59:28 PM
Simple version is no.  There is no such thing as a "fake" block.  Either the block is valid or it is invalid.  An attacker could broadcast invalid blocks on the network, however it is trivial to validate a block.  The average CPU can validate a block in a fraction of a second so it isn't much of an attack.  No miner is going to build upon a block until they validate it.  If the block doesn't validate it will be discarded.  

So back to where I started :-(

Why is 2 confirmations better then one confirmation?

Perhaps it is related to the answer to this question: What happens if two miners generate a valid block a the same time? Which one wins?
19  Other / Beginners & Help / Re: confirmations on: January 23, 2013, 11:48:13 PM
no. he transfers the funds from the shared private key to his private private key as soon as he gets the shared private key. (which only takes a minute because he can trust his own 0 confirmation transaction)

It doesn't stop the buyer doing the same thing at the same time.

If the buyer had a transaction to remove funds already submitted (i.e. 0 confirmations) before meeting the seller, would the seller be able to find out?
20  Other / Beginners & Help / Re: confirmations on: January 23, 2013, 11:44:05 PM
A confirmation means that your transaction has been included in a block. More confirmations means that the transaction is being buried deeper in the block chain. Because it is possible to create a fake block chain more than one confirmation is needed. If the block was fake, it will be rejected before a few confirmations.

[/attempt at non-technical explanation]

So if I understand this correctly, it is considered a lot harder to fake a longer chain then a small chain, so the longest chain wins[1].

Would it be possible to insert a fake block, and then trick the other miners that this is the real block, and they should generate a new block based on this fake one?

Notes
[1] hence the concerns with the 51% attack.
https://bitcointalk.org/index.php?topic=52388.0
https://bitcointalk.org/index.php?topic=53647.0
etc
Pages: [1] 2 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!