Bitcoin Forum
April 30, 2024, 08:13:33 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 ... 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 [58] 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 »
1141  Bitcoin / Bitcoin Discussion / Re: The path to one world currency on: May 02, 2013, 04:05:46 AM
The path to one world currency
The path to many competing global currencies
1142  Alternate cryptocurrencies / Altcoin Discussion / Re: Cryptocurrency with Finite "Mini-Blockchain" on: April 30, 2013, 09:10:36 AM
it was reasonably solved
I was saying that I've solved the Mini-Blockchain + Address Database problem I've been working on. But from what I understand of your scheme, it may be "reasonable", but it still appears to have flaws and weak points if we're measuring how good it is in terms of how secure it is vs how much data needs to be managed by the network.
1143  Alternate cryptocurrencies / Altcoin Discussion / Re: Cryptocurrency with Finite "Mini-Blockchain" on: April 30, 2013, 08:17:14 AM
Sender can store copies of blocks in which he made transactions. Validity of blocks can always be proved with chain of block headers(these are stored indefinitely) and sender can still prove that he had send funds to some address with certain message even after rest of network forgot about it.
That's a good idea actually, but I was talking about if the receiver comes online after the block of interest has been pruned from the mini-blockchain. They will be able to verify the money went to them because of the address database (which I now prefer to call the account database), but if they come online too late they wont be able to identify the sender or get the message. They could as you mentioned just get the block again from the sender if the sender saved it and sender node was still online. Or they could ask around in the hope another node was still holding onto the block they were after. But they would really only need to bother with this to retrieve detailed information about the transaction, it's always possible to confirm received funds without needing the block in which the transaction happened.
1144  Alternate cryptocurrencies / Altcoin Discussion / Re: Cryptocurrency with Finite "Mini-Blockchain" on: April 30, 2013, 08:00:24 AM
Make a checkbox in the client to enable full or pruned blockchain download.  Pruned blockchain can just download the block from a bunch of full nodes in the event of a dispute.  The danger of a sybil attack exists, but I don't think it's great.
I think the whole point of finite blockchain is that NO node in network is required to hold full copy of blockchain. If you still need full nodes i don't see how it is better than bitcoin.
Yes exactly. That's why I was unsatisfied with the solution of having a mini-blockchain plus older historical blocks as backup security. It's really an unsatisfying and rather redundant solution which takes us back closer to square one.

But my latest solution is perfect. As far as I can tell it provides that almost "absolute" level of security bitcoin has. It uses the same type of mini-blockchain concept but doesn't require those pesky historical blocks. Well it requires a type of historical information, but not full blocks, that's a clue to the solution. But the information it does need to store is tiny and could build up for thousands of years without being a problem. It could also be pruned down after a sufficient time period.
1145  Alternate cryptocurrencies / Altcoin Discussion / Re: Cryptocurrency with Finite "Mini-Blockchain" on: April 30, 2013, 07:51:47 AM
Try to not overthink this. I believe including hash of state of all known accounts and its balances in block headers is sufficient to keep level of security similar to bitcoin.
No that's not enough to make it sufficiently secure. That's why I kept thinking about this problem, and now I finally do have a solution. It was really so obvious all along. I'm about 99% confident this idea will work, but then again I'm no mathematician or cryptographer.

one simple feature which would bring users to it: attaching custom message to a payment. Bitcoin cannot do this because it would bloat blockchain to unmanageable size, but it shouldn't be a problem when you can forget transactions and just keep balance sheet.
I think bitcoin can do it, however the function was removed from the GUI to reduce blockchain bloating. I believe the protocol is still in place and some services such as blockchain.info allow you to embed a message into the blockchain.

But you still have a point. I was thinking about this earlier today actually. But one must remember the message will only remain visible whilst it is in the mini-blockchain. After that it wont be possible to see the message or even where the funds came from.

But it's better than nothing and trimming off the old blocks gives it more anonymity. Not to mention the real advantage is faster transactions and a fast synchronization time always. That's what the next generation of crypto-currency needs to be like. Fast and slim, yet still secure.
1146  Alternate cryptocurrencies / Altcoin Discussion / Re: Cryptocurrency with Finite "Mini-Blockchain" on: April 29, 2013, 08:48:10 PM
Wow this thread suddenly became alive after a few weeks.

Weird because yesterday I really made some groundbreaking progress with this concept.

I figured out how to give the mini-blockchain bitcoin-level integrity, yet still remain finite.

Countless hours of thinking have finally paid off. I plan to write a white paper on this.

I wont reveal the solution yet, but I will soon enough.
1147  Alternate cryptocurrencies / Altcoin Discussion / Re: Cryptocurrency with Finite "Mini-Blockchain" on: April 07, 2013, 06:12:49 AM
BTW if there's anyone interested in attempting to build something like this PM me. I really don't have the skills to do it myself but I wish I did. I'm only a website developer and website development is a long stretch from the skills required to build P2P cryptocurrency software, but I could be of help with any web related work.

But before anyone attempts to build anything like this we need to really flesh out some of these ideas and develop an exact security model to protect against the issues I have described here. Once that is done other issues such as the type of mining, the max block size, the rate at which blocks are solved, and that sort of things can be discussed.

Some of the existing alt-coins have some interesting features which could be included in this scheme to make it as fair as possible and as fast as possible.
1148  Alternate cryptocurrencies / Altcoin Discussion / Cryptocurrency with Finite "Mini-Blockchain" on: April 07, 2013, 03:54:29 AM
A few weeks ago I made a thread in which I detailed a theoretical idea for a blockchain-less cryptocurrency. The scheme I proposed had potential but was lacking in security. Our discussion led to the idea of a "mini-blockchain" to help secure the address database. I guess before I go any further I should quote a snippet from my other thread so you can get a general idea of my proposal. Keep in mind that the whole point of the concept was to replace the ever-growing blockchain with something finite and manageable.

Quote
At first I considered ways that we might be able to use some sort of decentralized "coin database" which would keep track of the position of every single unit of currency in circulation by attaching public keys to each unit. The owner of the corresponding units would need the private key to confirm his status as the owner, just like in bitcoin. A transaction would simply require peers to shift around numbers in this database instead of adding new data to it. Leaving aside the problem of how mining and confirmations would happen under this scheme, the main problem with this idea is that even for a few billion units the database would still be rather large. Bitcoin has 2.1 quadrillion units in total to ensure sufficient granularity of the money supply.

My calculations indicate that anything past 100 billion units starts to become totally unmanageable if you wish to track every single unit. One trillion units could potentially supply enough granularity but it would be virtually impossible to manage a decentralized database of this size, it would be much bigger than the blockchain already is. So I started to consider other ways this problem might be solved. It seemed to me that there's no point tracking every single unit because many of the units are going to be attached to the same public key. This may be stating the obvious, but what we really need to do is keep track of all the addresses which claim ownership to any units. That is essentially what bitcoin does, but it does it by keeping track of every single transaction (the blockchain).

Even with a population of 10 billion people where each person had 10 different non-empty addresses, we would only need to keep track of 100 billion addresses, which brings us close to the limit before things start to get unmanageable. Under this scheme we can have about 1 quadrillion units which we assume will be spread among a maximum of a few hundred billion addresses. The database would begin empty and as new units were mined (I'll talk about that shortly), and as units were transfered to new addresses, new entries would be saved into the database. Since empty addresses would be forgotten and removed from the database we can keep track of a reasonable number of addresses with some sort of upper limit to what we need to track.

We know that we'll never need to keep track of the 1 quadrillion units because we'll never reach a point where every single unit is stored on a unique address. If you divide 1 quadrillion units by 100 billion (10 billion people with 10 unique addresses each) you get 1 million. So we still have good granularity even with 1 quadrillion units spread among 100 billion addresses and instead of having to manage 1 quadrillion units we only need to manage a max of about 100 billion or so addresses (each with a balance of 1 million units on average). It would also take a while before we started to get even a few billion addresses into the database so by the time we get close to 100 billion or more we will have much better computers capable of handling it.

I then went on to describe a mining mechanism for this system (we'll get to that in a moment), and proceeded to describe how the address database could be managed:

Quote
If the public key is not already in the database it will be added to the database and cause its size to increase. As normal, owners of an address would prove their ownership with the private key. Like bitcoin, transactions would be created as some sort of signed script thingy and would be broadcast over the network. Nodes who accept the transaction would update their own copy of the database by shifting around coins or doing what ever needed to be done. But how would nodes who go offline get updated when they come back online? They would need some way of discovering which address balances have changed and what new addresses exist. This is where my knowledge sort of hits its limit but I have some ideas about how it may work.

I'm not sure, but it may be possible to use some sort of time-stamping solution where we would attach a last modified field to every every row in our address-based-database. So nodes could search for changes in the database where the last modified value is newer than some specified value. This still doesn't ensure exact consistency between nodes however, and a more appropriate solution may be to group our database entries into "blocks" and attach a hash to every block in our database. So along with our address database we would have a list of hashes which correspond to a set of entries in our address database. And from these hashes could perhaps be made a master hash which indicates the current state of the entire address database.

So when the balance of an address changes, the "block" or group of addresses in which that address is located will get a different hash, and therefore the master hash will also change. So nodes could see changes to the database and discover the newest version of the database by requesting the master hash from peers and confirming its validity (read comments). By looking at the individual "block" hashes they can see the general area where the changes have occurred without having to analyze every single address for a change. Then once they gain the updated information for that "block" they can check it hashes correctly. So there is no need to download any historical transaction data, all that's relevant is the current balance of addresses which hold funds.

Removing emptied addresses will also provide an extra layer of privacy which bitcoin cannot provide. And while I think the system I just described for updating the database could potentially work, there's another problem we must deal with when the database is updated in this fashion. As I've described it, transactions don't need to be solved in groups of transactions as blocks (blocks used in the bitcoin sense now). But if we are basically going to keep track of our database with a set of hashes and a master hash, we can't allow every single separate transaction to alter the database on demand. We must break them up into groups of transactions which are inserted into the database in periodic intervals of time, 1 or 2 minutes seems ideal but I'm no expert.

So in developing this scheme I came to the conclusion that for the address database to be updated in a coordinated fashion we still require the groups of transactions to be solved like blocks in bitcoin, meaning the system would still require fees and miners to solve those blocks. Further discussion in the thread brought up the topic of security, and how the address database could be secured against malicious alterations. I decided that if we are going to solve blocks like in bitcoin then we may as well save some of them into a mini-blockchain, perhaps saving the last 20 or 30 days worth of blocks. The reasoning behind this idea is as follows.

The mini-blockchain would provide consensus about which of the current master hashes is correct because the master hashes would also be saved into the blocks, it seems like an obvious thing to do since each time a block is solved and accepted by the network the master hash will change when the transactions in the block are used to alter the address database. So in this way new nodes can see a recent history of the blocks and also the master hashes, and they can easily compute the validity of the blocks along with the validity of the hashes they receive, and thus safely build a copy of the address database with help from the mini-blockchain.

Then the question becomes how can one be sure the mini-blockchain they receive is even valid, since we can't start at the very beginning and work our way up to the latest point? Since each block in the chain must be a solution connected to the last solution, the longer the chain is, the harder it becomes for the attacker to form a fake chain which corresponds to the correct solution rules. Changing one block on the end wont achieve anything because it must correspond to the one before it. The attacker must create a whole new mini-blockchain from the starting block, because before that first block we have no history of what happened.

The problem is that an attacker could take as much time as he needed to form a fully valid mini-blockchain from the start, a chain with a higher cumulative difficulty than the real chain. He could then start broadcasting that mini-blockchain and it might propagate enough to impose a risk of becoming the main mini-blockchain. So we need some way of determining when a fake chain pops out of no where even if it has a higher cumulative difficulty. I've been thinking long and hard about ways in which this problem could be circumvented, and I've come up with some basic ideas (and I'm open to suggestions).

My first idea is just a variant of the basic "ask around" method. Nodes which are always online can keep track of the total cumulative difficultly (not just the cumulative difficulty of the mini-blockchain, but all blocks including blocks which have been trimmed off the chain). So when a completely new mini-blockchain suddenly appears they can't verify the total cumulative difficulty because the first block is unknown to them and they can't verify what happened before that block, unlike the main mini-blockchain which they have been monitoring constantly. So when new nodes ask for the total cumulative difficulty of the fake chain it will be much lower than what they get for the real chain.

So the new node would ask around, and choose a chain based on the results it gets. After choosing a chain to work with that node would also begin supplying the total cumulative difficulty value provided to it in response to other new nodes asking. The only way the attacker could make their fake mini-blockchain propagate in this scenario is if they controlled a majority of the nodes and supplied a fake value for the total cumulative difficulty of their fake chain. This still isn't ideal however and we require more layers of security before it could be trustworthy. Another mechanism we could use is to have a dynamic mini-blockchain length.

So in other words there's no requirement to trim the mini-blockchain, some nodes would keep track of more than just the last 30 days if they wanted to. There would be a lower limit, so you must store a certain amount of blocks, but the upper limit could be infinite... so some nodes could store the entire blockchain history if they really wanted to, just like bitcoin. So if a new node comes across two competing mini-blockchains, they can simply ask around for people who have older blocks to prove which mini-blockchain is legitimate. Which ever chain can prove to have the oldest blocks wins.

It's still not perfect because the attacker could create many historic blocks to back up their mini-blockchain, but the task of creating a fake mini-blockchain becomes much more difficult depending on how many blocks some legitimate nodes choose to save. Now when it comes to mining, my old proposal of separating the mining process from the block solving process as described in my other thread isn't such a good idea because it takes a lot of the computing power away from the blockchain and makes the mini-blockchain weaker. I initially decided to make the mining process like this because I wasn't planning on having a blockchain.

However since this idea has morphed into a scheme which requires a mini-blockchain, there's no need to separate the mining process from the block solving process, new coins can be created in exactly the same way as bitcoin, and thus put maximum power into the mini-blockchain to help secure it against attackers who might wish to build a fake mini-blockchain. I do believe this has the potential to work as I've described it, but as I said it's not completely perfect. Bitcoin is always going to be more secure than any system which utilizes a mini-blockchain and not a full blockchain. But bitcoin needs a full blockchain because it doesn't have a separate address database.

The advantages of this system are perhaps worth the drop in security however... transactions could be faster and the transaction bandwidth could be much larger since it could handle a much large max block size because we only need to keep of a finite number of blocks and we don't have to worry about the mini-blockchain growing ridiculously huge forever. There are still limits of course, but those limits are much more reasonable if we expect our cryptocurrency to reach the transaction capacity of PayPal or higher... Bitcoin most likely wont ever be able to reach that type of capacity and we will most likely require multiple alt-coins to handle all the traffic.

So I definitely think there is a place for a currency like this if we are willing to accept these slight losses in security... if any of you have any ideas about how we could further protect the system from fake mini-blockchains I'm all ears. I believe this concept is worth further investigation because other bitcoin clones with small tweaks will never really compare to the original bitcoin but something like this could provide us with truly fresh and unique advantages over bitcoin. The goal isn't to give bitcoin a monopoly on cryptocurrencies, the goal is to create a competitive free market of cryptocurrencies which can give us options beyond Government approved currencies.
1149  Economy / Service Discussion / Best places to buy graphics cards with BTC? on: April 06, 2013, 08:52:58 AM
I'm currently building a new computer and I'm purchasing all the hardware with bitcoins.

I know bitcoinstore.com sells graphics cards but all the decent ones seem to be out of stock.

I'm wondering if there are any other safe websites where I can purchase a card using BTC?

EDIT: just want to add that I'm looking for Radeon cards, although that should be obvious.
1150  Bitcoin / Development & Technical Discussion / Re: How to generate a private key? on: April 05, 2013, 04:00:11 PM
Quantum randomness is the best randomness.

https://qrng.anu.edu.au/

EDIT: here's a description from the website, very interesting stuff:
Quote
This website offers true random numbers to anyone on the internet. The random numbers are generated in real-time in our lab by measuring the quantum fluctuations of the vacuum. The vacuum is described very differently in the quantum mechanical context than in the classical context. Traditionally, a vacuum is considered as a space that is empty of matter or photons. Quantum mechanically, however, that same space resembles a sea of virtual particles appearing and disappearing all the time. This result is due to the fact that the vacuum still possesses a zero-point energy. Consequently, the electromagnetic field of the vacuum exhibits random fluctuations in phase and amplitude at all frequencies. By carefully measuring these fluctuations, we are able to generate ultra-high bandwidth random numbers.
1151  Bitcoin / Project Development / Re: [Bounty] PHP function to generate bitcoin addr from Electrum Master Public Key on: April 02, 2013, 02:44:34 PM
Got your message. I can't imagine it would be too hard to do what you require, but I don't really have a clue how Electrum generates the addresses from the "master public key". I assume the master pub key is basically created from the secret seed phrase is it? I don't really know Python at all but if there's some Python code I could refer to I could probably get the general idea of what needs to be done.
1152  Bitcoin / Project Development / Re: BOTDICE online simulator - play 100k Satoshidice rounds without losing your bank on: April 01, 2013, 07:02:38 AM
I haven't really played SD before and I'm not certain exactly how it works. At first I was losing basically every single time with your simulator, then I changed the settings and now I'm reaching a win target of +50% every single time. That can't be right can it?
1153  Economy / Economics / Re: True Money on: March 30, 2013, 05:38:24 AM
This would be a more informative article if you didn't use "money" and "currency" interchangeably.
Yeah I thought about that after I finished writing it... but I couldn't be bothered going back to make the difference clearer. It just makes the topic more complicated than it needs to be anyway. Out of curiosity, how would you define the difference between money and currency?
1154  Economy / Economics / Re: True Money on: March 29, 2013, 03:59:30 AM
MikeH, I discussed much of that and used some of those quotes in my other article titled Fiat Money so I didn't really want to re-use them. The Fiat Money article is older and less concise because I wrote it back when I was less educated on these matters. It needs a bit of updating now but still has a lot of good information.
1155  Economy / Economics / Re: True Money on: March 28, 2013, 01:24:50 PM
Wow!!! Very nice article! Thanks!  Wink
No problem, glad to see you liked it. There aren't many articles which cover all these important topics together as interlinking points of discussion, so hopefully many others will find it informative and helpful.
1156  Economy / Economics / True Money on: March 28, 2013, 09:19:59 AM
Quote
What is money? What properties should money have? What has been used as money in the past and why was it used? What determines the value of a currency? How do we ensure the stability of our currencies? What is debt based money? What is a state owned currency? This article will examine all these topics and much more in great detail so that we can develop a clear picture of our modern monetary system and expose its flaws.

http://bitfreak.info/?page=truemoney

It's been a while since I wrote anything about economics or bitcoin but I was bored the other day and decided to write up this article. It's a fairly long read but includes a lot of good information and I thought some of you may find it interesting. Bitcoin is mentioned in several parts of the article and it really helps solidify some of the arguments I'm making. I'm open to any criticism and corrections if you feel I made a mistake anywhere.

EDIT: my website seems to be a bit slow at the moment so if you have any problems loading the page just try again later. Then again 90% of websites appear to be going slow right now so I think there's something more going on here. I saw something on the news a moment ago about a huge DoS attack by spammers which may slow down the internet but I'm not really sure if that's what's going on.
1157  Economy / Digital goods / Re: BitShop - digital bitcoin shop script [PHP/MYSQL] (v0.8.3 NEW) on: March 26, 2013, 05:16:01 AM
Have you thought about adding LTC payments?
No I haven't thought about that before actually. I may add that feature in a future version if I think it'll be worth the effort but for now it'll just be bitcoin. I just want to keep things as simple as possible for now.
1158  Economy / Speculation / Re: Bitcoin just dropped to 1$!!!! on: March 21, 2013, 06:57:13 AM
It has already happened before... just look to the past to learn what happened.
1159  Economy / Digital goods / Re: BitShop - digital bitcoin shop script [PHP/MYSQL] (v0.8.3 NEW) on: March 15, 2013, 08:32:11 AM
Is it possible to accept 0 confirmation payments?
Not really, because the blockexplorer.com API doesn't allow it (last I checked). However the script does switch between using the blockexplorer.com API and the blockchain.info API every few calls. To make it work properly with 0 confirmations you'd probably need to change to the script to use only blockchain.info, which I could do for you. But then if blockchain.info went down you wouldn't have blockexplorer.com to fall back on.
1160  Bitcoin / Development & Technical Discussion / Re: Ideas / Possible SOLUTION to NEVER-ENDING BLOCKCHAIN.. on: March 15, 2013, 04:34:01 AM
The incentive would be that even though it does not bring income, it reduces cost (in the sense of making the unspent outputs smaller).
Yeah I've been thinking about it some more and it may work even without the fees. There is still benefits to doing it, and I'm sure that if this was implemented there would be people who work on building these refresh transactions. When they broadcast these refresh transactions, miners will have an incentive to include them in their blocks even without the fee because they would understand the benefit of it. Of course not all miners would accept these transactions, but I believe enough would to make it work. Still it would probably be much faster and much more efficient if they had a monetary incentive to include the refresh transactions in their blocks.
Pages: « 1 ... 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 [58] 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!