Bitcoin Forum
November 09, 2024, 05:21:23 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Poll
Question: Which is the more immediate need for bitcoin?
Scalability
Multi-sig

Pages: « 1 [2]  All
  Print  
Author Topic: [POLL] Multi-sig or scalability--which is more pressing?  (Read 3745 times)
2112
Legendary
*
Offline Offline

Activity: 2128
Merit: 1073



View Profile
July 22, 2012, 02:46:12 PM
Last edit: July 22, 2012, 03:16:10 PM by 2112
 #21

Bitcoin doesn't need a fully relational database, it just needs a key/value store . A standalone database like MySQL/Postgres would complicate installation a lot! A library equivalent like SQLite would probably be even slower than Berkeley DB which is what's used at the moment.

Right now the core Bitcoin network has run out of disk seeks, which are a finite resource. That's why some mining pools are dropping fee-paying transactions from SatoshiDice. In other words, Bitcoin has already reached a scalability limit and miners are load-shedding in order to keep the orphan rates down.

LevelDB was designed to optimize for reduced disk seeks as its primary goal, and it sacrifies many advanced database features to get that. Its design is one reason Google BigTable is such a high-performance storage system. Fortunately we don't need those advanced features, but we do need more seeks, which is why it makes sense to use it.

This just reads like joking. Is Mike Hearn a member of core development team? Disk seeks a finite resource? Inform International Union for Conservation of Nature! Probably again the Asian are the culprits and use up the endangered "disk seeks" to produce some traditional potency medicine!

1) Blockchain is stored in a raw file with no structure. On top of it this file is maximally fragmented (for an append only file) due to the way it is written by a mixture of stdio.h/iostream.h calls.

2) The current blkindex.dat is treated like a valueable transactional storage with logging while being just an index, something that a proper database recreates with a "reindex" command.

3) No interprocess locking protocol thus far beyond the single ".lock" file.

I see many years of reinventing the wheel ahead of the Bitcoin core development team. I wonder how many more years until they reinvent the ISAM (Indexed Sequential Access Method, IBM had that since around 1960) and figure out that the index could store unspent transaction scripts until they are spent and purged from the index.

Edit: And how many more years until the discovery here that the transaction key space is uniformly random by design and thus cannot be used alone as key. Then how long until the discovery that transaction space is clustered temporally and widely known generational garbage collection is applicable to Bitcoin?

I see an invisible hand steering the Bitcoin development. It is a hand of an expert in padding the billable hours and lines of code.

Please comment, critique, criticize or ridicule BIP 2112: https://bitcointalk.org/index.php?topic=54382.0
Long-term mining prognosis: https://bitcointalk.org/index.php?topic=91101.0
Gavin Andresen
Legendary
*
Offline Offline

Activity: 1652
Merit: 2301


Chief Scientist


View Profile WWW
July 22, 2012, 03:22:10 PM
 #22

blah blah blah blah
Gentle reminder to the other bitcoin developers: it is generally best not to feed trolls.  Use the ignore button.

How often do you get the chance to work on a potentially world-changing project?
2112
Legendary
*
Offline Offline

Activity: 2128
Merit: 1073



View Profile
July 22, 2012, 07:34:52 PM
 #23

Gentle reminder to the other bitcoin developers: it is generally best not to feed trolls.  Use the ignore button.
“If you sit in on a poker game and don’t see a sucker, get up. You’re the sucker.”

http://quoteinvestigator.com/2011/07/09/poker-patsy/

Anyway, here's the example of how open source poker is being played.

A whale of a player spends big bucks developing a secret database engine. After 5 years this player takes one of the earliest branches and open sources it. Lets call that branch LevelDB. Suckers jump on it, spend money and energy to develop some basic tools like statistics gathering and query optimization. Then the whale brings the cold deck to the table, which gives him an instant 5 years of leadtime. It looks like that:

Then, a month later, the main devs decided to switch to compressed public keys which requires a whole new wallet format for Armory.  I was crushed.

I'm no Google insider or anything like that. But I used to knew the people who played with the current Googlers; and I'm broadly familiar with the level of skill involved.

Before you spend to much time at the keyboard and mouse please do see the old David Mamet's movie "House of games". Remember the line:

“it was only business … nothing personal.”

Please comment, critique, criticize or ridicule BIP 2112: https://bitcointalk.org/index.php?topic=54382.0
Long-term mining prognosis: https://bitcointalk.org/index.php?topic=91101.0
Mike Hearn
Legendary
*
Offline Offline

Activity: 1526
Merit: 1134


View Profile
July 23, 2012, 12:03:40 PM
 #24

I don't really understand what you're getting at. I work for Google so am an "insider" in that sense. The database engines built on top of LevelDB-equivalent code are not secret. They're called BigTable and MegaStore, you can read papers on how they work. They aren't appropriate for Bitcoin and never will be.

Re: storing scripts in the index. Yes, eliminating the blkN.dat files and putting all data into the key/value store may be a way to further reduce seeks in future. It's a more complex change though. Anyone is welcome to contribute patches that speed things up. The key bottleneck right now is block propagation time. Small improvements in that metric can result in big changes in how quickly a newly solved block gets everywhere.

acoindr
Legendary
*
Offline Offline

Activity: 1050
Merit: 1002


View Profile
July 24, 2012, 02:19:35 AM
 #25

...
Hardware Wallets

A hardware wallet is about the size of a DSL modem. It's composed of a very simple cpu/motherboard, small solid state hard drive, NIC, probably an LCD screen, and a few ports as I'll describe. It has a clean Linux install and a Bitcoin client. MSRP about $70.00.

Little Timmy tells grandma what to do:

Okay, grandma, just go to BestBuy, or this website and buy the bitcoin solid wallet (hmm i like how that sounds!). Open the package and plug it in. Connect the cable to the Internet and press the "on" button. When the light turns green it's ready to use!

On the screen you will see it says "receive address" followed by a long string of characters. Don't worry about that right now. In the package you will see two USB sticks. Take one and plug it into the USB slot. Press the top button that says "backup wallet". When the light turns green remove the USB stick, plug in the other USB stick and press the "backup wallet" button again. Put the USB sticks in two separate safe places, like a bank safe deposit box for one, and home safe for the other.

Now you're ready to use Bitcoin!

Go to WalletBit.com and sign up with an email and password. You will also have to go to Mt.Gox and sign up to buy some bitcoins, but for now I'll just send you some to get started and you can pay me later. In fact, I've already sent coins to your WalletBit account because I know your email address!

Log in to WalletBit and you'll see them there! You can pay anybody just by using their email address.

What's the SolidWallet for? Oh that's when you're ready to really get into Bitcoin and you will hold lots of them. Remember your "receive address" it showed? Well, when you do buy lots of bitcoins, like on Mt.Gox, you will send them to that address. It's easy. Then when you want to fill up your balance at WalletBit just log in there and click "Deposit Bitcoins". Unplug your computer keyboard and plug it into the back of the SolidWallet and press the "Send" button on top. Type the long address shown by WalletBit, just do it carefully and double check it. Press the "BTC amount" button on top and type the number of bitcoins you want to deposit. Press the "Send" button again. That's it! Your SolidWallet screen will show your new balance.
______...
http://www.youtube.com/watch?v=YtdWHFwmd2o&feature=player_detailpage#t=25s
OMG, this is what you'll sound like to grandma !

OMFG LMAO!

I must have been for too long in your first scenario, I didn't understand the 2nd at all.
All I can tell from it is that it's about 3 time longer in terms of words / instructions.

Oh and what happen when someone steal the "Hardware Wallet" ?

Jokes aside the difference between the first "Little Timmy" instructions and second is that grandma can actually understand and follow the second set, even if dictated over the phone. It's spelled out. If I spelled out the first version to be understandable by grandma the length and sound would be similar.

The advantage of the second version is that grandma can actually teach her bridge playing group after she is set up and running, because everything involved exists in the physical world enough for her level of understanding.

She wouldn't be able to re-do the first version even after being walked through it.

As for stealing the hardware wallet that's the point of it. Almost everyone in the world understands how to try securing physical objects, but when it comes to computer files that's another story.
acoindr
Legendary
*
Offline Offline

Activity: 1050
Merit: 1002


View Profile
July 24, 2012, 02:25:13 AM
 #26

Unplug your computer keyboard and plug it into the back of the SolidWallet and press the "Send" button on top. Type the long address shown by WalletBit, just do it carefully and double check it. Press the "BTC amount" button on top and type the number of bitcoins you want to deposit.
Typing the bitcoin addresses by hand is not a way to go.

Why not? Have you ever watched an older non-computer literate person at a computer? They can understand simple instructions like typing something out, even better than learning how to copy and paste, believe it or not. They may sit there several minutes but they can get it done.

All I'm trying to do is move things out of a realm where such users are extremely out of their depth to a place they can feel the ability to manage on their own if need be.
Bitcoin Oz
Hero Member
*****
Offline Offline

Activity: 686
Merit: 500


Wat


View Profile WWW
July 24, 2012, 02:33:49 AM
 #27

I don't really understand what you're getting at. I work for Google so am an "insider" in that sense. The database engines built on top of LevelDB-equivalent code are not secret. They're called BigTable and MegaStore, you can read papers on how they work. They aren't appropriate for Bitcoin and never will be.

Re: storing scripts in the index. Yes, eliminating the blkN.dat files and putting all data into the key/value store may be a way to further reduce seeks in future. It's a more complex change though. Anyone is welcome to contribute patches that speed things up. The key bottleneck right now is block propagation time. Small improvements in that metric can result in big changes in how quickly a newly solved block gets everywhere.



Google wallet is what hes talking about  Smiley

acoindr
Legendary
*
Offline Offline

Activity: 1050
Merit: 1002


View Profile
July 24, 2012, 08:54:16 PM
 #28

I just realized another way non-computer literate people can use bitcoins safer is some default program that let's them print them out as casascius printable bank notes.

The software prints out private key bearing bills with the correct denominations for the value in the wallet. After the user confirms all bills printed successfully the private keys on the software are deleted. The user then only has to worry about securing the paper bills, just like current fiat money! They can still spend them the same way too.
Pages: « 1 [2]  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!