Bitcoin Forum
May 25, 2024, 01:17:03 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 ... 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 [281] 282 283 284 285 286 287 288 289 290 291 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 ... 800 »
5601  Bitcoin / Development & Technical Discussion / Re: Why is Miniupnpc in Bitcoin-Qt? on: July 15, 2013, 04:31:32 AM
Is that really necessary? Most people don't need this and for those who do it should be easy enough to either configure their routers manually or use a patched version.

Most people (as in 99.999% of the planet and rising) have absolutely no idea how to configure a router.  There is a reason why just about all networked software uses upnp.  Now if you are a power user, or want complete control just disable upnp and config port forwarding manually.

Quote
There seem to have popped up a couple of security risks with Upnp router configuration so most people will have this deactivated in their routers anyway.

Once again you massively overestimate the networking knowledge of "most people".  Most people if offered a $1,000 reward couldn't show you how to disable upnp on their own router.   When routers shipped with (paper weak security) WEP by default and WPA as an option the overwhelming majority of routers were never changed.  Hell most people wouldn't know how to configure a SSID or security key ("the wireless internet password") if it wasn't for wizards.   Most routers for home use now have windows install programs which find and configure the router because the concept of going to an IP address 192.168.0.1 results in too many tech support calls.
5602  Bitcoin / Project Development / Re: Interested in creating a 2FA algo for Android - 5 BTC reward available! on: July 15, 2013, 04:27:10 AM
What exactly is wrong with RFC 6238 ?

This +21 quadrillion.

RFC 6238 is a robust and peer reviewed standard.  There is absolutely no reason to roll your own.  Google auth isn't RFC 6238, Google Auth is an IMPLEMENTATION OF  rfc6238.  If you wanted to there may be value in making an independent implementation of the same standard.

i.e. you code and google's code given the same input would always produce the same values.

I mean the logic of rolling a new standard (a crypto one at that) would be like saying "I don't trust Verisign certs so I am going to roll my own alternative to SSL".  The obvious (at least to me) solution instead would be to keep using the robust and peer reviewed standard and making an ALTERNATIVE to Verisign.
5603  Alternate cryptocurrencies / Altcoin Discussion / Re: Miner's Official Coin LAUNCH - NUGGETS (NUGs) on: July 15, 2013, 04:17:04 AM
But even in a pool, where the big miners gets the golden blocks faster, the small miner will still get way more coins than the expected 49 coins.  That right there is a gift from the large miner for something the small miner did nothing to deserve.  You guys fail to see the big picture c
This is where the Dr. Pepper almost came out my nose.  Say what?

That is the problem with a noob, non-miner, non-programmer "building" a coin.  He is completely wrong but he honestly doesn't know it.
5604  Alternate cryptocurrencies / Altcoin Discussion / Re: Miner's Official Coin LAUNCH - NUGGETS (NUGs) on: July 15, 2013, 04:16:01 AM
so the VGB protocol is just a variation of a random reward block. not really anything new, LuckyCoin has a random lucky block too and was launched months ago.

I think I'll concentrate my efforts on another coin, I think I'll look more into a mix of Proof of stake and proof of work for my alt coin.  Cheesy


This.  Also random block or not the expected reward over the long run remains proportional to hashpower so much for the revolutionary concept which will provide a bonus to small miners.  I had a feeling but I was hoping it would be something novel and interesting.
5605  Bitcoin / Development & Technical Discussion / Re: How many blocks have no unspent outputs? on: July 14, 2013, 11:38:37 PM
Other than the initial blocks with only the coinbase, do any blocks even have the luxury of having all their transactions being spent by now?

As gmaxwell indicated it doesn't really matter.  You can prune the tx in a block which are spent (it doesn't need to be all or nothing).  Regardless you need to keep the block header to validate the chain integrity.
5606  Bitcoin / Legal / Re: interstate commerce clause and bitcoin dollar exchange on: July 14, 2013, 10:32:02 PM
You assume that the states and federal govt actually abide by what the constitution says, a demonstrably false assumption.

This.  It would seem obvious (common sense but legal precedent) that while a state can regulate Money Tranmission within the state it can't regulate money transmission between the states.  That hasn't stopped 47ish states from passing regulations doing exactly that.  As stated above if you have $20M+ you are willing to light on fire and a willingness to spend years (if not a decade) you likely could fight it all the way up to the Supreme Court and have a 50/50 chance of getting state interference in interstate commerce overturned.

However lets game theory this for a second say you DID have $20M it would be faster and cheaper to just comply with the regs even if you 100% are sure they are Unconstitutional.  Why would you do that (i.e. why hasn't PayPal, ADP, etc fought MT regulations on the state level)?  Simple it creates a massive barrier to entry for future smaller more innovative competitors.

So TL/DR version the only entities with sufficient resources to fight this out are the exact entities which would do everything possible to ensure that never happens. Smiley
5607  Alternate cryptocurrencies / Altcoin Discussion / Re: HELP!!!!! Premining HELL - Need HELP!!! on: July 14, 2013, 02:46:55 PM
A simple app/script could generate thousands of new crapcoins a day, so there is actually no need for crapcoin inventors at all, they can be automatically generated if only an actual dev bothered to actually develop a simple crapcoin-generator script/app.

This would actually be awesome.  Where there are a hundred or so new coins every day then maybe people will get the idea that yet another coin doesn't really mean anything.

5608  Alternate cryptocurrencies / Altcoin Discussion / Re: HELP!!!!! Premining HELL - Need HELP!!! on: July 14, 2013, 08:12:09 AM
The funny thing is pretending 1% is small because it is a small number.  Lets take Bitcoin for example.  Say Satoshi had hardcoded a founder wealth system of 1% of all coins mined. 

To date 11,413,275 BTC have been mined so 1% would be 114,132.75 BTC @ $100 ea = $11.4 million.  Current blocks are worth 25 BTC so 1% is 0.25 BTC or ~$25.  6 blocks per hour means the founder wealth would be increasing by $3,600 per day.  Now imagine Bitcoin increased by a factor of 50.  Starting to see how "only 1%" sounds silly?

Now I am not saying don't premine.  Do it, or don't do it.  The market will react accordingly.  If your right and a copy and paste clone like the hundreds or so before it is worth 1% then the coin will do less.  If it isn't then it will go nowhere.  However please save everyone the "poor me, only 1%" routine.  Just do what you want to do and be done with it.


5609  Alternate cryptocurrencies / Altcoin Discussion / Re: HELP!!!!! Premining HELL - Need HELP!!! on: July 14, 2013, 08:00:29 AM
I have been following nugget for a while and I must agree 1% IS a lot but it is to help the coin. People really shouldnt complain because it will help them in the long run. If you really wanted to make money you would copy and paste and then premine it without telling people. What you have done is add innovation and trying to help the coin with this.
every coin says that, and every coin most of the premine is dumped to the market by devs. So don't pretend to be "helping the coin". There's no need to do premine to help the coin. The way to help the coin is to have a great community and good supporting team.

But if it is in a public address you can see what the dev does with it. Why make a quick $$$ when you can help the coin enough to make a lot more of it?

Because all the coins are simply copy and paste nothings.  The "devs" know that and know in the long run the coin is going to zero.  So premine a million crapCoins dump then on an exchange for 10,000 crapCoins per BTC and walk away with 100 BTC.  The losers are the ones who mined and held and of course the suckers who traded BTC/LTC for something that a couple weeks later isn't even trading at 1,000,000 crapCoins per BTC.

It isn't one or two times that exact process has played on like clorkwork a couple dozen times with the exact same results each time.
5610  Alternate cryptocurrencies / Altcoin Discussion / Re: HELP!!!!! Premining HELL - Need HELP!!! on: July 14, 2013, 07:52:13 AM
Or you could do like "if block height mod 100 equals 1 then plug in my address instead of miner's address"...

Why take 1% of every block, pissing off all the miners, when you can take the whole block 1/100th of the time, pissing off maybe only 1% of the miners initially until all except the small miners have been dinged?

This will really help the small miners as a miner who only mines one block has a 99% chance of getting paid, but a miner who mines twice as much has twice the chance of not getting paid, and a miner who mined every block all by themselves leaving none to others would lose every 100th block without fail!

-MarkM-

What is block height?

The order or index of blocks in the blockchain.  The genesis block is block zero.  For bitcoin the most recent block is 246495.  Some people say block number but block height is more accurate as blocks aren't numbered and two blocks (in competing chains) can have the same height.
5611  Alternate cryptocurrencies / Altcoin Discussion / Re: HELP!!!!! Premining HELL - Need HELP!!! on: July 14, 2013, 07:40:35 AM
If you really must premine it would be trivial to make the coins in the premine unspendable until after a certain block.  It should take about a half dozen lines of code.  

However I doubt it will really matter.  It is a confidence thing. Most will just see it as a pump and dump.  Those that do mine it will be mining it to dump first.  This creates a race to the bottom.  Those that hold lose, so already lacking confidence they see price fall and dump as well.  Nobody is buying and everyone is selling.  Then difficulty is too high for the negligible real returns so miners quit in droves and time between blocks skyrockets.

Welcome to the coin graveyard where coins enter and never leave.  Maybe not dead but possibly undead.
5612  Alternate cryptocurrencies / Altcoin Discussion / Re: How can developers make a decent return for their work in crypto currency on: July 14, 2013, 07:13:53 AM
And, we'll fall back to the ussual, Bitcoin, which everyone loves so much, was pre mined to shit

Except that it wasn't.  Other than that you are spot on.
5613  Bitcoin / Bitcoin Discussion / Re: what do you think about bitcoin hashing function? on: July 13, 2013, 05:35:02 PM
What OP is saying is that the higher the difficulty gets, the more likely a block after looping through all the possible nonce space will not have one that matches the difficulty. A dumb miner would keep repeating that loop and never ever find a block, a smart one would change some other part of the block like extraNonce.

Thanks for the clarification, that's exactly what I meant. And I beleive all mining software needs to be **IMPROVED** such that multi-process or multi-thread distributed on different CPU cores can be mining parallel such that:

For simplest case, if only use nonce and no extraNonce or timestamp change etc,
1. mining process 1 mines [0,2^32/N] of the nonce range
2. mining process 2 mines [2^32/N, 2*(2^32/N)] of the nonce range
3. mining process 3 mines [2*(2^32/N), 3*(2^32/N)] of the nonce range
... ...
N. mining process N mines [(N-1)*(2^32/N), N*(2^32/N)] of the nonce range

You could do that or you could just do
process 1: extra nonce n, nonce 0 to 2^32
process 2: extra nonce n+1, nonce: 0 to 2^32
process 3: extra nonce n, nonce 0 to 2^32
process 4: extra nonce n+1, nonce: 0 to 2^32

Neither method is any more efficient than the other one.  Neither method is going to find blocks any faster.  In the long run no matter how you change the block header you are only going to find one block solution for every (difficulty)*(2^32).
5614  Bitcoin / Bitcoin Discussion / Re: what do you think about bitcoin hashing function? on: July 13, 2013, 05:32:30 PM
Any mining software or ASIC uses the extraNounce to mine?
AFAIK no available mining software even uses extraNonce yet... so ASICs and current GPUs aren't doing it either.

Ever miner back to the 0.1 reference client uses extraNonce.  ExtraNonce is simply a value in the coinbase.  You can put anything in there you want, you could put random values there but all miners put a numeric value and then increment it every time the nonce overflows.  In hindsight it would have made sense to just make nonce a 64 bit value, but that isn't going to change now.


What OP is saying is that the higher the difficulty gets, the more likely a block after looping through all the possible nonce space will not have one that matches the difficulty. A dumb miner would keep repeating that loop and never ever find a block, a smart one would change some other part of the block like extraNonce.

Well by that categorization every single miner that has ever existed (even the basic internal miner in the v0.1 reference client) is "smart" and no miner has every existed (and likely never will exist) which is "dumb".  Not a very useful categorization,  I think the OP is trying to solve a problem which doesn't exist.
5615  Bitcoin / Bitcoin Discussion / Re: Bitcoin Address Collisions. on: July 13, 2013, 06:15:14 AM
Simple evasion of a collision is dispersing your bitcoin savings in thousands of addresses. Technically if everyone does this the likelihood of a collision is in fact higher but the stakes are less.

As with everything: give and take.

--Garrett
It's important to undestand, we are not talking about some real possibility. Even if we spread all bitcoins as thin as possible, putting 1 satoshi to an address, total probability is about 10-18. It is essentially zero. And your personal probability of a collision about 5 orders of magnitude less (if you hold huge fortune of some hundreds of BTC and spread them: an address - a satoshi). If you care about such things, you should also care about a meteor hitting you.

This.  The fact that it is ~0% not 0% is hard for some people to grasp until you realize the odds of many other things people consider safe are many orders of magnitude more likely.  The odds that an asteroid will wipe out civilization as we know it is trillions of times more likely than the odds of a collision.  The odds that you (the person reading this post right now) already has terminal cancer, just doesn't know it year, and thus the risk of losing funds is pretty much academic isn't just trillions of times more likely it is thousands of quintillions of times more likely.  While I can't quantify it I would be willing to say that I am more likely to eat some random red pill given to me by a stranger and wake up in a Matrix pod then see a random collision in my lifetime.

5616  Bitcoin / Development & Technical Discussion / Re: Change Bitcoin SHA-256 to SCRYPT on: July 13, 2013, 05:48:03 AM
A security researcher has predicted SHA 256 will be cracked this year.  When that happens the algorithm may change.

Cite?  There are not even any "academic attacks" against SHA-2 at this time.  An academic attacking being a method which is faster than brute force but still computationally infeasible to exploit in the real world.

Er,
Let's all be clear that bitcoin  utilizes DOUBLE SHA-2 before making bold statements.

Actually there are partial attacks that are very well documented against SHA 2 upto about 25 bits , but not so much against double SHA 2....

The other issue is that the research into SHA 2* attack vectors has a weakness.....(which you can figure out yourself if you think about it....)

Plus there is some VERY interesting shit if you can program up your own FPGA farm..... The big issue is getting the shit out fast enough...

It isn't a bold statement, it is merely a statement of fact.  Lets ignore the potential added security of double SHA hash and just focus on single SHA-2 hashes.

SHA-2 uses 64 or 80 rounds.  There are no known attacks against 64 or 80 round SHA-2.  None.  No first preimage attacks, no second preimage attacks, no random collisions.  

This isn't for a lack of trying.  SHA-2 is one of the most analyzed algorithms in the world.  It is used for just about everything from banking to PGP to SSL.  A lot of different entities in a lot of different places all around the world have a very vested interest in knowing if SHA-2 is secure.  Cryptography can never be mathematically proven secure, the best we can do is (collectively) look for flaws and if enough people look hard enough for long enough the probability that an unknown flaw will appear suddenly and without warning is reduced, never eliminated but reduced.

An academic attack on a theoretical variant of SHA-2 which uses 41 instead of 64 rounds isn't an attack vector unless Bitcoin happens to use this modified variant with 41 instead of 64 rounds.  For the record it doesn't, nobody does, anywhere, for anything.  Publishing a reduced round version of an attack is essentially saying "we looked for a flaw but couldn't find one however if this algorithm only used x rounds instead of y rounds here is a flaw".  It is a way for other researchers to potentially expand upon but often many of these reduced round attacks are simply dead ends.  What works for 41 rounds may NEVER work for 64 rounds.  It is possible that these known reduced round attacks are dead ends.  That is to say that eventually SHA-2 is broken but it is broken in a completely unrelated manner and researchers who will try to expand on these known attack vectors will spend countless hours it what will ultimately prove to be "barking up the wrong tree".

I never predicted that SHA-2 won't eventually be broken but to claim it will be broken this year requires some significant supporting evidence and none was provided.  When asked for a cite, link to tweets unrelated to the claim were provided.  When confronted the person left saying he "doesn't need to prove anything to anyone".  That isn't what I would call "significant supporting evidence".  

Maybe SHA-2 will be broken this year, or maybe next year, or maybe it is never broken because over time most applications migrate to SHA-3 (after significant cryptoanalysis) because it has less theoretical flaws.  If that happens a exploitable flaw in SHA-2 may never be found because the focus of global analysis will shift to SHA-3 as it will be the bigger target.  To make a long story long regardless of if/when SHA-2 is broken the statement that "it will be broken by the end of the year" is rubbish.  Nobody credible said that, and nobody credible would.
5617  Bitcoin / Hardware / Re: The price of New Blade and Mini Blade was announced by rockxie on: July 13, 2013, 02:15:05 AM
The free market is an abstract idea.

Just because the free market is in action does not automatically mean that buyers are getting a good deal. It may turn out that way, but it doesn't necessitate that it will turn out that way.

I never claimed buyer will (or are) getting a good deal.  If your math says the deal is bad then don't buy.  If enough people do that (or eventually buy lower priced competitor goods) then ASICMiner will be forced to lower their prices.  It really is that simple.  

Either way the situation is self correcting.  If ASICMiner is making profit hand over fist that just encourages competition.  If you don't buy a rig because they are overpriced but someone else does (maybe less informed) then the network still gains security. 
5618  Bitcoin / Development & Technical Discussion / Re: C# Node on: July 12, 2013, 11:33:19 PM
Very nice I will have to grab a copy and play around with it this weekend.  I know the answer is probably read the code but what are you using for a datastore/database and what libraries are you using for the functions crypto (Native Framework? OpenSSL? )?
5619  Other / Meta / Re: Activity & new membergroup limits on: July 12, 2013, 11:26:33 PM
Quote
time = number of two-week periods in which you've posted since your registration
How is this determined? Is only one post required per timeframe? Does this decrease over time if no new  posts have been made? Does it correlate to the time online?

No it is much simpler than that.

English version.

Your activity is the smaller of
a) your actual post count
OR
b) the number of two week periods since you signed up (rounded up) * 14

Maybe an example helps.

Say you signed up today and posted 100 posts today
Your posts: 100
Your time: 1 period * 14 = 14 (rounded up remember)
Your activity: 14 is less than 100 so 14
Activity: 14

Now say you don't post anything for the next two weeks. In two weeks your activity will be
Your posts: 100
Your time: 2 periods * 14 = 28
Your activity: 28 is less than 100 so 28
Activity: 100

Now say 18 more two week periods pass and in that time you make another 100 posts
Your posts: 200
Your time: 20 periods * 14 = 280
Your activity: 200 is less than 280 so 200.
Activity: 200


5620  Bitcoin / Development & Technical Discussion / Re: Size of BTC blockchain centuries from now... on: July 12, 2013, 11:17:28 PM
Verification is the most difficult function of nodes. Every input of every transaction has to be matched with an output of a previous transaction. We need to look up that previous transaction in a database of unspent transactions. If the UTXO DB does not fit in RAM, lookups involve disk I/O, which are relatively slow. With time, both transaction volume and UTXO DB grow. Nodes will have to verify more transactions and every verification will be taking more time on average.

Well the good news is the UXTO grows much slower.  For example in the last 6 months the full blockchain has nearly doubled however the UXTO has grown from ~200MB to 250MB.  This is due to the fact that currency is eventually reused.  New transactions require older transactions to be spent.  The one exception is "dust" where the economical value of the transaction is less than the cost to spend it.  The ~250MB UXTO is about one quarter dust and most of that will never be spent.  If it is eventually spent it is only due to luck and time where the exchange rate rises enough that the dust isn't dust.  This is why the changes to 0.8.2 are so important.  By preventing worthless dust it limits the amount of the UXTO which isn't spent.  If the majority of the UXTO is regularly spent the size will grow even slower.  The size of the UXTO is more related to the number of unique users (with full control over their private keys) then the number of transactions.

Also the method of caching the UXTO is relatively inefficient right now.  The entire transactions is stored however if the inputs are already verified (which they are) then the UXTO could simply contain the already verified output only and possibly the full transaction hash for lookup against the full db.  Outputs are much smaller than inputs with average output size being 34 bytes and the average input size being 72 bytes.  This would indicate a roughly 66% reduction in UXTO is possible.  The vast majority of outputs are "standard" (OP_DUP OP_HASH160 <pubKeyHash> OP_EQUALVERIFY OP_CHECKSIG) for the purposes of the UXTO they could be simplified to a ledger like this:

TxHash - 32 bytes
OutIndex - 2 bytes
Amount - 8 bytes    
PubKeyHash - 20 bytes
Total: 62 bytes

Current UXTO has ~1.1 million unspent output so we are talking data (before db/disk overhead) being ~68 MB.   Obviously this isn't a pressing concern but given the UXTO grows relatively linearly, available memory grows exponentially and the current UXTO can be reduced to ~68MB the risk of UXTO spilling out of available memory and slowing tx validation is minimal.  The one threat was dust.  Since dust is almost never spent it causes the UXTO to grow much faster (they dust just keeps accumulating rather than cycling in and out of the UXTO).  With 0.8.2 that threat is removed.

This is a significant refactoring so don't expect it to appear anytime soon.  Eventually I think you will see the blockchain stored in three different formats.

1) The full chain.  Nodes keeping the full chain (containing all spent tx back to genesis block) will be archive nodes.  It isn't important for every node or even most nodes to be archive nodes but we would want a robust number to keep this archival copy of the blockchain decentralized.

2) The pruned chain & memory pool.  Most nodes will likely only retain the pruned blockchain, replacing spent tx with placeholders in the blockchain.  The memory pool contains the set of unconfirmed transactions.

3) In memory UXTO ledger.  Nodes will build this from the pruned database.  Since tx are already validated (or the tx and/or block would be rejected) it isn't necessary for the entire tx to be stored in the UXTO just the output portion.  Obviously you can't "only" have the UXTO or get the output only portion from other nodes as it can't be independently validated but this doesn't mean nodes can't build their OWN output only ledger from the pruned database.

As for CPU being a limitation I don't see that anytime soon.  A single 2.0 Ghz i7 core can perform 4,300 256 bit ECDSA signature validations per second.  Now that is just the ECDSA portion but it is the bulk of the computing needed to validate a transaction  Lets assume bitcoin implementation is no worse than half as fast and the average tx has two inputs that is a minimum of 2150 tps.  I would caution that this is probably a massive understatement of what is possible and assumes only one core is in use but use it as a worst case scenario.  To catch up 1 million transaction validation (roughly 28 hours of down time @ 10 tps) would take about 8 minutes to sync.  Remember this is just CPU "bottleneck" (or lack thereof).  For historical usage we can assume @ 10tps the first x years is a rounding error (blockchain today has ~3 million transactions or about 3 days at maxed out 10 tps).  To bootstrap from nothing the a node could validate (remember just CPU bottleneck so assuming network and disk and keep up) 185 million transactions per day or about 215 days at 10 tps.  So for near future the CPU isn't really a bottleneck.

Now at 1,000 tps it is a different story so this is why IMHO the first increase to block limit should be a single manual upgrade (to say 5MB or 10MB) to provide time to come up with more robust handling of high transaction volumes.  Those who wish to jump to an unlimited blockchain size are underestimating the risk of either through negligence or malice the blockchain growing so fast that while existing nodes can "keep up" it kills off the ability for new nodes to bootstrap. Given today we are only 0.4 tps I just don't see the potential risks of going from 1MB to unlimited overnight.  A modest one time increase (when necessary) would provide "breathing room" to come up with a more comprehensive solution.
Pages: « 1 ... 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 [281] 282 283 284 285 286 287 288 289 290 291 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 ... 800 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!