Bitcoin Forum
May 09, 2024, 01:36:48 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 [2] 3 »
21  Bitcoin / Project Development / Building the Next Generation of Crypto-Currency (developers required) on: May 25, 2013, 02:22:36 PM
The Mini-Blockchain Project

What is this project all about?

The goal of this project is to implement a new crypto-currency protocol designed to solve the "blockchain bloat" problem once and for all by replacing the full blockchain with a finite "mini-blockchain". Such a system would offer many benefits including consistently fast synchronization times, much more block space, faster transactions, and lower fees. Certainly not an easy problem to solve, but if it could be solved we are looking at truly new and unique improvements over the Bitcoin protocol.

We now believe that this problem finally has been cracked. The concept and technical details of the proposal can be found in the white paper (a little outdated now) and the project wiki. This new scheme has been analyzed by many intelligent people and we haven't found any major flaws. After a considerable amount of feedback, myself and several others are convinced the scheme is viable and we want to attempt an implementation.

Our objectives and approach

The main objective of this project is to bring together many new ideas and concepts while staying as true to Bitcoin as possible. This project will attempt to minimize and exclude any controversial proposals and ideas but remain open to new and experimental proposals which we believe could enhance the final system. We aim to take the safe and trusted route ever possible and avoid over-complicating the scheme by bringing together too many different ideas.

The main focus of this project is to implement the mini-blockchain protocol and show that it works before we do anything else. If or when that goal is achieved we will start looking at incorporating several other experimental concepts which have the potential to provide an array of new features and benefits. Some examples of such concepts include secure 0-confirmation transactions based on a withdrawal limit system and a dynamic max block size.

Since we are trying to avoid any controversial and unnecessary complications, that means no pre-mine and probably no PoS integration. The PoS system is controversial in a way because it appears to make the rich richer over time and the benefits of such a system really aren't observable for a long time anyway. Not to mention the mini-blockchain proposal is already complicated enough as it is, keeping things simple is the key here.

The next generation of crypto-currency

What is the next generation of crypto-currency and what separates this project from any other alt coin? Most of you will agree that 95% of the alt coins out there are essentially pump and dump scams which offer nothing new or useful. I would personally say there are less than half a dozen alt coins which shouldn't be labeled scam coins; Namecoin, Devcoin, PPCoin, Novacoin, and Litecoin, and perhaps 1 or 2 other alt coins. I'm not so sure about PPCoin and Novacoin but they do offer new PoS features.

Litecoin doesn't really offer much beyond faster block confirmation speeds and scrypt-based mining, but since it was one of the first alt coins to offer these new features it has gained a genuine foothold in the crypto-currency market. Not only does this project offer a new coin with unseen features, but those new features are not small or trivial. Imagine always being able to download the blockchain within seconds or minutes as well as significantly faster transaction speeds.

Why am I making such a big deal of this? Well consider threads like this:
WARNING! Bitcoin will soon block small transaction outputs
New video: Why the blocksize limit keeps Bitcoin free and decentralized

All this concern over max block sizes, the SD "spam dust", the transaction capacity reaching its limit, all of this is nicely solved with a mini-blockchain + account tree implementation. Now I'm not saying Bitcoin is obsolete or outdated or that this new scheme will replace it, Bitcoin still has certain advantages over the mini-blockchain scheme and vice versa. However if this scheme turns out to work it does have the potential to seriously compete with bitcoin.

It was only a matter of time before someone was able to improve on the Bitcoin protocol and offer a new coin with highly desirable advantages over the original protocol, but I don't think that will mean the original will ever die out. Just because this scheme can offer more scalability and speed doesn't make it better as a tool for storing wealth. It does sort of make it better as a currency though, which is really what we should be aiming for I believe.

So how will the project be organized?

See: [BOUNTY] $20,000 Mini-Blockchain Implementation


Project Address: 1AZjrg6h9nfvFt16kaszLTJkQi13kMwZz2
22  Alternate cryptocurrencies / Altcoin Discussion / [white paper] Purely P2P Crypto-Currency With Finite Mini-Blockchain on: May 04, 2013, 09:01:08 PM
I've been working on this idea for a few months now but I couldn't get past the problem of making the scheme satisfactorily secure. I finally solved that part of the puzzle about a week ago and immediately decided that I needed to write a white paper and formalize the concept some what.

I also want to give an acknowledgment to member aaaxn for helping me fine tune some of the concepts in the paper, his knowledge was very helpful. Until now no one else has read this white paper so I'm hoping for a lot more great feedback from other members.

NOTE: the white paper is now fairly out-dated. Check the project wiki for more up-to-date information concerning the mini-blockchain proposal.

Purely P2P Crypto-Currency With Finite Mini-Blockchain (PDF)

Quote
ABSTRACT

Almost all P2P crypto-currencies prevent double spending and similar such attacks
with a bulky “blockchain” scheme, and the ones which do not typically use some sort
of pseudo-centralized solution to manage the transactions. Here I propose a purely
P2P crypto-currency scheme with a finite blockchain, dubbed the “mini-blockchain”.
Each time a new block is solved the oldest block is trimmed from the end of the mini-
blockchain so that it always has the same number of blocks. It is argued that the loss
of security this trimming process incurs can be solved with a small “proof chain” and
the loss of coin ownership data is solved with a database which holds the balance of
all non-empty addresses, dubbed the “account tree”. The proof chain secures the mini-
blockchain and the mini-blockchain secures the account tree. This paper will describe
the way in which these three mechanisms can work together to form a system which
provides a high level of integrity and security, yet is much slimmer than all other purely
P2P currencies. It also offers other potential benefits such as faster transactions and
lower fees, quicker network synchronization, support for high levels of traffic, more
block space for custom messages, and increased anonymity.

Project development thread: https://bitcointalk.org/index.php?topic=215936.0
23  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.
24  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.
25  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.
26  Alternate cryptocurrencies / Altcoin Discussion / Blockchain-less P2P Currency (theoretical idea) on: March 13, 2013, 12:35:34 PM
I've been thinking a little bit about this topic lately because it seems to me like the main problem of any decentralized currency which is based on bitcoin, is the ever-increasing size of the blockchain. But there really is no way to replace the blockchain from bitcoin with something else, so another alternative currency would probably need to be created. I understand the basic details of how bitcoin works but there are many complex aspects of it which I don't fully grasp. I'm not certain this idea has the ability work, and I know that even if it could work it wouldn't be as secure as bitcoin, but transactions would be much faster and the data required to download in order to become up-to-date with the network would be set to a finite limit.

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.

The way mining would work under this scheme is quite odd. It's still a proof-of-work system, but the mining process would be completely separate from the transaction confirmation process. Each unit from 1 through to 1 quadrillion would be mined separately from every other unit. The proof of work would be finding a hash of the miners public key and the unit number (numbers from 1 to 1 quadrillion obviously) and the changing iteration number. So the miner would need to find a special hash using something like hash(PubKey+UnitNum+Iteration). Like bitcoin, each miner would be attempting to solve a different problem since their public keys will differ. Higher number units will be more difficult to solve. It will increase in steps, maybe in steps of 1 million.

Ideally the protocol would specify static per-determined difficulty levels which are calculated so that all the units aren't mined for at least 100 years, but we couldn't enforce an exact time. The difficulty should increase as some type of exponential function like bitcoin, but I don't think it should start too easy. So this would create a dynamic where the lower numbered units are mined first and as we get higher and higher it becomes exponentially harder and harder to mine new units. When a miner solves a unit he would broadcast the solution over the network and the address database will be updated by nodes who accept the solution. The newly mined unit would be added to the balance of the public key (the miners address) associated with the solution.

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.

But for this to happen in a coordinated fashion we still require the groups of transactions to be solved like blocks in bitcoin, so it would seemingly still require fees and miners to solve those blocks. But since units are mined separately from this transaction confirmation process, miners of these blocks would only be paid the transaction fees and miners of the units would only be rewarded with fresh units and not the added fees. This is what is supposed to happen with bitcoin once all the coins have been mined; miners will only receive transaction fees from the blocks they solve. So it should theoretically work if we separate the transaction confirmation process from the mining process. But will anyone even mine transaction fees if they can mine new units?

Lots of interesting questions to be examined here... I'm still not certain anything like this could work, but I think it's a plausible idea. I mean I don't want to destroy bitcoin or anything and I think bitcoin would still have many advantages over this system, they would both have their own niche. For example I don't think something like what I have described here is capable of providing all the advanced transaction features offered by bitcoin. But I mean with the rate at which bitcoin is growing we need some other good decentralized currencies to take the pressure off bitcoin. Bitcoin clones with small tweaks will never really compare to bitcoin but something like this could provide us with truly fresh and unique advantages over bitcoin.

edit: just want to add some more thoughts... when the "unit miners" broadcast their solution, that solution will probably need to be lumped in with the transaction blocks which are solved periodically to maintain consistency. The incentive for the "transaction miners" to include this solution into their block is that they could get a cut of the profit... but how is this possible if the units are mined individually. One single unit cannot be split up. So I'm thinking instead of having new units mined individually, they would be mined in groups of 1000 (or probably something much larger) to provide a big enough cut to the transaction miners. Instead of hashing every single unit number you would use the number of the first unit in the current group. So if the rewards come as 1000 units it would be 0, 1000, 2000, etc.

edit: read comments to see how this idea has been extended to incorporate a "mini-blockchain" for extra security.
27  Bitcoin / Development & Technical Discussion / Is this idea to counter lost bitcoins possible? on: December 16, 2012, 07:52:40 PM
I know this topic has been discussed in depth before, but I can't be bothered rehashing any old thread or read through some long threads to find an answer to my question. First of all, many of you will think that lost bitcoins don't matter, and I partially agree; the divisibility of bitcoin makes it nearly impossible to have a number of bitcoins in circulation which is too small. But on the other hand it does pose a real threat to the stability and feasibility of bitcoin in the very long term. I mean we will eventually reach a point where there's just a ridiculously small amount of BTC in circulation and I think it's better to avoid that scenario if possible, if only to help alleviate the concerns of people who think this is a real problem.

The solution is quite simple, if an address holding bitcoins remains inactive for maybe 50 or 100 years or maybe even more, then the bitcoin becomes minable again, or some how put back into circulation. If you don't want to lose your bitcoins then simply transfer them before this time period elapses, that seems completely fair to me. I'm aware that this idea has been suggested before, but I never read enough to be sure about how feasible this idea is and what problems may prevent it from happening. I don't see why anyone would have a problem with this system. It will ensure that all bitcoins eventually go back into circulation and that seems very healthy to me, rather than a constant decline in the number of bitcoins.

Keep in mind I know very little about the complex inner workings and technical details of bitcoin so keep your answers relatively simple.
28  Economy / Digital goods / BitShop - cryptocurrency shopping cart script [PHP/MYSQL] (v1.1.2) on: December 01, 2012, 08:19:05 AM


What is BitShop

BitShop is a powerful PHP/MYSQL shop script which allows merchants to easily sell digital items such as software or codes, in return for bitcoin and other cryptocurrencies. BitShop is the #1 shop script for selling digital goods. It also powers the official BitShop website (screenshot above).

Fast and Simple

The checkout process is designed to be as simple and fast as possible. The buyer will go through an easy checkout process and they will receive the item instantly after the payment is confirmed. Multiple payment gateways, including Coinbase and GoCoin, can be enabled simultaneously.

Flexible and Modular

BitShop is designed with developers in mind. Unlike many other scripts, BitShop is extremely modular and offers developer flexibility. For example new payment gateways can easily be installed as self-contained modules and new themes can also be installed without overwriting other themes.

Dynamic and Responsive

BitShop makes use of the latest in web technology to provide a dynamic and responsive user experience. Built upon Bootstrap 2 and HTML5 Boilerplate, the BitShop script is fast and looks good on any platform. Witness the power of HTML5 and PHP (and a bit of JS and CSS of course).

Bootstrap Template

The default template used by BitShop is built around the Bootstrap 2 framework. If you visit WrapBootstrap or Bootswatch you can get custom made Bootstrap themes. This provides a great way to change the default theme but it's also easy to remove Bootstrap and build a theme from scratch.

Powerful Admin Area

BitShop includes an administration area where it's possible to manage your orders, products, vouchers, accounts, etc. BitShop supports a wide range of different methods for selling digital items such as files, keys, and gift codes. It now also includes basic support for selling physical items.

Regain Independence

The built-in payment gateway is fully customizable and uses multiple public block explorer API's to handle payments. Addresses can be automatically generated on the fly or taken from a custom list. You can also run a bitcoin/altcoin daemon to directly process payments without a 3rd party.

Official Website

Official BitShop Website
Official BitShop Forum
29  Bitcoin / Bitcoin Discussion / Anime predicts the future of Bitcoin? on: November 14, 2012, 03:13:52 PM
I thought this was a pretty cool little coincidence. I was watching an anime called "Kiddy Grade" and something in episode 10 caught my eye. It appears that this anime first aired on TV some time during 2002, a long time before Bitcoin appeared on the scene.

If you haven't seen this anime, it's kind of similar to Outlaw Star or Cowboy Bebop if you've seen either of them... basically it's set far in the future when intergalactic travel is common, business and trade happens on a galactic scale, so on and so forth.

I can't recall any part of the anime so far which explains how their money system works in this fictional future world, but I would assume they must have some sort of galactic or universal currency to conduct business and trade between planets.

In episode 10 there's a short scene which lasts for a few seconds, where it shows what looks like some sort of credit/debit card. The card its self looks extremely plain, there's only two small characters on the card... one of which looks like a Bitcoin symbol.



I'm seeing "e฿", but obviously a ฿ with two vertical lines, a frontrunner in the selection of Bitcoin symbols (since the ฿ symbol is already used for another currency). If we stretch this theory even further, the "e" may mean electronic, as in electronic Bitcoin card.
30  Bitcoin / Project Development / Deja Vu - Bot Scripting IDE on: November 01, 2012, 03:43:03 PM
This is a little project I started on a few months ago and got side tracked. I started working on it again the other day and just finished applying the final touches. This application is basically a simple scripting IDE which allows programmers to develop their own custom trading bots very quickly.

Deja Vu is a Windows-only program (sorry) which provides a simple Pascal Script IDE with some syntax highlighting and basic debugging ability. The Pascal Script engine is proven to be a very flexible and powerful framework for creating robust macros and bots (see villavu.com for a good usage example).

Initially Deja Vu did have support for Mt. Gox and also TradeHill. Obviously TradeHill is no longer operational so the app only supports Mt. Gox now. TradeHill even had a test API which was extremely helpful, but Mt. Gox doesn't seem to have that. The only way to test your bots is to use the real API it seems.

Most functionality has been tested and appears to work fine but keep in mind this is an early beta release mainly for testing purposes. No trading scripts are provided in the package. I don't know what you want your script to do, and I don't want to hold any liabilities that may be associated with providing such scripts.

There are two main parts to this software. The executable application and a pascal script library which contains all the important bitcoin and trade related functions. The application its self is not open source, but it is free of charge and free to share (the license is the Creative Commons BY-ND 3.0).

The pascal script library (Bitcoin Resource Library or BRL) can be included into your scripts and provides the main trading functionality. This library is written in pascal script so its easy to edit and it's obviously open source. The reason I did it like this is so that BRL can be managed by other parties.

The truth is I don't know much about trading, with bitcoin or any other financial instrument. I've provided the basic groundwork (ability to place trades, cancel trades, get market depth, etc), now the Bitcoin Resource Library can be expanded by people who really know what functionality is needed.

That's why BRL is available to download as a separate package and not included with Deja Vu. If or when some one decides to start developing BRL as an open source project on sourceforge or something, I will stop offering the BRL files on my website and just point users to the open source project.

The official page for this software can be found on my website under the Bitcoin Tools section or you can simply click here. You can find further helpful information about using the Deja Vu software by looking under Help->Usage within the application menu. If you have any other questions or concerns please post them here.

Screen: [ view ]
Deja Vu: [ download ]
BRL: [ download ]
31  Bitcoin / Bitcoin Discussion / BITCOIN [R]EVOLUTION - [VID] on: May 31, 2012, 03:28:42 AM
I just created an informational bitcoin video. Hope you guys like it.

BITCOIN [R]EVOLUTION
32  Economy / Economics / Fiat Money on: March 26, 2012, 12:13:46 PM
I've just put together this essay on fiat currency and inflation for my website. I'm hoping some of you might have the time to read through it and analyze my arguments and logic and give me some feedback on it, such as pointing out any mistakes I may have made or giving me some suggestions to make it even better.

Bitfreak - Fiat Money

Cheers.
33  Bitcoin / Project Development / Bitcoin SCI [PHP]: process transactions yourself! (addresses gen, IPN, QR Codes) on: January 06, 2012, 08:58:01 AM
    This is a little project I've been working on for the last few days. I first came up with this idea here: PHP script to create private key & public address. It was hard to find a decent Elliptic Curve library for PHP but eventually I came across this on a blog: Elliptic Curve PHP-OOP DSA and Diffie-Hellman. The library only came with a set of NIST curves so I had to create a set of SEC curves using the parameters supplied in sec2_final.pdf.

Then to convert the keys into bitcoin addresses I basically followed the instructions on this page: Technical background of version 1 Bitcoin addresses. I found that many of these steps had already been coded in PHP: bitcoin-php - Bitcoin utility functions. I did a lot of testing with it and it seems to generate valid bitcoin addresses each time, I even sent coins to one of the addresses generated in PHP and it worked fine. However, I am far from an expert on cryptography so please check the code and let me know if you see any problems.

If you have time, take a look at the bitcoin.lib.php file and check the following functions for problems. The mini key functions aren't really used for anything at this point, I just coded them because it seemed like a good idea at the time.

getNewPrivKey()
getNewKeyPair()
getNewKeySet()
privKeyToAddress($privKey)
privKeyToWIF($privKey)
checkMiniKey($miniKey)
getNewMiniKey()
miniKeyToWIF($miniKey)
miniKeyToAddress($miniKey)

The other part of this script is the Bitcoin Payment Gateway. Instead of passing the transaction through to a 3rd party for processing, payments are verified simply by using blockexplorer to monitor the status of a payment to a specified address. There's no need to install bitcoind on your server, everything is done in pure PHP. This script essentially enables you to have your own Payment Notification System without the need for a middleman (except blockchain.info/blockexplorer.com), very safe imo, and another amazing feature of bitcoin. This is the description from my website:

Quote
The Bitcoin Shopping Cart Interface package is a set of libraries and tools that enable you to process bitcoin transactions with only PHP. You can have your own Instant Payment Notification system without the need for a middleman. If you've been wondering how to handle customer payment since MyBitcoin went down, look no further, because this is the safest solution.

An elliptic curve library written in PHP is used to achieve server side generation of FRESH bitcoin addresses for each customer. The script monitors the status of a payment by making use of the data supplied by blockexplorer.com. As such, there is no need to install a heavy duty service such as bitcoind on your server. The only limitation with this PHP package is that you can't make outgoing payments.

The SCI package comes with a simple example to give you an idea about how to generate new keys and initiate a new payment through the Bitcoin Payment Gateway. This is NOT full shopping cart software, you would typically use this script to offer Bitcoins as one method of payment. Some of the Bitcoin SCI scripts (in the 'sci' folder) need to be modified to work properly on your website.

Info: Bitcoin SCI: process bitcoin transactions with PHP

Download: Bitcoin SCI

Demo: BitShop Integration
34  Economy / Trading Discussion / What SCI should merchants use now that MyBitcoin is dead? on: August 20, 2011, 03:45:09 PM
Just a quick question, what SCI should merchants turn to now that MyBitcoin is gone? I've looked at a few Shopping Cart Interfaces such as PayFlow and BitcoinNotify but I want some more opinions before I implement anything. I would prefer something that has documentation/examples in PHP. Thanks.
35  Other / Off-topic / NASA Scientists Confirm Panspermia Hypothesis (life seeded on Earth) on: August 09, 2011, 04:05:46 PM
http://www.nasa.gov/topics/solarsystem/features/dna-meteorites.html

This was an interesting article I found on another forum I visit but it wasn't receiving much attention for what I personally think is one of the most important scientific breakthroughs in history.

Quote
NASA-funded researchers have evidence that some building blocks of DNA, the molecule that carries the genetic instructions for life, found in meteorites were likely created in space. The research gives support to the theory that a "kit" of ready-made parts created in space and delivered to Earth by meteorite and comet impacts assisted the origin of life.

"People have been discovering components of DNA in meteorites since the 1960's, but researchers were unsure whether they were really created in space or if instead they came from contamination by terrestrial life," said Dr. Michael Callahan of NASA's Goddard Space Flight Center, Greenbelt, Md. "For the first time, we have three lines of evidence that together give us confidence these DNA building blocks actually were created in space." Callahan is lead author of a paper on the discovery appearing in Proceedings of the National Academy of Sciences of the United States of America.

This has some huge implications. If this is correct than the chances we are alone in the Universe just dropped to virtually nothing. This could also mean that we share the same basic DNA structure or building blocks as a lot of other life in the Universe.

Basically it seems like they think these objects floating out in cold dead space have the capacity to act as a "chemical factory" and produce the nucleobases which are responsible for life on Earth.

Quote
"In fact, there seems to be a 'goldilocks' class of meteorite, the so-called CM2 meteorites, where conditions are just right to make more of these molecules," adds Callahan.

If you consult the Wikipedia page for Panspermia you will see it offers a slightly different explanation. The chemicals they carry could be the result of collisions between planets that harbor life.

Quote
Panspermia (Greek: πανσπερμία from πᾶς/πᾶν (pas/pan) "all" and σπέρμα (sperma) "seed") is the hypothesis that life exists throughout the Universe, distributed by meteoroids, asteroids and planetoids.[1][2]

Panspermia proposes that life that can survive the effects of space, such as extremophile bacteria, become trapped in debris that is ejected into space after collisions between planets that harbor life and Small Solar System Bodies (SSSB). Bacteria may travel dormant for an extended amount of time before colliding randomly with other planets or intermingling with protoplanetary disks. If met with ideal conditions on a new planets' surfaces, the bacteria become active and the process of evolution begins. Panspermia is not meant to address how life began, just the method that may cause its sustenance.[3]
36  Other / Off-topic / test out my game on: July 16, 2011, 12:53:30 PM
I thought some of you guys may enjoy this cool little browser game I made. I tried to make it feel more like a game than other war games (level loading, high-scores etc), but it's still in a beta phase and could be a lot better (ideas are appreciated). I also designed it so each time you start a new game most of the level passwords will change. This is basically aimed at programmers/hackers so don't expect to find it fun if you don't like mental challenges that require logic and technical skills. Some of the levels are a little repetitive so I appreciate good puzzle ideas. http://aidse.co.cc/
37  Economy / Economics / The Mt. Gox Incident on: July 05, 2011, 11:27:03 AM
I thought this was an interesting graph worth sharing. Don't flame me if this is really basic/boring stuff, I'm far from an economist or market analyst.  It's just a fairly simple mtgoxUSD/BTC graph showing price and volume for the period between June 16th and July 5th, with a clarity of about 8 points per day. There is also a missing gap of information between June 18th and June 26th. The location of my mouse indicates the last log before the crash. Their API actually changed around the time of the crash, breaking many scripts. I'm not sure if it was the crash or their API change which broke my script first.



edit: because I'm feeling nice, here is the live version (constantly updated): http://bitscape.co.cc/index.php?page=charts&cc=BTC
38  Other / Politics & Society / The Matrix on: July 05, 2011, 01:38:53 AM
This is a really good poem about the matrix we live in. It's a few years old now but it deserves a look for those of you who haven't seen it. You'll be impressed. I'm not sure if it's possible to embed YouTube videos on here, so here is the link: http://www.youtube.com/watch?v=P01ZxSb3SZM
39  Bitcoin / Bitcoin Discussion / Own a Bitcoin related website? List it at bitfreak for free. on: July 03, 2011, 03:33:59 AM
I have just set up a little bitcoin site directory as a new section of bitfreak. If you have a bitcoin related website just fill out the submission form and you'll be on there in no time. The directory system was built from scratch so if you notice any bugs let me know, it also has a star rating system so make good use of it. I really helps when people can easily know which websites can be trusted and which shouldn't be trusted.

Bitfreak is essentially aiming to simplify many aspects of bitcoin, especially in understanding it and finding ways to use it. Even if you know of a good Bitcoin related website that isn't your own, you can still submit it so that we all have easy access to an up-to-date list of exchanges, eWallets, merchants etc. The site must be heavily related to Bitcoin, if it is not mainly centered around Bitcoin in some fashion it probably wont be listed. I would also appreciate link-backs to bitfreak. Link-sharing is caring!

EDIT: Oh, and make sure I haven't included your website already. I put in quite a few to get it started.

EDIT: We are now located at bitfreak.info since Google decided to filter out every single co.cc website from their search results. The link above has been altered to reflect this change.
40  Bitcoin / Project Development / WetCoin.co.cc - bitcoin porn, instant video downloads, no membership required on: July 01, 2011, 02:34:31 AM
I thought I should create a separate announcement thread for this website (I did mention it in my bitfreak announcement) because my link has been removed from the trade page on the wiki (because people don't want bots to associate their websites with porn; absurd). 99% of my incoming traffic was from that page so it's a little bit annoying.

WetCoin is an adult orientated website where users can pay a small amount of BTC (using the MyBitcoin payment gateway) for access to instant video downloads. You don't need to register, so you remain completely anonymous. Your download links will expire after two days.

WetCoin

WETCOIN HAS SHUT DOWN - It was a fun little experiment while it lasted.
Pages: « 1 [2] 3 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!