Bitcoin Forum
May 05, 2024, 04:55:05 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 ... 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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 [71] 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 ... 800 »
1401  Alternate cryptocurrencies / Service Announcements (Altcoins) / Re: [ANN][EXCHANGE] Poloniex - Crypto Exchange with BTC/NXT on: May 03, 2014, 12:17:50 AM
Why did your hosting provider have root access to a server with wallets?  If your hosting provider has super admin you have no security.  An attacker or employee you rob you at will.
1402  Bitcoin / Mining support / Re: Question about PDU's and a 220/40 line... on: May 03, 2014, 12:08:43 AM
1) You can use a smaller PDU.  Understand no PDU uses the same plug as a dryer so you will need to change the outlet.   Also most dryer plugs in the use are actually split voltage 240 & 120 in a single plug you are only intersted in the two "hots".

2) No.  A 240V PDU outputs 240V.
1403  Bitcoin / Bitcoin Discussion / Re: What should 100 Satoshis be called? on: May 03, 2014, 12:03:26 AM
A bitcoin is  1E8 satoshis.  Bitpay isn't considering renaming a bitcoin and they shouldn't.  Adding a new name is a different scenario than redefining an existing name.  IF not everyone uses "bits" it may cause the user to say "hey what is bits" but when some people use Bitcoin to mean one value and some use it to mean another value it creates a different type of confusion.

When governments revalue their currencies (usually going the other way) they end up using the same name. 

A government is an example of an absolute central authority.  There is nothing like that in the Bitcoin world.  You will never have absolute consensus so redefining an existing word means a period of time where two competing camps call different things "a bitcoin".  Can you imagine a user paying $400+ thinking they are getting "one bitcoin" as described by Satoshi and instead getting 1/1,000,000 of that by some scammer?
1404  Economy / Auctions / Re: [AUCTION] Coin #8 | RAVENBIT Physical Bitcoin | {ends May 1 @ 11pm EST} on: May 02, 2014, 09:29:55 PM
No, you seem to be not aware of the fact that people are able to have distinct personal assets and business assets (or liabilities).

Actually in most countries that is untrue.

A corporation can have assets and liabilities independent of its owners.  A sole prop can't.  The business liabilities are personal liabilities because the owner IS personally liable for the business.

Was inputs.io organized as a corporation (or other independent legal entity) and registered with one or more state?  If not then there is no distinction between business losses and personal losses, not one that any court of law would see.
1405  Bitcoin / Bitcoin Discussion / Re: How (this guy thinks he is) dodging bitcoin's flaw on: May 02, 2014, 06:39:42 PM
I agree that the author doesn't seem to understand how mining works, but the "flaw" that he is talking about is a real and well-known problem that plagues alt coins.

The problem he is addressing is the potentially devastating effect of very large swings in network hash rate. This is unlikely to ever be a problem for Bitcoin due to Bitcoin's wide adoption with respect to other SHA-256 coins.

DeathAndTaxes's post is accurate, but it doesn't apply here. The problem is not due to the difficulty readjustment frequency.


But for every "solution" there is another problem.  The alternate DOES change the difficulty adjustment frequency to every block.  This now means miners have more direct access to manipulating timestamps and suppressing difficulty for financial gain.
1406  Bitcoin / Mining speculation / Re: May Miners Collude to Keep the 25 BTC Reward Indefinitely? on: May 02, 2014, 05:35:17 PM
Even if someone had a mind to do this, I seriously doubt that they could rally enough forces to make it successful. A lot of miners (and people involved in crypto in general) are greedy and selfish and fuck each other over at every turn. A massive cooperative effort to forcibly impose a change seems improbable to me.

A more "realistic", but still not going to happen, scenario is that a small group of miners and nodes get together and cause a branch.  Let's say 5%.  They would have to make changes to deal with the 95% drop in hash rate on their chain plus whatever other "fixes" they want to implement.  The main chain would experience a 5% drop in hash rate and would probably not even notice the difference.

The remaining 95% could simply wait until there was a way to sell the new alt coin and then dump all their free alt coins on the poor alt coin market.

Add to that the 95% miners would have a very vested interest in ensuring this imposter dies in the cradle. This is even more likely if the imposter tries to use the bitcoin brand because it creates user confusion and negative PR. So say 6% of those miners could temporarily take a small paycut and 51% attack the imposter.  Exchanges accepting the imposter coins could potentially go bankrupt, merchant adoption would essentially be zero.  In all these scenarios what the person proposing it usually fails to consider is the application of risk.

It is interesting to note that as the last subsidy cut approached some predicted the same thing happening then.  Of course it didn't; miners tend to be pragmatic.  1 bitcoin in the wallet is worth more than a scheme to have two.
1407  Bitcoin / Bitcoin Discussion / Re: How (this guy thinks he is) dodging bitcoin's flaw on: May 02, 2014, 04:26:40 PM
There is nothing to dissect it is completely nonsense. Yes difficulty lags actual hashing power, this isn't some secret revelation.  The decision to adjust difficulty every 2016 blocks keeps the system simple and reduces the ability for miners to suppress mining difficulty.  Validating timestamps in a decentralized system is very difficult (I would say probably impossible).  Bitcoin sidesteps that very hard to solve problem by making timestamps (almost) irrelevant.  The one place timestamps are used is to compute changes in difficulty.  This is necessary because difficulty, at an abstract level is computer power divided by time.  Time needs to be recorded in some fashion but it is also easy to fake and hard to prove.  By only relying on timestamps in the one place where they are necessary, it limits the material effect of false timestamps to just difficulty computations.

The magnitude of any manipulation is limited by two factors.  The first is that miners can only fake timestamps by so much (~2 hours) because blocks which deviate from the network average time will be considered invalid.  Since the expected time for 2016 blocks is 336 hours (2016*10/60) at most a miner could suppress difficulty by ~0.5% (1% if both the first and last block are manipulated).  This small reward is problematic to obtain as no miner can be assured they will mine the critical blocks.  The manipulation must also be maintained forever just to keep (not increase) the reduction in difficulty.

Simply put:
* Verifying timestamps is nearly impossible in a decentralized network
* Bitcoin wisely bypasses the need to trust timestamps by only using them where they are needed (computing difficulty).
* The 2016 block period ensures that while miners can manipulate timestamps to suppress difficulty it is both difficulty and limited in scope.
1408  Bitcoin / Mining / Re: How hard to find a block at 8 Billion difficulty? on: May 02, 2014, 03:56:52 PM
Yes, the simplest difficulty is to find a hash with a single leading zero.  

That is incorrect.  Difficulty 1 represents that it will require on average 1 full nonce range, which is 2^32 attempted hashes to solve a block, not 1 attempted hash (or 16 which is what a single zero would represent).

The initial target at difficulty 1 (2^256 / 2^32) is computed as 0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF to store this however would require 256 bits.  Bitcoin uses a truncated target to save space in the blockchain which means the actual target for difficulty 1 is 0x00000000FFFF0000000000000000000000000000000000000000000000000000

Note the leading eight zeroes.  There are no block hashes in the blockchain which have less than eight zeroes.

As an example here is block #1
https://blockchain.info/block/00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048

Yes Satoshi made some things a little more complex than they need to be.  There is no requirement that difficulty 1 equal 2^32 attempts.  Difficulty is just for us humans anyways the network works off the raw target and difficulty is computed from that.  So Satoshi could have made Difficulty x = x attempted hash (on average) per block.  If that were the case the original difficulty would have been 4.2 billion and today it would be 34,363,484,163,461,100,000.  Yes that is 34,363 quadrillion.  It means that on average to solve a block means computing 34,363 quadrillion hashes.  We probably would just shorthand difficulty to quads; "Damn difficulty is now more than 30,000 quads, it is getting insane".





Thanks for your response and I stand corrected.  Now I've learned something, too Smiley.  I suppose I could have just looked at the very first block in the chain to see how many leading zeroes there were.

Well there can always be more leading zeroes due to "luck".  Case in point, the genesis block has ten leading zeroes, 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f.
1409  Bitcoin / Bitcoin Discussion / Re: The size of the blockchain... on: May 02, 2014, 03:50:23 PM
SD Flash will die pretty quick if you continuously write to it, like for a blockchain database.

So ok for backup, but not really for a node.

A couple years back I donated a 2GB SD card made by SanDisk to science.  I setup a simple loop which continually wrote to the card with pseudo random sequences until it filled the card.  It would then read it back, verify it was correct, erase the card, and start over.  I got 11TB worth of writes before the card started showing failures.  I have no idea if this is typical but lets assume it is.  A 64GB SD card would be more like 700 TB of writes, which should be sufficient for a decade of blockchain usage even if the tx volume increases by a factor of ten or more.  

Of course one advantage of a dedicated device is you can strike a compromise between storage writes and memory usage.  One example would be to only write confirmed tx to the memory "disk", the memory pool would remain in memory.  Blocks are occasionally orphaned so with enough memory you could delay writing the block to storage until it is x blocks deep in the blockchain (each block deeper becomes exponentially less likely to be orphaned).  Other temporary less critical data like information on current peers, can be batch updated to storage.  If the node goes offline between updates it isn't a critical that the stored information about peers is slightly stale.  The fact that Bitcoin is a decentralized network makes it easier to implement delayed writing.  You can always request recent information from peers again.

The main scenario to avoid with flash is using it as a high throughput "RAM", but even a memory constrained device, will have some memory so there is no need to write everything to flash.
1410  Bitcoin / Bitcoin Discussion / Re: The size of the blockchain... on: May 02, 2014, 03:33:21 PM
Bitcoin transactions arrive at up to about 10 per second so checking the inputs are valid by reading flash storage is not too difficult. The problem is you want to avoid DOS attacks by having quick access to transaction hashes There are about 10 million unspent outputs, if you use a modified encoding which hashes transaction ids down to just 7 bytes and 1 byte for the output count this means you need 80MB of memory plus a few MB for the mempool and recent blocks.

That is a good point.  For a set consisting of 10 million objects 256 bits is not necessary to avoid excessive collisions.  Taking the left x bits should be sufficient as this isn't being used for cryptographic purposes (and NIST certifies SHA-2 to be used for truncated hashes in some applications anyways).  The index on the other hand requires a little more thinking.  The protocol allows more than 256 outputs per transaction and is stored as a VarInt which can potentially be up to 8 bytes long (but realistically I couldn't more than 3 is probably never going to happen).  I guess one option would be to to use x bytes for the lookup hash where x = (8 - VarIntSize).  Worse case scenario you could use a full 8 bytes for the hash and full 8 bytes for the index but that would double the memory requirements.
1411  Bitcoin / Bitcoin Discussion / Re: The size of the blockchain... on: May 02, 2014, 03:21:50 PM
This would require USB or serial support, and mining software. This gets increasingly complex as soon as someone starts looking for real use cases, which IMHO means the base design isn't really that useful Roll Eyes

No it wouldn't.  Miners connect to the node (just like they do any node running p2pool) over TCP/IP.  The mining software is on the miner.   Instead of pointing it at a pool wallet you point it at your p2pool node, exactly as you do now if p2pool is running on a desktop.

As for not useful well that depends.  Just as a hardware which runs a full node for the network and does nothing for the user well your right that is beyond stupid.  Why would one buy one?  However how about this.   Your wallet is on your computer, you don't want to run bitcoind locally for a couple of reasons such as you have multiple computers running bitcoind on all of them it excessive, or you don't use your wallet everyday and hate the fact that when it syncs up you need to wait.

So instead you use a light wallet which connects to your local bitcoin node (running on that <1W device connected to your local network).  Got 8 wallets spread across multiple computers no problem they can all point to the same local bitcoind.  Now you could use a SPV client but maybe you don't like the security compromise and the fact that it doesn't strengthen the network.
1412  Bitcoin / Bitcoin Discussion / Re: The size of the blockchain... on: May 02, 2014, 03:05:08 PM
Mining is a completely moot point. Given the current difficulty, even a million ARM processors wouldn't even be noticed by the network. They would only waste power.

True but it could be useful to have high power ASIC miners connect to the node which is connected to p2pool.
1413  Bitcoin / Bitcoin Discussion / Re: The size of the blockchain... on: May 02, 2014, 03:03:52 PM
If the flash (and controller) is sufficiently fast it may be possible to use that as the UXTO lookup storage.  This would drop the memory requirements to near negligible amounts (enough to hold memory pool, current block, and if used as a wallet the user's personal pubkeys).  A lot would come down to how long lookup of a random output from the UXTO would take.  A good place to start would be getting a development board.  Instead of working with a ARM CPU directly you could work with a microcontroller which is based on an ARM CPU.

I am a big fan of STI Micro.  This is their STM32F4 series. 
http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1577/LN1806

The 429/439 is the most powerful microcontroller they offer.  It gives you 256KB SRAM, 2MB of flash, ethernet & usb connectivity, plus a hot of other stuff you probably won't need.  The 439 is the 429 with hardware crypto acceleration but sadly does not support the scep256k1 curve (I called to make sure Smiley ).  The main differences between the pin packages is the larger ones support more analog and digital IO pins. 

There is a development board available for rapid prototyping
http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/PF259090
1414  Bitcoin / Mining / Re: How hard to find a block at 8 Billion difficulty? on: May 02, 2014, 02:48:58 PM
Yes, the simplest difficulty is to find a hash with a single leading zero.  

That is incorrect.  Difficulty 1 represents that it will require on average 1 full nonce range, which is 2^32 attempted hashes to solve a block, not 1 attempted hash (or 16 which is what a single zero would represent).

The initial target at difficulty 1 (2^256 / 2^32) is computed as 0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF to store this however would require 256 bits.  Bitcoin uses a truncated target to save space in the blockchain which means the actual target for difficulty 1 is 0x00000000FFFF0000000000000000000000000000000000000000000000000000

Note the leading eight zeroes.  There are no block hashes in the blockchain which have less than eight zeroes.

As an example here is block #1
https://blockchain.info/block/00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048

Yes Satoshi made some things a little more complex than they need to be.  There is no requirement that difficulty 1 equal 2^32 attempts.  Difficulty is just for us humans anyways the network works off the raw target and difficulty is computed from that.  So Satoshi could have made Difficulty x = x attempted hash (on average) per block.  If that were the case the original difficulty would have been 4.2 billion and today it would be 34,363,484,163,461,100,000.  Yes that is 34,363 quadrillion.  It means that on average to solve a block means computing 34,363 quadrillion hashes.  We probably would just shorthand difficulty to "quads".  "Damn difficulty is now more than 30,000 quads, it is getting insane".



1415  Bitcoin / Mining / Re: How hard to find a block at 8 Billion difficulty? on: May 02, 2014, 02:38:52 PM
To calculate a big number and somehow have it start with 16 zeroes?  Yes, I'd say that is pretty difficult.

Was it one zero back when Bitcoin started and the difficulty was at 1?  Or one of some other number?

Difficulty 1 is just as arbitrary as any other difficulty.  The probability of any individual hash solving a block is (2^32)*(difficulty).  On average is requires (2^32)*(difficulty) attempted hashes before one is found which is smaller than the target (and thus valid for solving the block).  So at difficulty 1 it took about 4.2 billion hashes on average to solve a block.

2^32 = 32 bits.  Expressed as hex one digit = 4 bits.  32/4 = 8.  At difficulty 1 a block would need eight zeroes.  

While looking at number of leading zeroes can be useful it is important to understand the network doesn't look just at the leading number of zeroes.  If it did then difficulty increases (or decreases) would be limited to a factor of 16x (when difficulty changes it could only stay the same, go up 16x, or be reduced to 1/16th) that is beacause each additional leading zero, make the target 16x less likely.

A block is valid if the hash is smaller than the target.  Right now that is: 0000000000000000896C00000000000000000000000000000000000000000000

So a hash with the value 0000000000000000912300000000000000000000000000000000000000000000 would not be valid despite "having the right number of zeroes".
1416  Bitcoin / Bitcoin Discussion / Re: The size of the blockchain... on: May 02, 2014, 02:23:02 PM
bitcoind requires at least 1GB of RAM and usually more.

Thanks Cypherdoc.  I am trying to make sense of this: is this because bitcoind is loading the unspent outputs into RAM for faster checking?  My intuition is still telling me that for a custom implementation I just need enough RAM to comfortably pool the unconfirmed transactions.

The memory usage is primarily storing the UXTO in memory.  The memory pool is also kept in memory but it is much smaller than the UXTO. You could probably reduce the memory footprint with some "intelligent" caching system scoring each output based on the likelihood it will be in the next transaction (i.e. the unspent output from the coinbase of block2 is probably not going to be used in the next tx so dropping it from the in memory cache won't be an issue).

Remember reads from disk are very slow (compared to memory) and you can't validate a transaction until you lookup the outputs.  If none of the unspent outputs are in memory well you have now made 100% of tx validations requiring a round trip to the disk.  Right now throughput of the network is slow enough that you won't fall behind however for bootstraping a new node it is going to be painfully slow.
1417  Bitcoin / Bitcoin Discussion / Re: The size of the blockchain... on: May 02, 2014, 01:45:33 PM
bitcoin QT can sometimes use upwards of 1 GB of RAM.

Well there's your problem skooter up there in bold.  We are talking about a custom implementation of bitcoind to create a tiny and low-cost bitcoin node.  We don't even need a wallet implementation, and we definitely don't need the QT GUI (there's no display lol).

Well most of that memory usage is the db cache.  It probably can be done on a custom ARM based board however it isn't going to be a trivial project and you probably want the board to have a gig of memory.  The UXTO is only going to get larger over time.
1418  Other / Beginners & Help / Re: Cheapest way to get money from bitcoin on: May 02, 2014, 04:43:20 AM
Use BitSimple and withdraw by ACH (no fee)..  Banks do not normally charge a fee for receiving an ACH deposit.
1419  Other / Beginners & Help / Re: Lost 150 BTC from this address on: May 01, 2014, 10:36:41 PM
Honest question (not trying to hit you when you are down) by why would you reuse an existing address to receive new funds?
1420  Bitcoin / Development & Technical Discussion / Re: Number of m-of-n ouputs per transaction on: May 01, 2014, 09:57:45 PM
The redeemscript limit (https://github.com/bitcoin/bips/blob/master/bip-0016.mediawiki#520-byte-limitation-on-serialized-script-size) means significantly lower than 20/20 max for non-standard but valid P2SH. I managed 8/15 when I was playing around with it, although I think you might theoretically be able to get 15/15, but someone's got to mine it.

Thanks.  Updated my post.  That is a particularly awful "gotcha".  The limit should be raised to 34 * 20 =680 bytes to be inline with the OP_CHECKMULTISIG limit.
Pages: « 1 ... 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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 [71] 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 ... 800 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!