Bitcoin Forum
May 25, 2024, 11:31:19 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 ... 228 229 230 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 ... 800 »
5541  Economy / Goods / Re: 80% Lower Receivers for Sale (www.genesiscnc.com accepts Bitcoin Payment) on: July 17, 2013, 08:14:46 PM

How do I register on the Bitpay?


You don't.  You just pay in Bitcoins.  The merchant registers with Bitpay to handle/track payments.
5542  Bitcoin / Development & Technical Discussion / Re: New Attack Vector on: July 17, 2013, 07:36:59 PM
Having worked on RFCs (Perhaps I'll see you in Berlin in a couple weeks? Will you be at the IETF meeting? I will be speaking in the Technical Plenary.), I don't agree.  Not that I disagree that having a Bitcoin RFC would be a good thing— but I don't actually believe it would usefully solve any of the concerns you wish to solve.  When the behavior must be _exact_ it is exceptionally difficult to write a specification that is correct, and the end result ends up being— effectively— code, though it may be a kind of odd quasi English pseudo-code where no tools exist to actually execute it, analyze it, or test it. Behavior specified in standards is only infrequently tightly bound, in the blockchain rules most of the behavior is tightly bound— there is very little implementation freedom available.

Say we were to have written an RFC for Bitcoin in 2010.  It wouldn't have documented that weird invalid DER signatures were accepted, because we didn't know about that then.  Someone who implemented according to the specification might accept them, or might not, depending on how they implemented their code.  When a block arose that exposed the inconsistency the network would suffer an irreparable fork.  What behavior would win?  That would depend on a lot of things— technical, political, and economic. Most likely the most restrictive behavior would win— since restrictions are only soft-forking from the perspective of the permissive implementation, even if the spec said you must be permissive.  What it _wouldn't_ depend on is what the text of the RFC said.

Very good summary.  That said the protocol should be better documented.  The client specific features should also be better documented and indicated as such.  I am not blaming anyone but the fact that the code is the spec doesn't mean that the spec "as we understand it" can't be written down outside of the code.  If nothing else it will help to highlight areas of concern "tricky issues", and areas where the spec didn't match execution in the past. 

As time goes on the spec would encapsulate a lot of trial and error, issues, etc.  For people like kokjo they still won't be happy because the spec will need to be updated over time to better reflect the actual expectation of nodes in the wild (which is the "real" protocol).  It won't be possible to say "nope the spec says X so we do X going forward even if it means a catastrophic hard fork because all existing nodes don't do X they do X'".  Still having it all in black and white makes it easier for new developers to get up to speed. 

Plus putting something in black and white allows knowledgable people to spot omissions or inaccuracies.  The spec can include both required behavior and best hehavior going forward (i.e. non-standard signatures are accepted however all nodes should implement checks to ensure that only canonical signatures along with some test examples).

5543  Bitcoin / Development & Technical Discussion / Re: C# Node on: July 17, 2013, 07:15:48 PM
Got an out of memory exception at around ~ block 216,057.  I had all three caches set to 100 however the system has 16GB of memory, roughly 12GB free.  Looks like BitSharp.Client was using 958.6MB of memory at the time of the exception

Quote
BlockDataCache: DataCache encountered fatal exception in StorageWorker: "Exception of type 'System.OutOfMemoryException' was thrown."

at System.IO.MemoryStream.set_Capacity(Int32 value)\r\n   at System.IO.MemoryStream.EnsureCapacity(Int32 value)\r\n   at System.IO.MemoryStream.Write(Byte[] buffer, Int32 offset, Int32 count)\r\n   at System.IO.BinaryWriter.Write(Byte[] buffer)\r\n   at...

Was able to restart and it resumed without issue.  Stranglely it is running as a 32bit process so that may have had something to do with it.  Need to check configuration settings as it should be building as Any CPU.

Yeah, I've had a rough time with running it in 32-bit as well. I do my best not to hold onto any objects for too long, but it seems that the GC struggles to keep up with the amount of objects going in and out of memory. I'm not a GC expert at all though, so I can't really say for sure what exactly's going in. It seems that I'm stressing things with the way I'm using ImmutableHashSet.

The issue wasn't so much 32bit process running out of memory.  I can't seem to figure out why it was loading as a 32 bit process.  Architecture was "AnyCPU".

The System.Data.SQLite assembly is "AnyCPU" (PE=PE32 & 32BITREQ=0) with no native code (ILONLY=1).

Quote
corflags System.Data.SQLite.dll
Microsoft (R) .NET Framework CorFlags Conversion Tool.  Version  4.0.30319.17929

Copyright (c) Microsoft Corporation.  All rights reserved.

Version   : v4.0.30319
CLR Header: 2.5
PE        : PE32
CorFlags  : 0x9
ILONLY    : 1
32BITREQ  : 0
32BITPREF : 0
Signed    : 1

For some reason System.Data.SQLite is referencing the x86 not the x64 version of SQLite.Interop.dll forcing the entire assembly to run as a 32 bit process.  Forcing x64 as architecture results in a "BadImageFormatException" exception on System.Data.SQLite so once again for some unknown reason it is loading the assembly as 32 bit.  I am not sure why as the point of the split System.Data.SQLite.dll (managed AnyCPU wrapped) and SQLite.Interop.dll (native dll in both x86 and x64 versions) is to allow both x86 and x64 projects from the same reference right?

Anyways I bypassed the issue by just using the mixed mode x64 assembly.
http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki

Still not sure exactly why it didn't work.

Quote
I'd really like to have this optimized for being able to quickly access the data, even if it does even up requiring 64-bit mode to run well.
Agreed.  For my purposes x86 compatibility is a non-issue and as time goes on the data will only get larger.  32 bit general purpose clients make sense where the client is really only interested in the UXTO but for a general purpose parser to build blockchain related tools I see little value in trying to make x86 work.

Quote
I'd like it to be really simple to program against the node easily for things like querying data. At the moment I'm trying to figure out how I'm going to store historical transaction data in a manner that will allow for that that kind of querying access. I want the end result to really be able to scale, though. I'd like to make this as high throughput as I can... lots of work ahead. Smiley

Well a nice start so far. On my system it synced the blockchain from the genesis block significantly faster than bitcoind did.  
5544  Economy / Economics / Re: What if a government just buys up all the bitcoins on: July 17, 2013, 06:57:09 PM
Awesome I will sell mine for $500K each and use the procedes to fund Bitcoin 2.0 and the other half to retire.
5545  Other / Beginners & Help / Re: Having trouble figuring out tx fees on: July 17, 2013, 06:23:28 PM
This link shows it better (link to tx vs the address).
https://blockchain.info/tx/f045f489dd97e8a66e4551d67b117678a558a068ce886cba1aa47b6f7eee84f0

That wasn't a fee.  It was change.  Bitcoin can't spend part of output so it needs to make change
The person making the tx had outputs worth:  0.11097293 BTC and wanted to spend 0.1 BTC.
For some asinine reason they decided they wanted to include a single satoshi (0.0000001 BTC) as a fee (not exactly sure why).
Inputs must equal outputs + fee.

However the user didn't want to spend 0.11097292 BTC they wanted to spend 0.1 BTC so the client made a tx like this

IN0: 0.02465968 BTC
IN1: 0.08631325 BTC
OUT0: 0.1 BTC   <---- amount user wanted to spend
OUT1: 0.01097292 <---- the "change" sent to another address controlled by the user.

FEE: 0.00000001 BTC

You will notice the sum of the inputs minus the sum of the outputs is 0.00000001 BTC which is the fee paid to the miner.

Think of it like you want to buy a candy bar for $1 but you only have a single $20 bill.  How large will the tx be.  Well it can't be $1 because you don't have $1.  The tx will be $20. So you send $20 to the cashier and she sends back $19 in change and puts $1 into the store's account.

In Bitcoin terms it would be like this:
IN0: $20.00    <- your single $20 bill
OUT0: $1.00   <- your payment to merchant
OUT1: $10.00  <- your change in the form of $10 bill, $5 bill and 4x $1 bills
OUT2: $5.00
OUT3: $1.00
OUT4: $1.00
OUT5: $1.00
OUT6: $1.00
FEE: $0.00

You will notice the merchant had to give you a large number of discrete outputs (smaller bills).  This is because in fiat currencies the currency can only exist is predefined forms ($1, $5, $20, $100, etc).  Bitcoin however can create a new output of any value thus in the Candy bar analogy it would be like "You hand cashier a $20 bill, she securely destroys it and prints a new $1 bill and $19 bill, she puts the $1 in the teller and hands the $19 bill back to you".
5546  Bitcoin / Bitcoin Discussion / Re: Virtual Currencies Compliance Conference (VC3) on: July 17, 2013, 06:08:43 PM
Thanks for that I probably will go as well.  How did you find out about the discount code?
5547  Bitcoin / Development & Technical Discussion / Re: Exhausting the keypool. on: July 17, 2013, 05:29:40 PM
Oh, it's something to me, to grumble about again.
Deterministic wallets, that gmaxwell invented already two years ago and are relatively simple to get implemented - where are they?
The Type-2 he came out with, that you can generate further public keys outside the private wallet, brilliant - just what you need here.
But where is it?
Instead what we have got in the past two years?
Is it what we got for these two years a joke - or am I joking? Smiley

I agree this is a cludgy hack compared to the power (elegance?) of type-2 deterministic wallets.  The day that the reference wallet supports deterministic wallets (and only deterministic wallets) can't come soon enough for a whole variety of reasons.  

However until that day I am asking if I missed anything from a security or usability point of view with this "workaround".  I don't believe I have and in testing both wallets function as expected just trying to get a second opinion.
5548  Bitcoin / Development & Technical Discussion / "watching wallet" workaround for bitcoind (requires pywallet beta) on: July 17, 2013, 05:14:32 PM
A common question is how to setup a website or service to accept bitcoins without using any third party services and without leaving keys vulnerable to an attacker.  The most direct method is using a "watching wallet" (aka "read only" or "watch only wallet").  This wallet does exactly what it sounds like.  It can only "watch" owned addresses for incoming transactions.  It is unable to spend/transfer coins.  It does this by simply not having the private keys necessary to sign transactions.  There is a complimenting "spending wallet" which can be kept secure offline (or at least off the visible public webserver) which has the private keys and can sign transactions.  An attacker can't steal what isn't there.  Other clients have supported watching wallets but bitcoind does not, this guide however will illustrate a workaround which enables the use of bitcoind in a "watch-only" manner.  

Assumptions on my part:
1) Bitcoind requires an encrypted wallet to be unlocked to refil the keypool.
2) The wallet will perform this refill transparently (without notifying the user) anytime the wallet is unlocked for any reason.
3) If the wallet is never unlocked the keypool will eventually be exhausted.
4) If the wallet is exhausted and locked, a request for a new address (getnewaddress RPC call) will always fail and no address will be returned.

These assumptions have been verified and create a scenario where we can ensure the public keys on a wallet don't change.  We do this by expanding a keypool, locking the wallet, and not unlocking it.  The webserver simply "doesn't know" the passphrase necessary to unlock it's wallet and thus the keypool will consists of known keys until it runs out and needs to be replaced, this is the "watching wallet". By having another copy of the same wallet offline with a secure known passphrase we can spend coins we receive if/when necessary, this is the "spending wallet".


Random passphrase method for creating a "watching wallet" using bitcoind:
 Obsolete now that pywallet supports creating watch-only clones.
1) On a secure non-public computer, create new wallet, expand keypool to desired size, encrypt with strong known passphrase
2) Make an offline backup of the wallet and passphrase = "spending wallet"
3) Change encryption passphrase to a random 256 bit string (64 hexadecimal digits) = "watching wallet"
4) For security purposes, discard and do not record the random passphrase anywhere.
5) Transfer "watching wallet" to wallet server.

At this point you have two identical copies of the same wallet (including the same sequence of private keys in the keypool).  The "watching wallet" has an unknown and unbreakable random passphrase so loss of the server wallet will not compromise the private keys.


Pywallet clone method for creating a "watching wallet" for use with bitcoind
At this time the ability to clone a watching copy is only available in the beta version of Pywallet (v2.1.0b2 or later).
Pywallet will work with the encrypted copy of your wallet file, does not have access to your private keys and does not require your passphrase.
BETA DISCLAIMER: Beta software should only be used for development and not for production.

Pywallet 2.1.0b2

1) Secure the "spending wallet".
You will need a copy of the wallet which can be used to spend coins as the watching wallet lacks to the private keys necessary.  We will start by ensuring we have a good "spending wallet".  I recommend starting with a new wallet (launch bitcoin with no wallet.dat and it will create a new one).  You should encrypt the wallet by setting a passphrase.  Before you go any further verify the passphrase is set correctly by unlocking the wallet. This is also a good time to securely record the offline passphrase in a paper backup.  Strong cryptography is a great tool but lose/forget your passphrase and you will realize the nightmare of how strong it really is.  The wallet you have now is the "spending wallet".  It should be stored securely offline or on a secure (non-public) computer.   The spending wallet should never be on the same server as the watching wallet as that defeats the purpose.

2) Expand the keypool (if necessary)
Since new keys are added to the keypool randomly, the watching wallet will remain perpetually locked so no new keys are added.  This is important because new keys are random so if the watching wallet expands it will not match the "spending wallet".   By keeping the watching wallet static we can ensure there is no loss of keys.  The downside is that eventually the watching wallet keypool will be exhausted (0 available new keys) and you will then need to repeat this process. The default keypool in bitcoind is relatively small at 100 future keys so for most applications you will want to expand the keypool to something larger.

To expand the keypool bitcoin (GUI client) or bitcoind (daemon) needs to be started with the --keypool argument.  This can only be done at launch there is no RPC call available. 

Code:
bitcoind -keypool=XXXX  <--- to launch deamond
bitcoin -keypool=XXXX <-- to launch GUI client

XXXX is the desired number of private keys in the keypool (i.e. keypool=1000 will enlarge the keypool to 1,000 keys).  The value provided is the new keypool size not how large to expand it.  On a new wallet using keypool=1000 will add 900 more keys for a total of 1,000 not 1,000 new keys for a total of 1,100.    The command only informs the client it should expand the keypool when it has access.  The client can't expand an encrypted wallet if it is locked.  You can force the wallet to unlock temporarily with the walletpassphrase RPC command.

Code:
walletpassphrase="<password>" <time to leave wallet unlocked in seconds>
walletpassphrase="abc" 120

For large keypools it can take a few minutes to create and store the keys depend on your system performance and the program will provide no indication of progress.  Just wait.  

Performance Note:  Wallets with a large number of keys (more than 5K to 10K depending on system) can be sluggish in responding to RPC commands.  It will also require more resources to scan the blockchain for incoming transactions.  Try to balance the size of keypool with your expected number of keys and the computing power available.  If your site needs <10 new keys per day and is running on a low powered VPS making a wallet with a 20,000 key keypool is likely not going to produce good results but on the other hand if you need an average of 200 keys per day and have a dedicated server making a keypool of 250 is going to need nonstop refreshing.

3) Verify the keypool is set correctly.
To verify the size of the keypool, use the getinfo RPC call.
Code:

> getinfo
...
    "keypoolsize" : 301,
...

This wallet has 301 keys in the keypool.

4) Make a backup
Make a backup of your current wallet.dat.  This is a backup of your "spending wallet".  I recommend you name the backup something descriptive to avoid confusion with the watching wallet copy (i.e. "wallet.spending.dat".  At this point the spending wallet should have an expanded keypool and be encrypted with a strong passphrase.   

If you lose a copy of your spending wallet you will be unable to spend your coins.
If the passphrase for your spending wallet you will be unable to spend your coins.
The watching wallet copy we will make next is incapable of spending the coins to ensure you have a backup or your wallet and passphrase.

The whole point of the watching wallet is for it to be unspendable, you should understand that undspenable means unspendable.  There is no hack or trick or backdoor which will restore access to your coins.  The watching wallet copy should not be considered a backup.

Paper backup of private keys (optional)
For additional security you can export and print your private keys using a dump from pywallet, to store in a safe offsite location (fireproof safe).
Code:
pywallet.py --dumpwallet > dump.encrypted.txt
or
pywallet.py --passphrase="pass" --dumpwallet > dump.decrypted.txt


The dumpwallet command will dump the entire wallet (tx history, keypool order, labels, etc).  For brevity you can print just the "keys" section (it includes the keys in the keypool).  You don't need the "pool" section as it just contains the order of the keypool.  If you include a passphrase the keys will be decrypted.  If you do not include a passphrase the keys will be left in encrypted form.  I use the encrypted option to print a disaster recovery (a backup for the backup) copy of all the company private keys which is stored off site in a fire rated safe.  Yeah I am a little paranoid about backups but haven't lost a Satoshi yet.

5) Clone the backup of the "spending wallet" to produce a "watching wallet" using pywallet
You will need pywallet (and python and necessary dependencies) installed.  Installation is beyond the scope of this guide:
https://bitcointalk.org/index.php?topic=34028.0

Only the beta version of pywallet (2.1.0b2 or higher) has support for watch only clones.
http://pastebin.com/raw.php?i=2FtQDj3v]Pywallet 2.1.0b2

We will use pywallet to create a "watch only" clone of the existing encrypted wallet.  For ensure the watching wallet can't be used for spending the existing keys will be overwritten with random placeholders.  Pywallet can't simply delete the private keys as bitcoind is unable to handle a wallet with no value for a private key so it uses a random value as a placeholder.  The watching wallet should remain perpetually locked as if it is unlocked the keypool will refresh with new random keys not contained in the spending wallet.  Pywallet protects against accidental user unlocking by setting the passphrase on the watching wallet to an unknown random value.

So in summary:
A thief can't steal the private keys because they don't exist in the watching wallet.
A user can't accidentally unlock the wallet because they don't know the passphrase.


The command to create a watch copy of the wallet using pywallet is:
Code:
pywallet_2.1.0b2.py --clone_watchonly_from /path/towallet/wallet.dat --clone_watchonly_to /path/to/clone/wallet.watching.dat

An extracted keypair dumped from a wallet prior to cloning.
Code:
        {
            "addr": "1FHiDfisR6fysDtQnYouVXrmjZZmp7neBx",
            "compressed": true,
            "encrypted_privkey": "d37ea90b1d6f5c33a087c24caa45ca2ff688ece354356a6d86f4d89a44b64ca829996e669c20207947588f738daf4b7c",
            "pubkey": "032101fb87879f540d9496f744e3b159eea5243d766a0540a7d67cb5e3eaa50868",
            "reserve": 1
        }


The same keypair dumped from the cloned watch-only copy.
Code:
        {
            "addr": "1FHiDfisR6fysDtQnYouVXrmjZZmp7neBx",
            "compressed": true,
            "encrypted_privkey": "06a858fc422cd20c4dd92017592c3b878b2973496bf0ed5e6cb25711d90e32d7fcd809325a7c9c747eb38534b6091f88",
            "pubkey": "032101fb87879f540d9496f744e3b159eea5243d766a0540a7d67cb5e3eaa50868",
            "reserve": 1
        }

You may wish to store a backup of the watching wallet in the same location as the spending wallet.  There is no risk of losing funds if the watching wallet is lost/stolen/corrupted however having a backup avoids the need to reclone the spending wallet.  It is strongly recommended that you label the files appropriately (i.e. wallet.spending.dat & wallet.watching.dat).

6) Upload the watch-only copy to your public server.
Upload the watch-only copy of the wallet to your public webserver.  Make sure you upload the correct one.  If necessary rename the wallet to wallet.dat.  Restart bitcoind.  Once synced to current block, if the client still shows an incorrect balance, restart using the "--rescan" command line option.  
5549  Bitcoin / Press / Re: 2013-07-17 MarketWatch - The real threat to gold is digital, like bitcoin on: July 17, 2013, 04:57:02 PM
Wow nice article and one I couldn't imagine seeing a year ago.  I agree with just about everything in it including the idea that Bitcoin may crash and burn but the genie is out of the bottle.  The concept of cryptocurrencies controlled by math and logic rather than sycophants and central banks is far larger than just Bitcoin.

Quote
The key argument for owning the precious metal is that it is the main alternative to paper currencies. You can argue about whether that is necessary or not — plenty of people agree with the British economist John Maynard Keynes that it is a ”barbarous relic.” That doesn’t matter, however. The fact is some people — including a lot of central banks — believe that gold is an alternative to paper money and buy it for precisely that reason.

In the past, silver and a few other precious metals provided some competition, but by and large gold has had that market to itself. If you just wanted a reliable place to stash your cash, you had two options — deposits in banks in a currency controlled by governments, or else gold. There wasn’t anywhere else to go.

But new digital currencies such as bitcoin are explicitly designed as an alternative to paper money — and indeed largely mimic gold in their limited supply. Of course gold has been a medium of exchange for a few thousand years — and bitcoin for about five minutes. Still, as it and its rivals grow in importance, gold will have a genuine competitor

This sums it up.  Bitcoin (or more generally cryptocurrencies) are a next era of currency. Please don't this as "Bitcoin can't lose put all your money into it".  We have no idea how long it will take for this era to replace the last one, nor what form it will look like.  However barring some end of the world as we know it scenario it seems plausible that decentralized currency will eventually on a long enough timeline at least partially replace fiat currencies.

Human history has really only seen 4 eras of currency.
1) No currency era = bartered goods, generally one form of bartered goods because the "most bartered good" and acted as money
2) Commodity based currencies = issuance limited by bullion available to mint into coins (i.e. gold coins issued either privately or by sovereigns)
3) Commodity backed currencies = issuance limited to bullion reserves held by issuer (i.e. old US Notes)
4) Fiat currencies = issuance limited only the whims of the central bank  (i.e. Federal Reserve Note)
....
5) Cryptographic Currencies issuance limited to the consensus protocol (i.e. Bitcoin, et all)
5550  Economy / Speculation / Re: Liquidity problem on: July 17, 2013, 04:42:14 PM
Does anyone else visualize a future where bitcoin may be strong but there is no BTC/Fiat supply/demand, because people are actually USING bitcoin for purchasing and selling goods/services, and the fiat/btc exchanges dies because of regulation or the fact that fiat dies?

It's out there, but we can't discount the fact that bitcoin does not necessarily need (Especialyl in the future) a fiat/btc valuation to be healthy.

No currencies are the most traded good.

Say I will sell you 1 ounce of gold for 20 Bitcoins.  Is that a good deal?  Lets pretend no USD/BTC exchange rate is available.  Well the only way to know would be to compare all the others goods and services you can get for 20 BTC and try to come to some rationalization of value.  Now here is the funny part.  Likely in your mind what you will do is something like this.

So I can get a 10 steam games for 1 BTC.  Steam games (discounted) tend to run $5 to $10 ea so lets say $7 so 10 steam games is $70.  Therefore 20 BTC is 200 steam games or $1400.  Yeah I guess that is a good deal.

The problem with that is that it is horribly inefficient.  With little price visibility commerce will still occur but it will be less frequent and smaller valued trades.  This creates a cycle effect.  Less historical trade data means less visibility which means less commerce which means less historical trade data which means less visibi.... sorry I got stuck in a loop.

Currency Exchange exists.  It is exists for a reason.  The reality is that for most fiat currency users it is hidden.  If you buy an xbox for EUR (produced by a US company which pays profits/salaries/expenses in USD and built in China with costs in CNY) it is IMPOSSIBLE for currency exchange rates to not affect the sale price of your unit.  Now you don't see it because Microsoft does some rounding to make the price nice and "neat" (like 299.99 EUR) but those factors are going on behind the scene all the time.  If the exchange rates deviate too much they will have to reprice (or more likely not have a price drop because the exchange rate fluctuation ate into the price drop margin).

Long story short there will never be a scenario where an entire economy is in BTC.  The entire US economy (used by 300M people and backed by the power of legal tender) isn't isolated from international exchange rates.

Oh and stop complaining about "too much speculation" (this is in general and not to the post I am responding to).  The speculative market is what creates liquidity. Sellers must sell, buyers must buy it is speculators who can do both and leave standing orders.  Case in point the US GDP is ~$15T annually.  Guess what the USD Forex trade volume is ....  ~$5T.  Sounds like a lot huh er wait that is PER DAY.  US "real economy" $15T annually, USD currency exchange $5T a day or $1.825 quadrillion dollars annually.

Now some people say what happens when fiats fail.  Well it is unlikely they will all fail at the same time.  80% of all fiat currencies have already failed.  The history of fiat currencies is a never ending fail train.  Say the USD fails, then the CNY may rise as a reserve currency, 30 years later China implodes and the EUR2 becomes the most traded currency, 30 years later the reformed United States issues a new gold backed currency which is considered a safe haven.   Still in the hypothetical scenario where no fiat currencies exist (an unlikely scenario and most likely will be after your grand children are dead) something else will be the metric for value.  Maybe it is gold. BTC:GLD ratio or electricity BTC:XEC. I made that symbol up BTW.


 
5551  Alternate cryptocurrencies / Altcoin Discussion / Re: Miner's Official Coin LAUNCH - NUGGETS (NUGs) on: July 17, 2013, 01:45:53 AM
I am educated enough to know what I need to make it.  I'm honest enough (thank God) to know what qualities I lack.  A lack of knowledge is only bad when you lie to yourself and think you don't need help. Programmers are for hire.  I made a mistake case I thought people here were hardcore programmers.

Your mistake was your coin was fundamentally flawed.  It was flawed due to YOUR ignorance.  Getting a better programmer doesn't just magic away that ignorance.

a) having flat coin generation for 7 years and dropping to zero is asinine.
b) believing that a variable block rate helps small miners is equally asinine.
c) thinking someone with 51% of hash power can change the rules shows a fundamental lack of understanding in an area where you are trying to "invent" something new.
d) accepting a statement that variable block rewards can't work with POS protected chain shows how shallow your knowledge is.

These aren't programming mistakes they are flaws in the high level thinking required for designing a crypto-currency.  The worst part is your inability to accept responsibility and instead blame everyone around you.  Please launch equal dubious failures, get them out of system quickly.
5552  Alternate cryptocurrencies / Altcoin Discussion / Re: Miner's Official Coin LAUNCH - NUGGETS (NUGs) on: July 17, 2013, 01:39:11 AM
But this can't be stopped.  Can't you see the exponential growth just like I predicted and in 18 months you're gonna look at 3,000 coins.

There is no exponential growth.  The rate of new scamCoin releases is significantly down.  The number of releases is also irrelivent, what matters is the number of actively developed and mined coins and that is a flat line at best.

6 months ago Bitcoin had ~95% of cryptocurrency marketshare and Litecoin had ~4% with the other 1% spread among a couple dozen dead or dying coins.  Today Bitcoin has ~95% and Litecoin has ~4% and the final 1% is spread among a couple dozen dead or dying coins.  The scamCoins are parasitic to one another.  They are exact copies which produce no value so one gets hyped one weak and crashes the next weak.  A coin goes offline only to be replaced with another one.

The vast majority of the coins will be gone in a year and will never rise to any significant usage. Only five coins have ever broke through $1 mil USD in valuation and honestly even $1M is a negligible amount.  None of those have been released in the last three months.  Of the five only NVC was released this year. 


5553  Other / Meta / Re: How do I view a list of revisions to posts on this site? on: July 16, 2013, 11:43:12 PM
How do I view a list of revisions to posts on this site?

You don't unless you are an admin or mod.
5554  Other / Beginners & Help / Re: Do You Think Bitcoin Could Have Existed in the 90s? on: July 16, 2013, 11:32:24 PM
Probably not.  Not just from a hardware standpoint.  The concept of a decentralized networks is more established.  Although it is a crude analogy BitCoin is to money as Bittorrent is to data.
5555  Bitcoin / Press / Re: 2013-07-15 Wired: The Internet Archive Rescues Bitcoiners From Banking Oblivion on: July 16, 2013, 11:06:57 PM
Internet Archive Federal Credit Union for the win ... how do I buy shares?

Um it is a CU.  There are no shareholders.  The CU is owned by members and CU strive to remain roughly break even over time as members both pay fees/interest and collect interest.  If the CU posts a profit it is returned to members on a % basis of total deposits.  However CU don't attempt to seek a profit as that would simply mean they are overcharging their members to begin with.

TL/DR All CU are owned by the members of the CU.
5556  Bitcoin / Development & Technical Discussion / Re: C# Node on: July 16, 2013, 11:00:10 PM
Got an out of memory exception at around ~ block 216,057.  I had all three caches set to 100 however the system has 16GB of memory, roughly 12GB free.  Looks like BitSharp.Client was using 958.6MB of memory at the time of the exception

Quote
BlockDataCache: DataCache encountered fatal exception in StorageWorker: "Exception of type 'System.OutOfMemoryException' was thrown."

at System.IO.MemoryStream.set_Capacity(Int32 value)\r\n   at System.IO.MemoryStream.EnsureCapacity(Int32 value)\r\n   at System.IO.MemoryStream.Write(Byte[] buffer, Int32 offset, Int32 count)\r\n   at System.IO.BinaryWriter.Write(Byte[] buffer)\r\n   at...

Was able to restart and it resumed without issue.  Stranglely it is running as a 32bit process so that may have had something to do with it.  Need to check configuration settings as it should be building as Any CPU.
5557  Bitcoin / Bitcoin Technical Support / Re: where are my bitcoins on: July 16, 2013, 10:51:46 PM
This thread is a great example.of some of the subtleties of Bitcoin.

Also to throw into the mix is that when the OP updated his software he no doubt started it up again. MultiBit automatically retransmits transactions that did not propagate out previously.  It connects to random bitcoind nodes when it starts up. This time it started the node it passed the transaction to may have decided to pass it on.

thanks for the info, you and everyone

so although this was educational, if I was using the latest multibit I would never have been exposed to this dilemma?

Correct.  It comes from the fact that today nodes running 0.8.2 or higher will (by default) reject tx which have outputs less than 5,430 S, that is 54.3% of the min mandatory fee (10,000 S).  If the entire network was running 0.8.2+ with default rules your tx would not have gone anywhere, if you were running latest version of client it would have prevented you from making this transaction.   As it stands right now some node are running older versions of the client and thus your tx "got through".  In time as the % of nodes running 0.8.2 (or equivalent for non-reference clients) increases the chance that a similar transaction will be able to find a compatible node to relay it will be greatly reduced.

5558  Other / Beginners & Help / Re: Anyway to reverse an unconfirmed transaction on blockchain.info on: July 16, 2013, 10:46:12 PM
ANY Help is appreciated - see above! Very time sensitive



Export the private keys involved into a different client and attempt to create a double spend.  The issue is that any node which saw the first tx will reject the second one.  Bitcoin makes it intentionally difficulty to double spend. 

If the first tx should have had a fee and doesn't then it may have been blocked/rejected by nodes on the network this increases the chance the replacement can be relayed to a miner and included in a block.  The chance is still low though.
5559  Alternate cryptocurrencies / Altcoin Discussion / Re: Miner's Official Coin LAUNCH - NUGGETS (NUGs) on: July 16, 2013, 10:21:58 PM
Did you guys not notice the spike in coins with super blocks after I was posting my idea for a VGB protociol and gave a rough idea of how it would work. Numerous people noticed an unusual spike in super block coins although none were original like a lottery system (which of course doesn't work).

Get over yourself. The concept of variable/lottery/super blocks was first introduced over 2 months ago in the (now dead) luckycoin.  "Your" protocol was nothing new, novel, and didn't achieve its stated goal of helping smaller miners.

You will notice the code in luckycoin is almost indentical to the code in "your" coin.  Well with the exception that it actually works.
https://github.com/LuckyCoinProject/Luckycoin/blob/master/src/main.cpp#L842

You aren't even #2 at least half a dozen coins launched before NUG included the concept of variable block rewards.

5560  Alternate cryptocurrencies / Altcoin Discussion / Re: Miner's Official Coin LAUNCH - NUGGETS (NUGs) on: July 16, 2013, 09:58:02 PM
How can you not be capable of reading your own thread?

https://bitcointalk.org/index.php?topic=256460.msg2744015#msg2744015
Pages: « 1 ... 228 229 230 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 ... 800 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!