Bitcoin Forum
May 03, 2024, 10:16:16 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 2 3 4 [5] 6 »
81  Bitcoin / Project Development / A pinball machine that takes Bitcoin on: June 17, 2013, 06:51:26 PM
Originally posted this in the Newbies forum, probably not the best place, it fell off rather quickly.

https://bitcointalk.org/index.php?topic=232971.0

Reposting here, after some refinement.

Something I wanted to make for folks to try out at the Bitcoin conference that was in San Jose in May, but logistics and other factors didn't quite come together in time.

A pinball machine that takes Bitcoin....

I have some pinball machines, as do friends of mine.  An appropriately themed game would be one of the newer, better games: Tron Smiley

The game would be set up in a public area, for all to see.  Instead of quarters, I'd print out a barcode and attach it to the front of the game.  Pay to that address and the game would credit up, and then you get to play it.

The hardware would be straightforward.  A little embedded Linux ARM board, running the Bitcoin client.  A large SD card would have plenty of room for the blockchain and the rest of the Linux environment.  The board would have at least one GPIO output, that my software could control.  A little custom circuit would have to be made, using a relay, isolated, to use the GPIO to temporarily close a switch that is normally open, so that the pinball machine can be coined up.  To run the Bitcoin protocol, the Linux board would have an Internet connection via cellular modem.

The advantage of the little board running the Bitcoin protocol itself, is that it would be more self-sufficient.  An alternative is to have it be merely a slave, connecting to another computer somewhere else, and then the only time the cellular modem would need to be used would be when it was actually time to credit up the game.  This has the advantage of requiring much less expensive cellular data, however, then the game is slaved to that other computer, and if that link is lost, players will feel ripped off because they'd pay the Bitcoin but receive no game play!

Wherever it runs, it should be trivial to write a little daemon that continuously monitors a particular Bitcoin address, and detects incoming payments to that address.  Since the game would be something of low value (BTC 0.01 or BTC 0.005 per play, I'm thinking), and the player is waiting immediately to play, and the whole thing is a proof of concept anyway, I would feel comfortable accepting payments with zero confirmations.  There is a risk of double-spending, sure, but perhaps this could be mitigated by monitoring other points in the Bitcoin network (perhaps look up each transaction on blockchain.info or similar service, to detect double-spending attempts).  Since players are anonymous, I wouldn't need to care about the source of the funds, or trying to match them up with an identity.  Somebody halfway around the world could make a payment, causing the game to seemingly add credits to itself out of thin air Smiley

Since it would only be accepting payments, and not sending them out, the device need not have the address in its wallet.  This gives it more security, since if somebody breaks into the game and swipes my board, all that is lost is the value of the hardware, no Bitcoin would be lost.

The only disadvantage of this design is that it uses the Bitcoin protocol directly, and the payment amounts are small, so the transaction fee becomes a factor, and it seems kind of silly to have each little game stay on the blockchain for all time.  However, by using Bitcoin directly, instead of a middleman service, it becomes available to all players as an impulse buy, without anybody having to register and fund first at a middleman service.

So, anybody done this already?  Wonder if there's anybody else in the Bitcoin community who is into pinball.  The same concept applies to any other arcade game or amusement device, as well.  Vending machines could also be used, but there'd be a conversion factor to take into account, as the vending product would probably still have to be bought with fiat.

Josh
82  Other / Beginners & Help / Re: Curious whether to run 0.8.2 or 0.8.1 on: June 14, 2013, 09:07:27 PM
Interesting.

5430 Satoshis does seem like a magic number.  Any insight as to how it was derived?  The release notes just says that's the amount, without explaining why, as if the number just came down on a stone tablet from the sky.

I'm glad to see the lower minimum TX fee.  I think it should be even lower.  The blocks aren't maxing out yet, at 1MB/block.  There's still plenty of headroom to accept more transactions.
83  Other / Beginners & Help / Thinking of pinball machine that takes Bitcoin on: June 12, 2013, 10:19:22 PM
Something I wanted to make for folks to try out at the Bitcoin conference, but time and other factors didn't quite come together in time.

A pinball machine that takes Bitcoin....

I have some pinball machines, as do friends of mine.  An appropriately themed game would be one of the newer, better games: Tron. Smiley

The game would be set up in a public area, for all to see.  Instead of quarters, I'd print out a barcode and attach it to the front of the game.  Pay to that address and the game would credit up, and then you get to play it.

The hardware would be straightforward.  A little embedded Linux ARM board, running the Bitcoin client.  A large SD card would have plenty of room for the blockchain and the rest of the Linux environment.  The board would have at least one GPIO output, that my software could control.  A little custom circuit would have to be made, using a relay, isolated, to use the GPIO to temporarily close a switch that is normally open, so that the pinball machine can be coined up.  To run the Bitcoin protocol, the Linux board would have an Internet connection via cellular modem.

It should be trivial to write a little daemon that continuously monitors a particular Bitcoin address, and detects incoming payments to that address.  Since the game would be something of low value (BTC 0.01 or BTC 0.005 per play, I'm thinking), and the player is waiting immediately to play, and the whole thing is a proof of concept anyway, I would feel comfortable accepting payments with zero confirmations.  Since players are anonymous, I wouldn't need to care about the source of the funds, or trying to match them up with an identity.  Somebody halfway around the world could make a payment, causing the game to seemingly add credits to itself out of thin air Smiley

Since it would only be accepting payments, and not sending them out, the device need not have the address in its wallet.  This gives it more security, since if somebody breaks into the game and swipes my board, all that is lost is the value of the hardware, no Bitcoin would be lost.

The only disadvantage of this design is that it uses the Bitcoin protocol directly, and the payment amounts are small, so the transaction fee becomes a factor, and it seems kind of silly to have each little game stay on the blockchain for all time.  However, by using Bitcoin directly, instead of a middleman service, it becomes available to all players as an impulse buy, without anybody having to register and fund first at a middleman service.

So, anybody done this already?  Wonder if there's anybody else in the Bitcoin community who is into pinball.  The same concept applies to any other arcade game or amusement device, as well.  Vending machines could also be used, but there'd be a conversion factor to take into account, as the vending product would probably still have to be bought with fiat.

Josh
84  Other / Beginners & Help / Curious whether to run 0.8.2 or 0.8.1 on: June 12, 2013, 09:57:04 PM
I've been running 0.8.1 for a while, it's tried and true.

Should I upgrade to 0.8.2?

What advantages and disadvantages does it bring?

I'm curious, because even though 0.8.2 came out recently, I did "getpeerinfo" in my client and find that the vast majority of other nodes that I'm connected to are still running 0.8.1.  Are people holding back for a reason?

Thanks!

Josh
85  Bitcoin / Group buys / Re: OPEN USA/Canada [Grp Buy #5 @102/50] ASICMiner Erupter USB 2.04236 ea. @ 5 units on: June 08, 2013, 11:06:56 PM
Krellan; 1; 2.04236; 15NN5cJJsSLGuJ4UHoYRwbLMNyLYpRV7PB

PM with shipping information (signed) has been sent!

Edit: Sent in 2 transactions, because of underpayment earlier, sorry about that.

2.04236 from 15NN5cJJsSLGuJ4UHoYRwbLMNyLYpRV7PB
0.20944 from 1EfVc89NxnLiFVoHTMvkPJ6xae6TBHiDyn

2.25180 total
86  Bitcoin / Group buys / Re: OPEN USA/Canada [Grp Buy #5 @101/50] ASICMiner Erupter USB 2.04236 ea. @ 5 units on: June 08, 2013, 10:39:54 PM
Nice!  Glad I saw this.  Will send in payment for 1 unit ASAP.
87  Other / Beginners & Help / Re: Who was Satoshi? on: May 29, 2013, 06:35:13 PM
Anybody else a fan of the "Hikaru No Go" anime/manga?

I see a lot of parallels between Satoshi and Sai....
88  Other / Beginners & Help / Re: Bitcoin equivalent to old intrade.com site? on: May 24, 2013, 08:24:39 PM
Would be hard to develop mate.

It would take a lot of work, that's true, but there's nothing really stopping it from being done.  Just wondering if anybody's done it already Smiley
89  Other / Beginners & Help / Bitcoin equivalent to old intrade.com site? on: May 24, 2013, 06:55:19 PM
Hi there.

Anybody remember the old intrade.com site?  It was very useful during the 2008 and 2012 elections in the USA.  However, it was taken down.  An obvious idea is to make a clone of that site, but now using Bitcoin instead of "traditional money", to avoid the financial/bank problems that Intrade ran into.

Does such a site exist already?

I found betsofbitco.in which lets you place yes/no predictions, however, it isn't based on a contract that can be bought/sold like Intrade was.  The big advantage of Intrade was that it gave everybody an accurate percentage prediction on whether or not something would be coming true in the future, based on the price of that contract, so people could use it as a crowdsourced prediction tool.

The contracts paid out at 100% if true, 0% if false, and before the outcome of the event was known, it was floated on an open exchange, to trade freely, by posting bids/asks within that range.  Speculators could buy or sell contracts.  Short selling was also easily handled without running into margin problems, because unlike a traditional stock market, the maximum risk of these contracts is known, as the value can never go above 100%.

If a clone of Intrade doesn't already exist in the "Bitcoin world", well, that's your market opportunity!

Is anybody working on such a site?

Josh
90  Economy / Securities / Re: [BTC-TC] Community Exchange w/ Options, DRIP, 2FA, API, CSV, etc. on: May 15, 2013, 09:48:53 AM
Hey hey!  It works.  Wink

I believe the lockout is ~15 mins.

Cheers.

Nice, glad I could test that feature for you!

I (nervously) waited around, and good news, it reopened again, right about that time.  Now I can buy my share and go to bed Smiley
91  Economy / Securities / Re: [BTC-TC] Community Exchange w/ Options, DRIP, 2FA, API, CSV, etc. on: May 15, 2013, 09:33:16 AM
Great exchange, but I made a rookie mistake.  I got my PIN locked.  Reason is, I got confused as to whether or not certain PIN fields require the chosen PIN when creating the account at btct.co (4 digit PIN) vs. using the PIN number obtained from Google Authenticator (6 digit PIN).  Evidently I filled in the wrong PIN once too many times.

Now every transaction attempt gives me "Repeated Incorrect PIN -- PIN Transactions Temporarily Locked."

How long is this lockout for?

Thanks!
92  Other / Beginners & Help / Re: Question about restoring and syncing bitcoin-qt wallets on: May 15, 2013, 07:54:45 AM
Nice!  I didn't know about "Coin Control".  That gives me something to search for.
93  Other / Beginners & Help / Re: Question about restoring and syncing bitcoin-qt wallets on: May 15, 2013, 05:35:13 AM
If it didn't, your backup wouldn't be any good anymore as soon as you request a new address in the "Receive Coins" section as well as every time you send a transaction.  By pre-generating 100 addresses, you can restore a backup that you created 5 addreses and 40 transactions ago and still have access to all your bitcoins.

That's a great reason.  That would imply that a backup must be taken at least once every 100 transactions, otherwise there is a risk of loss if something happens to your installation, right?

As long as you've never sent any transactions at all, yes.  As soon as you send a transaction, the wallet will likely move some of the bitcoins to a "change" address that it does not display to you.  There are commands that you can use in the Console interface to find a list of change addresses that have bitcoins associated with them.

Would it be useful to anybody else if these change addresses were also displayed, perhaps with the current balance of each address?  That might be useful for truly seeing how your holdings are spread across your addresses.

Also, it might be useful if the amount of pregenerated addresses could be set to something other than 100.  If each transaction is going to consume an address, for example, then it might be useful to set this to 1000 or something like that, to guarantee a backup will be good for a long time.  Conversely, if the user wants a smaller wallet, and doesn't plan to spend very many transactions before taking another backup, this could be lowered.

As an example, if one wallet sends change to an address that the other wallet doesn't know about, and then later the second wallet sends change to an address that the first wallet doesn't know about, the two wallets will show differing amounts.  If you restore a backup to try to get it back to the last time you saw it in sync, or you copy one of the wallet.dat files over the other, you can lose all bitcoins that are associated with the change address in the wallet that gets overwritten.  There may be other things that can happen as well, that is just one that I know I've seen other people do in the past in this situation.

Would this problem go away if the Bitcoin client were made aware of every address within both wallets, including change addresses, and merged each list together so that all addresses were unified into a single wallet, including the private key for each address?  It seems that a "Merge Wallet" feature would be useful.  It would result in one wallet containing the combined balance of both previous wallets.

You can see other "oddities" as well.  If there is a soft-fork in the blockchain for a block or two, you can see differing balances or confirmations between the two wallets.  As another example, it is possible to send a transaction from one wallet, and if the other wallet hasn't caught up synchronizing it won't know those coins are spent.  Then if you try to send a transaction from the second wallet it can accidentally attempt to double-spend the already spent bitcoins.

Is it possible to control from which address(es) the coins are spent from?  If so, the user could be careful to select different addresses for each outgoing transaction, during the time the installations would be out of sync.  That should solve the problem of double-spending from the same address.

Thanks for the warnings.  They have given me good ideas for adding features to the Bitcoin client in the future, but for now, if I start a second Bitcoin installation, I'll do it from scratch.  I can then easily transfer a balance by paying myself.
94  Other / Beginners & Help / Re: Question about restoring and syncing bitcoin-qt wallets on: May 15, 2013, 02:19:40 AM
Unless you've changed the defalut settings, the wallet.dat stores the next 100 addresses (and private keys) that you will use in the future.  It also stores all the "change" addresses fro every transaction you've ever sent.  I'm not certain, but I think it also stores any unconfirmed transactions that you've sent or received.

Interesting.  The Bitcoin client generates addresses in advance?  I wonder why it does that: non-vanity address generation shouldn't take very long at all.  I thought it generated addresses on the fly, whenever needed.

That would be nice, wouldn't it?  Instead, you have to find the directory on your operating system where the Bitcoin-Qt client stores the wallet.dat file.  Then you have to shut down Bitcoin-Qt (make sure you wait for it to hu down completely), copy the backup wallet.dat to the appropriate directory, and start Bitcoin-Qt up again.

Thanks.  Does it have to be named exactly "wallet.dat"?  I assume the Bitcoin client will pick it up, when that file is placed in the Bitcoin client's main directory that it manages (not any subdirectories)?

It is a bad idea to run in this configuration for very long.  You will encounter unexpected behavior and the potential to accidentally lose bitcoins.  The Bitcoin-Qt wallet is not designed to remain in synchronization with another copy that has the same wallet.dat.

Interesting.  I didn't mean for it to remain in continuous synchronization, but rather, to use the wallet.dat file from one installation to bootstrap another installation.

Are the displayed addresses in my Bitcoin wallet all it takes to represent my holdings?  Or, are there more addresses than what is displayed?  All the Bitcoin client displays is my total balance across all addresses, it doesn't let me break it down by address (however I verified a few addresses against what blockchain.info displays, and it seems to add up OK).

How would it lose coins, if running multiple installations?  If the network is consistent, then all of my addresses should have a balance associated with them, and anybody could add them all up to determine my total balance, correct?  Or, is there some magic state associated with each installation?

At the moment you start them up?  Yes, probably assuming that the backup is recent.  However, the Bitcoin-Qt wallet moves bitcoins around to new hidden addresses that it creates every time you send a transaction.  Eventually one wallet will send bitcoins to an address that the other one doesn't know about.  Then the balances will be different.  If you aren't careful, you can end up accidentally losing bitcoins permanently while trying to get them back in sync.

Ouch.  It would be very useful to be able to see all of these hidden addresses, as well as a way to see balance by address (not just an overall total balance).

It is not designed to do this easily, however, using the console interface you can issue a "dumpprivkey" command for each and every address in the wallet that has any bitcoins associated with it.  Then you can "importprivkey" each of those private keys into the wallet that you are attempting to merge into.  Make sure you understand exactly how the Bitcoin-Qt wallet works, or you can miss some of the addresses that you need to import.

Interesting.  I wonder if there would be interest from others in adding this feature, to be done automatically?  An opportunity for a project.  Solving the problem of making it easier to merge wallets, would also make it easier to restore wallets, as doing a merge into an empty wallet is the same thing as doing a restore.
95  Other / Beginners & Help / Question about restoring and syncing bitcoin-qt wallets on: May 14, 2013, 11:19:02 PM
Hoping this isn't the super obvious newbie question that I just overlooked.

I've done "Backup Wallet" in my bitcoin-qt client, it wrote a wallet.dat file just fine.  I repeated that a few times, backing up to various drives and USB sticks.

I noticed the file is rather large for what I thought was just the private keys for my Bitcoin addresses.  What is contained in the wallet file?  Mine was around 300K, which is still very small, but large for just a few private keys.  What else is in the wallet file?

Anyway, my question is, how do I then restore the wallet that I've backed up?  Thinking "Restore Wallet" would be right next to "Backup Wallet" in the menu, it wasn't.

I want to also set up a bitcoin-qt client on another computer, and want them to sync up, so that they both see the same addresses and show my balance.  This will also be a good test of whether or not the wallet.dat file truly does a full restore.  Ideally, the account balance should always match, assuming both computers are fully caught up to the latest blockchain, right?

Also curious: How can I merge two wallets together, in the bitcoin-qt client?  That would also be useful.

Thanks!
Josh
96  Other / Beginners & Help / Re: Relationship between transaction confirmations and miners on: April 22, 2013, 09:07:06 AM
When you send a transaction you broadcast it to any peers you are connected to.  Those peers validate the transaction and then re-broadcast it to any peers they are connected to.  Those peers validate the transaction and re-broadcast it, and so on.  Every peer that hears about the transaction keeps track of it in a memory pool so they can transmit it to any new peers that haven't heard about it yet.

Wow, your post is a great answer!  It's a good concise writeup of how it works.  There's a lot of misinformation out there, and this helps to clear it up.  Wish I had read this in a FAQ somewhere first, it would have saved me from asking some silly questions!

Josh
97  Other / Beginners & Help / Re: How does the network resolve conflicting transactions? on: April 11, 2013, 07:15:55 AM
Nice, thanks for pointing me in the right direction!

Josh
98  Other / Beginners & Help / How does the network resolve conflicting transactions? on: April 10, 2013, 08:49:02 PM
I'm curious, how does the Bitcoin network resolve conflicting transactions?  I looked for this in a FAQ, but couldn't find details on exactly how the network chooses which of two choices to believe, when given conflicting choices.

This could either be done intentionally (flooding others in an effort to induce lag, hacking the Bitcoin client to disable consistency checks, generating false confirmations, intentional double-spending, connecting a large network of your hacked Bitcoin clients in an effort to steal traffic from the existing network, any other ways) or accidentally (connecting to the Test network instead of the real network, running offline for a while then reconnecting later).

Which determines the winner?  How does the network know to discard unwanted transactions, provided that those unwanted transactions are not totaling enough to constitute a 51% attack?

It makes sense that Bitcoin would still be vulnerable to a 51% attack.  A corporation is vulnerable (convince 51% of shareholders to vote your way, or just buy 51% of all shares, and you can appoint yourself CEO and do whatever you want), and a democratic government is vulnerable (convince 51% of voters to vote for you, and you are President).  Evidently that's pretty much how the world works, nothing can really be done about that Smiley

Josh
99  Other / Beginners & Help / Re: Possible proof BFL is using people's preorders to mine with. on: April 10, 2013, 08:06:27 AM
I thought of that as well, but have no proof (and even this is just circumstantial, IP geolocation can put you anywhere, it routinely puts me in another state).

My guess is that they're doing a lot of really good extended burn-in testing to make sure your hardware works correctly Smiley

Honestly, they have no rational reason to ship ASIC's now, if they have them.  Since they're one of the few people in the world with a batch of ASIC's, they're probably doing all the mining they can now, because it's very profitable.  If you had something that would put you ahead of the curve, giving you more compute power than everybody else, why would you give it away?  The profit now, from keeping them for your own mining, would outweigh the revenue you would get from selling them.  Therefore, no incentive to sell them.  At best, if it were me, I'd sell only a few at a time, enough to keep people happy that they're getting their orders eventually, but keep most of them for myself.

I can see two things that would motivate them to start shipping their ASIC's: 1) If the difficulty got high enough that even ASIC mining wouldn't be profitable enough to outweigh the revenue from shipping the ASIC's, and/or 2) another different supplier of ASIC's starts selling them to everybody so it's no longer special/unique to have an ASIC relative to everybody else's compute power.

Josh
100  Other / Beginners & Help / Re: Crediting transaction fees back to original miners after split on: April 09, 2013, 08:31:07 PM
Nice, thanks for clearing that up!

I think what's happened is a lot of content has been written about Bitcoin in the last few weeks (obviously), some good, some bad, and a lot of people are reading it and getting misconceptions.

Is this all in a FAQ somewhere?  I looked around and read various FAQ's, but didn't see this mentioned.  I rather like your explanation, it clears things up.
Pages: « 1 2 3 4 [5] 6 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!