Bitcoin Forum
May 08, 2024, 11:24:28 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 ... 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 [342] 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 ... 800 »
6821  Other / Beginners & Help / Re: Time to Mine Each Block on: March 14, 2013, 07:20:28 PM
Can someone explain why some blocks can take 4-6 hours and others 15 minutes?

Thanks

There is a random element to mining.  Take three six sided dice.  Tell me how many throws it will take to roll an "18".  You can't.  You can tell me that on average you will roll an 18 once in 216 attempts (6^3), but you could roll an 18 on your first try and you could also makes 2,000 attempts without rolling a single 18.
6822  Bitcoin / Development & Technical Discussion / Re: Cancelling unconfirmed transactions on: March 14, 2013, 03:00:43 PM
No a transaction is just that a transaction.
A confirmed transaction is one which is recorded in a block.
An unconfirmed transaction is one which is in the memory pool.

Bitcoin was never intended to allow cancelling transactions.  It can be done by hacking the wallet file and waiting for the transaction to be removed from the memory pool but that isn't made easy due to the likelihood that it would cause even more user confusion/chaos.  For example you could "cancel" a transaction and it could end up in a a block as your "cancellation" is only local.  You can't control what other nodes do.  Also your client may not be up to date due to a delay or protocol issue.  The client may report a transaction as cancellable when in reality it was confirmed in a block hours (or even years ago).

Quote
Is the behaviour of the memory pool deterministic?
Yes.
6823  Bitcoin / Bitcoin Discussion / Re: A couple of things I don't get about Bitcoin, please help :) on: March 14, 2013, 02:54:40 PM
Right now, whether people like it or not, people are in for the money mostly, not the graceful allowance of silkroad customers to be able to hide behind something Smiley I really do hope that the difficulty increases won't cause mass departures to LTC, even if they do, it'll be really interesting to see, how this pans out.

There is nothing wrong with that.  Bitcoin doesn't need people to be altruistic (and system that does is doomed to fail).  The financial incentive creates the difficulty which keeps the network secure.  If someone thinks Bitcoins are stupid but mines to convert the reward into fiat it still secures the network.

Also mining isn't Bitcoin.  It is just one part of it.  Not everyone will mine much like not everyone who buys Gold mines it themselves. 
6824  Bitcoin / Bitcoin Discussion / Re: A couple of things I don't get about Bitcoin, please help :) on: March 14, 2013, 02:51:45 PM
I disagree. "Confirmation" in our context is exactly as this - https://en.bitcoin.it/wiki/Confirmation. And "dumb" means the client does nothing to confirm transactions.

Bitcoin concept is quite sophisticated, we would better stick to "official" terminology without our supposition.

While non mining nodes aren't involved in the confirmation process (mining) they aren't "dumb wallets".  Had you just said "no non miners don't confirm tx but they do validate them" it would be a correct statement.  Saying they are dumb wallets is false.

Bitcoin would be far easier to manipulate if non mining nodes weren't part of the trust model. 
6825  Bitcoin / Bitcoin Discussion / Re: A couple of things I don't get about Bitcoin, please help :) on: March 14, 2013, 02:35:17 PM
hazek nailed it.  I would expand to say that if you are a full node* the model is trustless.  Your node doesn't trust anything it receives from any other node.  Using the blockchain your node can independently verify that a tx is valid.  It only relays that tx to another nodes it knows about after it validates them.  Those nodes will then independently validate the tx.

The purpose of mining is more than just "getting some coinz".  It is using a proof of work to create a consensus.  Imagine I sent the same coin (technically an unspent output of a prior tx) to you and simultaneously to hazek.  Both of your nodes would verify the tx is 100% valid but the network is no longer in consensus. But only one of you can have the "coin" otherwise I just figured out a way to create coins from nothing.  Only one of you can have "the coin" but the network is currently in disagreement over who has it.  Mining is the method to "force a consensus".

Miners take unconfirmed (but validated) tx and put them into a block. It is important to understand the block solution (hash below current difficulty target) is only valid for a specific block.  Tx aren't added to a "solved block" a block is constructed and then miners looks for a solution to that exact specific block.   When the block is solved the block is broadcast to all nodes and who then independently verify both the block and all tx in the block.  The block is then added to the blockchain.  

In the case of the double spend to you and hazek, only one of your tx will get added to the next block and the other one will become worthless.  Mining is intentionally hard (all miners in the entire world collectively need to work an average of 10 minutes nonstop to solve a single block) to create an economic cost.  That cost protects the network from creating a false/alternative history.   Miners are compensated for that protection.  In a perfect world there would be no inflation and miners would be paid by fees.  However that creates two challenges  a) how does the network "pay for itself" when the tx volume is low and b) how do you distribute the initial coins.  The block subsidy (initially 50 BTC per block, now 25 BTC per block, and falling to 12.5 BTC per block in ~ 4 years) solves both of those problems.  It subsidizes the cost of securing the network while the network grows AND provides a fair mechanism for the INITIAL distribution of coins.


* If you don't want to be a full node (which requires validating and storing all txs and blocks) you can opt to use an eWallet or light client however those require some level of implicit trust.  Only full nodes are true peers in the peer to peer network known as Bitcoin.  This doesn't mean light clients and eWallets don't have value, they do they just aren't full peers.
6826  Other / Beginners & Help / Re: Does transfers get higher priority as time goes by? on: March 14, 2013, 12:15:22 AM
Thanks for the explaining :=)

Now understand it better.
But what is this "block height"?

The block number.  Technically blocks don't have a number (nothing in the block identifies it as block #220,000 or #1 for example).  

The block height of the current block (at time of writing) is 225726
http://blockchain.info/block-index/358746/000000000000005c77e001bc8cc0d9fcabbf6801a70d9dc4baca4534f2504cf4
6827  Other / Beginners & Help / Re: Money sent to wrong mtgox account!! on: March 14, 2013, 12:13:36 AM
Yet another example of why those accounts need a check digit.

Yup I believe that suggestion was made two years ago when the first case like this happened.   Maybe when coinlabs takes over their deep pocketed investors can afford the cost of adding an extra digit. Smiley
6828  Bitcoin / Mining / Re: How long should miners wait to start hashing? on: March 14, 2013, 12:10:15 AM
Thanks for clearing this up. It makes a whole lot more sense now. I'll tip you when I find your address.

No tip needed, I have a couple coins already. Smiley

Someone once told me to truly understand something you need to be able to explain it to someone else. 
6829  Other / Beginners & Help / Re: What does it take to change the protocol? on: March 14, 2013, 12:09:28 AM
You can't change the protocol.  Period.  All you can do is fork it. 

If a single person past, present, or future doesn't like the fork they can continue to run the "current" Bitcoin.  Yeah the "new fork" may become more popular and eventually most people may think of "Bitcoin" as the new fork but the original/current fork will always exist.  For this reason controversial changes like changing the minting rate, maximum number of coins, irreversibility of transactions, etc are almost certainly never going to happen.

For example say today a large fraction of the Bitcoin community felt that the block reward was too low and they modified the protocol to support a 100 BTC block reward.  Current users/clients would see these blocks as invalid.  Period.   They aren't "Bitcoin".  Now those who supported it could VOLNTARILY choose to upgrade to the client which supports the fork but many would choose not to.  Some miners would move to the "higher profit" fork but that would mean more profits for the miners who stayed.   Both camps could call their protocol "Bitcoin" but they would be incompatible with each other.   Most likely the fork would simply die off and be forgotten.  IF both forks were heavily supported (and both called "Bitcoin") it likely would be mutually assured destruction as the confusion and chaos would undermine both forks.  For this reason many users will never support ANY controversial hard fork for any reason.  The danger/damage is simply too high.

6830  Other / Beginners & Help / Re: Unspent bitcoins? on: March 13, 2013, 10:05:42 PM
Clarification: There's all this fuss about "unspent transactions" UTXO. Do not understand significance.

To validate txs each INPUT of a newly created tx is the unspent OUTPUT of a prior tx.  The working set isn't the entire blockchain it is the set of unspent tx.   If the unspent tx working set is larger than that means more resources are required to validate txs.  If a large portion of that working set is "spam" 0.00000001 BTC unspent outputs which will never be spent then it makes all nodes less efficient.
6831  Bitcoin / Mining / Re: How long should miners wait to start hashing? on: March 13, 2013, 10:01:12 PM
I think I see what you're saying. I had assumed that once a miner starts solving a block they can't incorporate new tx's that appear after they started. If everyone was solo mining that would make sense. If new transactions are taken into account by pooled mining, then I agree it doesn't help to wait.

If everyone was solo mining it still wouldn't make sense.

There is no such thing as "start solving".  Each hash attempt is like a lottery ticket.  A winning ticket solves the block, a losing ticket is worthless.  Having a million, or billion, or quadrillion losing lottery tickets doesn't mean you are any closer to solving the block then before you started.


Generate block header
So hash 5 trillion tickets


vs

Generate block header
hash 1 trillion tickets
New tx appear on network, create new block header
hash 1 trillion tickets
New tx appear on network, create new block header
hash 1 trillion tickets
New tx appear on network, create new block header
hash 1 trillion tickets
New tx appear on network, create new block header
hash 1 trillion tickets
New tx appear on network, create new block header

in both instances the solo miner has made 5 trillion attempts.  The bitcoind is continually updating the working set of the block in background.  Anytime the mining software requests work it is on the current working set.   If there are lots of paying tx the block reward may be higher, if there are no paying tx then the block reward will just be the subsidy.  In all cases it will be at least 25 BTC which is always higher than 0 BTC (not working).
6832  Other / Beginners & Help / Re: Unspent bitcoins? on: March 13, 2013, 09:51:25 PM
Why aren't all bitcoins "unspent"? You spend it when you send to someone. They receive it and it's now "unspent".

Does every fraction of a bitcoin contain some reference to it's original whole parent? Over time, won't they all just be ground down into dust?


Bitcoin works on the concept of inputs and outputs.

A tx contains as it's INPUT, one or more unspent OUTPUT of a prior tx (except coinbase generation txs).  The network ensures a particular output isn't spent.  Saying a bitcoin is spent or unspent has no meaning.   The status of an output (spent or unspent) matters because an output can only be spent once.  The network verifies that an output has never been spent before.  To validate new transactions the working set of possible inputs is all unspent outputs.  Outputs aren't ground into dust because you can have tx can have more than one input or output.  You could create a tx which takes 100 0.01 unspent outputs as the input and has a single 1.00 BTC output.  You have "converted" 100 0.01 unspent outputs (which are now spent) for a single 1.00 BTC unspent output.

6833  Bitcoin / Mining / Re: How long should miners wait to start hashing? on: March 13, 2013, 09:44:28 PM
Waiting doesn't increase payouts.  not sure where you got that flawed idea.  Even if/when it makes sense to not mine 24/7 the purpose of waiting would be to REDUCE COSTS not increase revenue. Any second not mining means less revenue.

Miners leave nothing no the table by mining 24/7.  Miners (pool operators for pooled mining) can update the merkle tree in realtime.  If a valuable tx appears update the merkle tree, and thus merkle root hash and all future hashes and working towards this modified block which includes the new tx. 

I am not sure what you are asking but I have a feeling you have some gross inaccuracies in how you think mining works and that is leading to flawed conclusions.

6834  Bitcoin / Mining / Re: How long should miners wait to start hashing? on: March 13, 2013, 09:32:25 PM
0 seconds.  Anything else is idiotic.

There is currently a block subsidy of 25 BTC.  Ever second you aren't hashing for that is a significant reduction in gross revenue.  Now maybe someday when the block subsidy is much much lower and fees are much much higher (say in 32 years = 8 block subsidy halvings) it may make sense for some miners to go offline but today the math is simple ... you wait 0 seconds.
6835  Bitcoin / Development & Technical Discussion / Re: Cancelling unconfirmed transactions on: March 13, 2013, 04:12:51 PM
I have an unconfirmed transaction from October.  Embarrassed

Now how can that be?

Can you resend it with a fee?

Even without a fee, surely it should have gone through by now?

If it is a low priority tx the "anti-spam" fee is mandatory.  Without the fee most nodes won't even relay the tx much less include it in a block.  It is a denial of service prevention mechanism.
6836  Bitcoin / Development & Technical Discussion / Re: API to get price of a silver (or other PM) in BTC? on: March 13, 2013, 04:06:39 PM

Nice one.
6837  Economy / Speculation / Re: At no point was there a double spend in the longest chain on: March 13, 2013, 03:29:53 PM
At no point was there a double spend in the longest chain, which is exactly how bitcoin is designed to work.

All double spends by definition involve two chains (except those involving 0-confirm txs).  A double spend in the same chain is impossible.  Nodes will reject a tx which whose inputs already exist in another tx in the chain.  So your claim is false.
6838  Other / Off-topic / Re: PGP? on: March 13, 2013, 03:17:36 PM
Ill be honest, I managed to use pgp to access the OTC but I still have no idea how to sign an email.

You don't need to sign the email you can sign a plain text message (just like in OTC) and just paste the signed message into the email.
6839  Other / Beginners & Help / Re: Does transfers get higher priority as time goes by? on: March 13, 2013, 03:08:36 PM
So the transfer never gets higher priority as it is waiting to get included in a block ?
If it would when in this example after little more then a year the transfer would be seen as a normal transfer and it would get included in a block.

No.  Priority IS recalculated after each block.  Priority does increase "as time goes by". The priority of the tx will rise with time however if the outputs are less then 0.001 or the size is greater than 10kb the min mandatory fee is required.   The age is based on the current block height not the block height when the tx was first transmitted (something which can't be verified anyways).

However ALL three conditions must apply to avoid the fee:
The tx must be 10KB or smaller.
The outputs must all be 0.01 BTC or larger.
The priority must be 57,600,000 (roughly 1 bitcoin-day).

In your example tx even when the priority is over 1 bitcoin-day the tx will still require the min mandatory fee.  If you haven't paid it any node running same rules as the reference client will refuse to relay the tx or include it in a block.  If this seems "unfair" remember the min mandatory fee rules are about protecting the network.  They are designed to ensure that an attacker can't bloat the network with low/no cost.  Without the min mandatory fee rules an attacker could simply transfer coins from Address A to Address B and back again.  Even if these tx were lower priority then all "legit" traffic the attacker could "max out" all available block space (i.e. make every block 1MB or max allowed by miners even when real tx volume is much lower).
6840  Other / Beginners & Help / Re: Does transfers get higher priority as time goes by? on: March 13, 2013, 03:01:35 PM
Priority is based on current time not the time of sending.  So yes the priority will slowly rise.

Many miners include no fee transactions HOWEVER as an anti DOS prevention measure they only include no fee HIGH PRIORITY tx.  Your example tx is low priority.  You can't even send that without patching the client or creating a raw transaction.   Most nodes will refuse to relay it and most miners will refuse to mine it.... until it becomes high priority in ~410 days.

It is important to remember there are essentially two fees in Bitcoin although they are lumped together:

a) min mandatory fees on low priority tx - these are essentially anti-spam rules and don't exist to generate revenue (the amount of revenue they would generate is negligible).  The purpose of these rules is to prevent an attacker from destroying the network at negligible cost.

To avoid this requirement your tx must meet the criteria here:
https://en.bitcoin.it/wiki/Transaction_fees

If your tx is doesn't meet the criteria to bypass the min mandatory fee AND you send it without a fee it is highly likely it will never be included in a block as any node running unmodified bitcoind will refuse to relay/mine these tx as a security measure even if there is space available in a block.  

b) optional fees.  fees paid on high priority txs (which don't require a fee) or fees paid in excess of the min mandatory fees.  Users include these fees to increase the likelihood a tx will be included in the next block.  Since miners prioritize tx in the memory pool based on fees paid a higher fee in theory means faster inclusion in a block.
Pages: « 1 ... 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 [342] 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 ... 800 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!