Bitcoin Forum
May 07, 2024, 08:08:18 AM *
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 »
361  Bitcoin / Development & Technical Discussion / Re: Invoices/Payments/Receipts proposal discussion on: October 25, 2013, 06:17:33 AM
1) There's no telling if that QR code or link isn't modified en route to your computer (man in the middle attack);
2) Once the payment has been made, there's no proof that you actually made that purchase.

The first one isn't even a truly big issue. Most likely the webpage you're visiting is already running over SSL. The second one however, proof of purchase, is a big one.

We agree that the first one is not really an issue since every serious webpage works with https:// and a certificate of a well known CA.

The second is an issue not limited to Bitcoin but to any type of payment. Having a cryptographic proof of the payment at customer side would positively distinguish Bitcoin payments.

In my opinion both address generation and digital receipts belong to the webshop's business process facilitated by other tools. There could be a whole lot of business rules influencing how payment is requested and there are already digital bills and regulatory requirements to present a receipt for money taken in (at least in the EU). 

I do not question if goals of payment protocol are noble or that its design is not careful and state-of-the art, but if it should be embedded into the bitcoin protocol server.

I wish for a proof of concept implementation of the payment protocol that is a separate build artifact from the protocol server and ask if this was considered and if why rejected?
362  Bitcoin / Development & Technical Discussion / Re: Invoices/Payments/Receipts proposal discussion on: October 24, 2013, 09:33:45 PM
While I assume that you integrate these protocols with extreme care, they are hairball on their own with lots of flavors and options. Adding them is the exact opposite of what I would like to see happening to the reference client.

Is there a hope for a standard build without payment protocol, like the no wallet option jgarzik worked on?
363  Bitcoin / Development & Technical Discussion / Re: Invoices/Payments/Receipts proposal discussion on: October 24, 2013, 12:22:55 PM
Where do you think Gavin's salary comes from?

There is a strong business case, he's coming up with a decent solution for it, and because his paycheck comes from the foundation rather than a specific company he can come up with a solution that can be used by everyone in the community and doesn't privilege any particular player. (except certificate authorities, initially, but the payment protocol is pluggable and more decentralized PKI systems can be easily added later as they are developed)

The payment protocol is a pet project of Gavin, that will be useful just like everything he makes, but has not much to do with the core of Bitcoin that should rather be hardened and standardized as it was originally postulated to be the purpose of the foundation, that pays his salary

There's plenty of very intelligent people working on understanding and improving Bitcoin's core technologies and resistance to attack. What we're lacking most is people doing the ugly and boring work, and the payment protocol definitely fits that description. Heck for me personally even testing and auditing, at least for cool stuff like security and consensus threatening bugs, is way more interesting than the payment protocol.

Anyway, Bitcoin is brand new computer science and cryptography and you really don't want a single person being "assigned" to hardening it and refining the design of it. No one person is smart enough or has the breadth of experience to do that, but from the sounds of it the Foundation doesn't have the money to hire the teams of researchers that you'd really need. So they're doing a good job focusing their efforts on what they can do, and letting the community handle the rest.

Gavin works on whatever he likes, just like all other core devs in my observation.

I believe that the criticality of payment protocol is way below of other issues and if it was business critical there would be funds for it other than the foundation's.


364  Bitcoin / Development & Technical Discussion / Re: Invoices/Payments/Receipts proposal discussion on: October 24, 2013, 08:00:36 AM
Most of the devs I know have a habit: They must do something every day  Wink
Payment protocol stuff was a business demanded feature, intended to address some of the problems that have cropped up with Bitcoin URLs. Its certainly not something sexy or exciting to work on.

If it were business demand then there would be a business case and a solution for it.

Where do you think Gavin's salary comes from?

There is a strong business case, he's coming up with a decent solution for it, and because his paycheck comes from the foundation rather than a specific company he can come up with a solution that can be used by everyone in the community and doesn't privilege any particular player. (except certificate authorities, initially, but the payment protocol is pluggable and more decentralized PKI systems can be easily added later as they are developed)

The payment protocol is a pet project of Gavin, that will be useful just like everything he makes, but has not much to do with the core of Bitcoin that should rather be hardened and standardized as it was originally postulated to be the purpose of the foundation, that pays his salary

365  Bitcoin / Development & Technical Discussion / Re: Invoices/Payments/Receipts proposal discussion on: October 23, 2013, 08:03:26 PM
Most of the devs I know have a habit: They must do something every day  Wink
Payment protocol stuff was a business demanded feature, intended to address some of the problems that have cropped up with Bitcoin URLs. Its certainly not something sexy or exciting to work on.

If it were business demand then there would be a business case and a solution for it.
366  Bitcoin / Development & Technical Discussion / Re: How to frustrate a miner. on: October 18, 2013, 05:47:59 AM
The attack works by bribing miner to orphan certain blocks, it is not A against B but building coalitions to claim the bribe.

I think that the attack is technically valid but participating in it by any of the miner depends on if they are  greedy, especially short term greedy. Accepting the bribe brings higher profit in short term, but diminishes the value of their coins and investment on the longer term, since it hurts credibility of the entire system.
367  Bitcoin / Development & Technical Discussion / Re: How to frustrate a miner. on: October 17, 2013, 02:03:36 PM
Anyone-Can-Spend outputs may look like an ordinary transaction, just use the address of an easy to guess brain wallet.

Or even hard to guess, and it would be spread only to some pools with a decent share of the hash rate, building a network of invisible corruption.

Could this be observed by searching blocks with same block-hight for suspicious outputs.
The observable sign would be transaction replacement at re-org. They could be the bribe paid to make the other block orphan.
If I wasn't busy or there would be an upside to it I'd scan if this is already happening.
368  Bitcoin / Development & Technical Discussion / Re: How to frustrate a miner. on: October 17, 2013, 02:01:44 PM
Anyone-Can-Spend outputs may look like an ordinary transaction, just use the address of an easy to guess brain wallet.

Or even hard to guess, and it would be spread only to some pools with a decent share of the hash rate, building a network of invisible corruption.

Could this be observed by searching blocks with same block-hight for suspicious outputs.
The observable sign would be transaction replacement at re-org. They could be the bribe paid to make the other block orphan.
369  Bitcoin / Development & Technical Discussion / Re: How to frustrate a miner. on: October 17, 2013, 01:21:56 PM
Anyone-Can-Spend outputs seem to be the issue. Isn't that output's only intention to sacrifice funds in a provable way? what about sending those funds to Satoshi instead? Wink
Anyone-Can-Spend outputs may look like an ordinary transaction, just use the address of an easy to guess brain wallet.
In the described attack the output's intention is to bribe miner to participate in censorship.
370  Bitcoin / Development & Technical Discussion / Re: How to frustrate a miner. on: October 17, 2013, 12:58:13 PM
The attack needs to be launched successfully only a couple times and other miner will stop building on the disliked miner's block since those carry high risk to be orphaned.

Maybe it is not even the miner that one targets but a certain type of transaction or address used in the block. Soon the rational miner will be trained to obey the rules of a censor with deep pocket.

Can transactions remain free if miner become "rational" ?
371  Bitcoin / Development & Technical Discussion / Re: How to frustrate a miner. on: October 17, 2013, 12:24:33 PM
How is this different than adding a big fee to a transaction?
A big fee could be claimed by embedding its into the next block.
This bounty can only be claimed by orphaning the disliked block and it does not cost anything to the attacker if not claimed.
372  Bitcoin / Development & Technical Discussion / Re: Feather-forks: enforcing a blacklist with sub-50% hash power on: October 17, 2013, 11:18:17 AM
I suppose if the attacker was high enough profile with deep enough pockets, they could create a chilling effect without actually having to continually pay bounties in repeating the attack; miners wouldn't dare disobey because they know they'd be made examples of and have their blocks orphaned.

Exactly. The amount of bounties that need to be paid would pale in comparison of censoring power they could create.
373  Bitcoin / Development & Technical Discussion / Re: How to frustrate a miner. on: October 17, 2013, 10:57:24 AM
That is a great way to get rid of your Bitcoins Wink

I don't think many people could afford to do that.
It is not about me. Assume a big miner or cartel of them wants to get rid of a newcomer.
374  Bitcoin / Development & Technical Discussion / Re: How to frustrate a miner. on: October 17, 2013, 10:49:47 AM
Yes, the attack does cost money, but less than the damage it would make to the bottom line of the disliked miner.

It is not viable at the moment since miner are not "rational" but using the standard client that has no notion of trivially redeemable transactions.

I raise this not because want to be a douchebag, but to discuss if Bitcoin can be hardened to cope with the attack or if it needs alturism to avert this.
375  Bitcoin / Development & Technical Discussion / How to frustrate a miner. on: October 17, 2013, 10:36:29 AM
I developed the following attack while discussing https://bitcointalk.org/index.php?topic=312668.0
Let me summarize it for a more targeted feedback if it would work:

Assume somebody is determined to frustrate a miner.

He prepares the attack by sending a sizable amount to his own new address. He repeats for every block. The transactions might build a chain, but do not have to.

As the disliked miner creates a block containing any of his prepared transactions he launches the attack by creating a transaction double spending that transaction to a script trivially redeemable and sending it to other miner.

Assuming miner act rationally and the trivially redeemable output is of tempting size, they will start working on a block parallel to that of the disliked miner and include the double spend and a transaction redeeming it to their own address.

If repeated the disliked miner will not be able to get a block to the trunk, hence no revenue.
376  Bitcoin / Development & Technical Discussion / Re: Feather-forks: enforcing a blacklist with sub-50% hash power on: October 17, 2013, 10:02:00 AM
Actually one does not even have to be a miner to launch this attack:

The attacker rolls a Bitcoin holding again and again to new addresses of his own. Once he discovers a block he dislikes, he broadcasts a double spend of his previous roll to a trivially redeemable address.

If the transaction has the sufficient size rational miner will be attracted to create an branch rooted where the transaction was still valid and attempt to re-org to cash in the offered bounty.
Then wouldn't the miners who didn't win the bounty just ignore the winner's chain, since they can just work on the honest chain which is just as long, and avoid fucking up Bitcoin?

Sorry if this is getting annoying Smiley

The winner might issue a new smaller bounty to keep others on his branch, and he also has the chance to mine the next himself as usual.

If the malicious miner dislikes one transaction in the highest block, just one-up it will only delay, rather than foil his "enemy"'s attempt to send payments, because which transactions get to be included in the blocks afterwards...
The attack could be repeated and is final to coin base transactions.
377  Bitcoin / Development & Technical Discussion / Re: Feather-forks: enforcing a blacklist with sub-50% hash power on: October 17, 2013, 08:53:37 AM
Actually one does not even have to be a miner to launch this attack:

The attacker rolls a Bitcoin holding again and again to new addresses of his own. Once he discovers a block he dislikes, he broadcasts a double spend of his previous roll to a trivially redeemable address.

If the transaction has the sufficient size rational miner will be attracted to create an branch rooted where the transaction was still valid and attempt to re-org to cash in the offered bounty.

Added: He would have to send the double spend to miner directly since ordinary nodes would drop, broadcasting would only work by chance.
378  Bitcoin / Development & Technical Discussion / Re: Feather-forks: enforcing a blacklist with sub-50% hash power on: October 17, 2013, 08:27:53 AM
Assume a miner dislikes something in the highest block, and is willing to spend on suppressing it.  He mines a parallel block also embedding a transaction sending a bounty to a trivial to redeem script.  All rational miner including him will be incentivized to mine on top of his alternative and claim the bounty for themselves. Only an altruistic miner would remain on the original or include a mempool transaction claiming the bounty.
If he broadcasts this transaction, then what's stopping the rest of the miners from just including it in their chain, and claiming the bounty in the same block?
It could stop them if the transaction is only valid in the orphan. For that the source of the bounty would have to be spent in the disliked trunk. The miner could prepare the attack by broadcasting a spends to his own address. If one of those is included in the block he dislikes, then he has a bounty to offer that is only valid in his branch by spending the source again to a trivial to redeem address in his block.
379  Bitcoin / Development & Technical Discussion / Re: Feather-forks: enforcing a blacklist with sub-50% hash power on: October 17, 2013, 07:47:59 AM
It seems to me that mining on the trunk could be even brought to a temporary halt by creating a new orphan block deeper in the chain with a sufficient bounty trivially claimable.

Rational miner would mine on that orphan and leave enough bounty to incentivize the next until the orphan branch catches up with the trunk triggering a re-org that benefits those participated in the attack.

It is above my knowledge of game theory to attempt to formulate, but suspect that with only "rational" miner there is a sufficient bounty to trigger any depth of re-org (within the same difficulty cycle).
380  Bitcoin / Development & Technical Discussion / Re: Feather-forks: enforcing a blacklist with sub-50% hash power on: October 17, 2013, 06:02:34 AM
Assume a miner dislikes something in the highest block, and is willing to spend on suppressing it.  He mines a parallel block also embedding a transaction sending a bounty to a trivial to redeem script.  All rational miner including him will be incentivized to mine on top of his alternative and claim the bounty for themselves. Only an altruistic miner would remain on the original or include a mempool transaction claiming the bounty.

Added: An unsuccessful attempt to suppress the highest block does not even cost anything, since if not successful the bounty transaction will not be existent in UTXO. A trivial to redeem transaction included by the miner practically adds to the fee offered for the block building on it.

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 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!