Author

Topic: WARNING Transactions and Addresses will soon be used as high volume data storage (Read 4094 times)

legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
Ouch - if we are really looking at exponential growth of the block chain then I think the importance of multi-sig txs will rather pale in comparison by the end of the year.


Cheers,

Ian.
member
Activity: 67
Merit: 130


Check out my google chart skills (the chart is pretty accurate, I used blockchain headers).
As you can see it's almost precisely doubled for the last six months (450 mb in june 2011, 900 mb now).
Could anyone tell me how to extrapolate it properly?
sr. member
Activity: 316
Merit: 250
I've thought of a better way to combine some of the design elements of Bitcoin and Bittorrent as a new and much simpler software than using those 2 existing infrastructures. I'll be continuing my ideas there, but it still could lead to the convergence of many peer to peer networks referring to eachothers data by hashcode, like Bitcoin addresses and Bittorrent SHA-1 hashcodes. The system I'm planning will use such hashcodes or any URL or short text as a global address and let the free market compete for what the bits of the addresses mean as the open source systems evolve.

"Theoretical cryptocurrency that globally verifies so fast it can stream audio"
https://bitcointalksearch.org/topic/theoretical-cryptocurrency-that-globally-verifies-so-fast-it-can-stream-audio-61181

Bitcoin has inspired much innovation that we will see in the next few years.
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
The paper only discusses an "open ballot" style of voting (i.e. everyone can see who everyone voted for).


Cheers,

Ian.
newbie
Activity: 6
Merit: 0
Here is an article related to using Bitcoin approach in electronic election system:
http://www.newscientist.com/article/mg21328476.500-bitcoin-online-currency-gets-new-job-in-web-security.html
They call it CommitCoin, not sure if it is alternative chain or something on top of Bitcoin network.

It is build on top of Bitcoin.
Paper: http://people.scs.carleton.ca/~clark/papers/2012_fc.pdf
Discussion: https://bitcointalk.org/index.php?topic=59956.0;all
hero member
Activity: 496
Merit: 500
Here is an article related to using Bitcoin approach in electronic election system:
http://www.newscientist.com/article/mg21328476.500-bitcoin-online-currency-gets-new-job-in-web-security.html
They call it CommitCoin, not sure if it is alternative chain or something on top of Bitcoin network.
legendary
Activity: 2128
Merit: 1073
I'm trying to create a new kind of money thats based on overlapping network shapes (mind maps) instead of just the network nodes (money accounts or keys/values of data in Bittorrent).
Up to the point above I wasn't sure.

This could be an Alan Sokal-style postmodernist writing experiment sprinkled with Bogdanov brothers-taste special sauce.

But now I'm positive.

We have a new Mentifex Mind.Forth in the making.

http://www.nothingisreal.com/mentifex_faq.html
staff
Activity: 4284
Merit: 8808
The Bitcoin network won't even flinch at this.  Every node will ignore the second spend attempt it hears about, won't relay it, and the winner will be decided by the miners - the first transaction heard by the miner that mines the next block becomes the winner.  In fact the nodes will do such a good job of filtering this, it will be hard, if not impossible, for any given node on the network to detect that such a thing were happening on a wide scale, even if it in fact were.

Yup. And it bears repeating, it's an idiotic voting system— even if it weren't getting ignored as spam,  miners could just willy nilly pick the election outcomes by simply refusing to mine 'votes' for particular addresses.

POW chain systems are amazing, but they're not good for votes except of very specialized kinds.

I encourage people to work on cryptosystem powered voting. But while many in the bitcoin community will be interested in it and would be glad to use it, such systems shouldn't be build on bitcoin itself. It's not a good fit technically nor cramming unrelated data into bitcoin welcome by people who want bitcoin to be used as a decentralized currency.
vip
Activity: 1386
Merit: 1140
The Casascius 1oz 10BTC Silver Round (w/ Gold B)
For example, what would happen if I created a new wallet.dat and published it for everyone to download and continued to put money in it everyday.... When people caught on, the public private key and its bitcoin address could be simultaneously connected to the Bitcoin network from thousands of locations at once, each trying to spend the new money before the others, therefore putting in false transactions as a gamble that the money will come to the address before other computers notice. It would create a global economy that allows me to pay money into a public wallet.dat and receive a market-value-equal amount, plus the lottery-like psychology of it, of denial-of-service combinatorial confusion on the Bitcoin network.

The Bitcoin network won't even flinch at this.  Every node will ignore the second spend attempt it hears about, won't relay it, and the winner will be decided by the miners - the first transaction heard by the miner that mines the next block becomes the winner.  In fact the nodes will do such a good job of filtering this, it will be hard, if not impossible, for any given node on the network to detect that such a thing were happening on a wide scale, even if it in fact were.
hero member
Activity: 868
Merit: 1008
Luke, you would probably be highly successful if you started your own little hash-commitment business on bitcoin.

Not at first, but after you got some traction, you'd be the go-to guy for it.

You could sell an unlimited number of hash commitments at the price of your choice, and you could accomplish it with one hash per block - an off-blockchain merkle tree root.

There is already a viable market for it - for example, I have paid for the ability to digitally sign PDFs, and part of that service is third-party cryptographic timestamping.  It depends, however, on the honesty of the timestamp provider to always stamp the right time.  I have no reason to doubt their service, but if we now have the technology to keep it honest, why shouldn't we.  If each timestamp it served also had its hash published in a merkle tree whose root was in the blockchain, the trust would be completely decentralized.  There is a real value in that!
Actually, anyone could do this…you don't need to be a pool operator.  Any transaction could be used to timestamp things.  I think it's very possible that time stamping arbitrary things using the bitcoin block chain could indeed become popular.  Some might consider that spam, but if the volume of such activity increases, then so will the fees that miners require to get transactions into the block chain.  In fact, I even wonder whether time stamping something could eventually become the most important kind of transaction that bitcoin enables.  People will need bitcoins just for their ability to be used to pay the transaction fee required to get something timestamped in the block chain.  This will increase the revenues of miners and further strengthen the bitcoin network by attracting more miners.  It will drive the cost of a bitcoin transaction higher, but that's inevitable.  This will give rise to privately issued coins that work off block chain and are effectively zero cost with periodic settlement between institutions using the more costly bitcoin network.

I think we should encourage the use of bitcoin for time stamping things.
sr. member
Activity: 316
Merit: 250
I didn't mean that Twitter-like and Facebook-like data would be stored on a Bitcoin network, just that as new decentralized networks are created they will tend to standardize the ways they refer to eachothers data as secure-hashes. Bitcoin and Bittorrent are partially compatible that way.

I got too excited when writing this thread, since there are still a few paradigm shifts before average people will understand what I'm trying to do. I'm trying to create a new kind of money thats based on overlapping network shapes (mind maps) instead of just the network nodes (money accounts or keys/values of data in Bittorrent). I was trying to get people to think about how we get from here to there so open source research would start toward that, and in this thread I was warning of the results of such research as people see they can hook all these things together.

Namecoin isn't what I'm looking for, but its good to know people are willing to join new block chains with modified software.

Quote
Bitcoin sets up economic incentives to not attack the block chain - doing so (by aggressively re-ordering transactions) destroys faith in the system and undermines the validity of your own wealth, ie, it is self defeating. However if you have a voting system in which the results are binding (or at least influential), it may be worth mounting very expensive attacks to interfere with the outcome, like by dropping votes. It doesn't matter if people abandon the system and the resulting vote outcome because that might be your goal (political statis).

I don't want to destroy faith in Bitcoin. Its part of some paradigm shifts that will improve the world and prevent a global dictatorship from forming by influencing society toward decentralization, and that is very important to me.

The market force toward "dropping votes" or other "expensive attacks to interfere" are part of what I was warning about, since game-theory is part of security.

For example, what would happen if I created a new wallet.dat and published it for everyone to download and continued to put money in it everyday.... When people caught on, the public private key and its bitcoin address could be simultaneously connected to the Bitcoin network from thousands of locations at once, each trying to spend the new money before the others, therefore putting in false transactions as a gamble that the money will come to the address before other computers notice. It would create a global economy that allows me to pay money into a public wallet.dat and receive a market-value-equal amount, plus the lottery-like psychology of it, of denial-of-service combinatorial confusion on the Bitcoin network.

And if that wouldn't be enough, what if a game-theory hacker extended that strategy to put the money into 1 of a large number of public private keys each time depending on the current value of certain bits in the Bitcoin network, and bits could be defined in arbitrarily complex ways like say its 0 or 1 based on if a certain address sent or received its last transaction, and to further combinatorial confuse the normal operation of the Bitcoin network, those addresses whose sending/receiving of transactions could be public private keys that the hacker would also publish in wallet.dats for everyone to compete for the free money he puts in to drive the denial of service economy. Its like forcing Bitcoin to deal with a dangling pointer with money being thrown at unpredictable locations, within certain public addresses or any address at all if you want to get more complex, and the theoretical hacker's global economy that he funds would drive thousands of people to use the Bitcoin network in those almost unpredictable and combinatorial confused ways which would confuse the whole network about the true status of those accounts and transactions to the point nobody would be able to agree on if the next block is correct or not.

Open Source works best when these kind of things are published for everyone to see. If I can think of it, maybe somebody else can too, and you wouldn't want them to know it and not you.

Still think the Bitcoin network couldn't use some strategic improvements within the limits of the data format and other expected behaviors?
vip
Activity: 1386
Merit: 1140
The Casascius 1oz 10BTC Silver Round (w/ Gold B)
Luke, you would probably be highly successful if you started your own little hash-commitment business on bitcoin.

Not at first, but after you got some traction, you'd be the go-to guy for it.

You could sell an unlimited number of hash commitments at the price of your choice, and you could accomplish it with one hash per block - an off-blockchain merkle tree root.

There is already a viable market for it - for example, I have paid for the ability to digitally sign PDFs, and part of that service is third-party cryptographic timestamping.  It depends, however, on the honesty of the timestamp provider to always stamp the right time.  I have no reason to doubt their service, but if we now have the technology to keep it honest, why shouldn't we.  If each timestamp it served also had its hash published in a merkle tree whose root was in the blockchain, the trust would be completely decentralized.  There is a real value in that!
legendary
Activity: 2576
Merit: 1186
It is spam. Create your own blockchain or equivalent, like Namecoin did. If it's sane, I will merge-mine it with Eligius to keep the spam off Bitcoin.
legendary
Activity: 1526
Merit: 1134
I think the chances of people using Bitcoin transactions to replace Facebook or even voting is zero, because it's not the right tool for the job.

If you want a transaction log secured by the votes of anonymous miners (I don't think this will be accepted by the populace for any important vote), you can set up your own chain and do merged mining on it, a la Namecoin. This gives you the technical flexibility you need to introduce interesting new protocols and features as makes sense.

Bitcoin sets up economic incentives to not attack the block chain - doing so (by aggressively re-ordering transactions) destroys faith in the system and undermines the validity of your own wealth, ie, it is self defeating. However if you have a voting system in which the results are binding (or at least influential), it may be worth mounting very expensive attacks to interfere with the outcome, like by dropping votes. It doesn't matter if people abandon the system and the resulting vote outcome because that might be your goal (political statis).

If you haven't already, you should read this page:

  https://en.bitcoin.it/wiki/Alternative_Chains

I think most experienced developers are choosing alternative chains with merged mining rather than abusing the Bitcoin transaction format because it makes technical sense, and doesn't shut you out of interesting future improvements.

sr. member
Activity: 316
Merit: 250
I only gave the environment as an example of how greedy-algorithms (those that quickly choose the best thing they can see at the time) tend to do the opposite long-term of what they do short-term, and Bitcoin's transaction fee strategies need to be smarter than that.

I understand that the transaction fees may make that impractical for me, but I'm talking about what happens when millions of people start using Bitcoin as a replacement for voting, Facebook, Twitter, stock market prediction, mind mapping, and many things we'll think of as a result of that being done in 1 unified and simple system. They will pay the transaction fees and still overload the Bitcoin network as its currently designed.

I can get people to use Bitcoin this new way simply by offering some bitcoins as prizes for using it, like the most uniquely interesting mind map created this way within 1 week of posting it. There are many ways to generate interest in the idea to boot it up. After that, people will see that they can offer bitcoins as prizes for their own evolutions of the system, and it will eventually obsolete the idea of businesses as all work is funded, or more accurately I should say its social-network-influenced, through systems like this. Money is a number. Weighted mind maps are more advanced than money and will defeat it in a fair competition. But first I want to talk to people about this system.
kjj
legendary
Activity: 1302
Merit: 1026
More dangerous than that is that supply and demand are often a greedy-algorithm which means it gets stuck at local-maximums, like Humans destroy the environment needed to survive for short-term profits.

This is where I stopped reading.  You don't see your own life as a counter-argument?  We've chased short term profits that "destroy the environment needed to survive" so much that the world currently supports several billion people.

As for the rest of your posts, I'll give you 10 BTC if you can create 100,000 transactions sending .00000001 BTC each and get them into the chain before the end of the year.  They can be legitimate transactions back to yourself, or to whatever arbitrary hashes you want.
sr. member
Activity: 316
Merit: 250
I demonstrated how to use the existing Bitcoin network as a voting system, cryptocurrency-weighted mind map, and social networking. Its not spam. Its a legitimate use, similar to "the B-Money http://weidai.com/bmoney.txt paper which was the idea that Bitcoin is based on". Its not about storing the data. Its about protecting our votes and other new ways of organizing society from censoring and corrupt motivations of politics and corporations who control the Internet. The only practical way I know of to make the global voting system reliable enough that people can trust it is to put the symbols and links to other data in Bitcoin addresses and put how they're related in the transactions.

As for "the whole idea is not very scalable", make it scale or go bankrupt. This thread (as I wrote above) explains how to do that https://bitcointalksearch.org/topic/merkleweb-statistical-godel-like-secure-but-not-perfect-global-turing-machine-53062 I'm not trying to cause problems, but I'm forced into this position by the game-theory of global events.

The incorrect assumption (while its not "spamming") at https://en.bitcoin.it/wiki/Transaction_fee is "Someone spamming the network will almost certainly be re-using the same coins". This legitimate use of the Bitcoin network will use many different addresses. Its the next evolution of Wikipedia and a global democracy and could expand to become the core of the next generation Internet.
vip
Activity: 1386
Merit: 1140
The Casascius 1oz 10BTC Silver Round (w/ Gold B)
You suggest that someone will spam the block chain, but short of being disruptive, why would they want to?  It is a rather inconvenient way to store data, downloading it is very slow, and the whole idea is not very scalable.

If all they're trying to do is create a commitment of their data, they could just put a hash of it in the block chain.
sr. member
Activity: 316
Merit: 250
Low transaction fees are not a problem, but not reacting to supply and demand using intelligent strategies could become a problem. More dangerous than that is that supply and demand are often a greedy-algorithm which means it gets stuck at local-maximums, like Humans destroy the environment needed to survive for short-term profits. Supply-and-demand is not enough. It needs something more intelligently strategic that thinks about long-term patterns, or at least a simple strategy of choosing transaction fees that always chooses a higher price than such intelligent strategies would choose.

I'm not proposing to make such fees mandatory, but the strategies should influence people (and software they use as tools) to voluntarily give enough transaction fees that the quantity of transactions does not increase too fast while this global paradigm shift happens. That means there must be a disadvantage for the total number of transactions in the network increasing too fast. The current disadvantage is slower transaction processing and theoretically less reliability, experienced at the individual level based on their transactions.

I'm proposing something similar to how Bitcoin automatically adjusts the "proof of work" difficulty.

https://en.bitcoin.it/wiki/Transaction_fee
Quote
It is envisioned that over time the cumulative effect of collecting transaction fees will allow somebody creating new blocks to "earn" more bitcoins than will be mined from new bitcoins created by the new block itself. This is also an incentive to keep trying to create new blocks even if the value of the newly created block from the mining activity is zero in the far future.
It works like this:

    Whoever sends the transaction is often able to guess an appropriate fee based on their own fee rules. The original client will always assess the transaction, and if a fee will typically be expected, it will not allow you to send the transaction without the calculated fee.
    The user is prompted to confirm the fee before the transaction is sent.
    The sender makes a transaction with more coins in the In portion than the Out portion so that there are “leftovers” not assigned to any address.
    Whoever ends up publishing the block which contains this transaction will take these (and any other) leftover coins. They are included with their normal generated coins and is an extra bonus for creating the block.
    If a mining node receives a transaction that should include a transaction fee but doesn't, they may refuse to include it in their blocks. It might be included in a later block if someone is willing to accept it. Generators can't force a certain fee on transactions -- they can only accept or reject the transaction's “fee offer”.

This balance is made entirely of 0.01 BTC cents. Since sending them requires a lot of data, a very large fee is required.

Different bitcoin clients and different versions have different rules for determining which transactions to accept and how large a fee to send.

Current default rules for the original Bitcoin client (Bitcoin 0.3.23):

    minimum TX fee for new transactions reduced to 0.0005 BTC.

Original Bitcoin client version 0.3.20:

    0.01 BTC fee if sending any transaction less than 0.01 BTC. This is to help prevent DoS attacks against the network. Remember: fees are not network-enforced, so it's still possible to send these small transactions without the fee -- you just have to generate the blocks that contain them yourself (after modifying Bitcoin).
    0.01 BTC fee per kilobyte of transaction, but:
        If the blocksize (size of all transactions currently waiting to be included in a block) is less than 27 kB, transactions are free.
        If the blocksize is more than 250 kB, transactions get increasingly more expensive as the blocksize approaches the limit of 500 kB. Sending a transaction when the blocksize is 400 kB will cost 5 times the normal amount; sending when it's 499 kB will cost 500x, etc.
    Transactions within each fee tier are prioritized based on several factors. Most importantly, a transaction has more priority if the coins it is using have a lot of confirmations. Someone spamming the network will almost certainly be re-using the same coins, which will lower the priority of their transactions. Priority is also increased for transactions with more BTC, and reduced for transactions with more data.
    If the blocksize is over 4kB, free transactions in the above rules are only allowed if the transaction's priority is above a certain level.
sr. member
Activity: 316
Merit: 250
Here's what's going to happen and why we should expect it:
"The global decentralized secure electronic voting system is up and running"
https://bitcointalksearch.org/topic/the-global-decentralized-secure-electronic-voting-system-is-up-and-running-60229

This thread is about how to scale up Bitcoin to handle what's coming.

Since the new way of using the existing Bitcoin network will, for voting purposes, try to count people regardless of the size of their transactions, there will be many .00000001 transactions.

Its also for cryptocurrency-weighted mind mapping and social networking, using the 20 bytes of space for arbitrary data in Bitcoin addresses, as explained in that thread. The transactions will be used normally except they are interpreted as edges between addresses instead of only events. Its a way of representing weighted hypergraphs.

Many small transactions will send money to addresses that don't exist, to represent a vote of importance toward the idea named by the address in its 20 bytes that contain arbitrary data instead of the hash of a public key.

Since there's no practical way to determine if something is the hash of a public key or some arbitrary other bytes (possibly encrypted if censoring is attempted), the existing Bitcoin network will not be able to tell the difference between these addresses and transactions and the normal kind. Its simply a different way to use Bitcoin.

Its not in violation of the Bitcoin license which basically says use Bitcoin however you want.

It doesn't change Bitcoin in any way, so its the same program.

In some ways, but not exactly, its a way to implement the contracts described in the B-Money http://weidai.com/bmoney.txt paper which was the idea that Bitcoin is based on, so this is not an abuse of the Bitcoin network. Its what it was meant to become, a decentralized anonymous (or choice of identity-certified) way to organize society without the need for hierarchies like governments and countries.

The transaction fee strategies may need to be made more intelligent.

Example: I could upload the shorter names of the approximately 10000 Wikipedia page names at my http://MouseSearch3d.com and add transactions each from a new address to the Wikipedia page names those pages link to, so the Bitcoin network would include the network shape but not the page content. Large data would go on Bittorrent and put the 20 byte hash in the Bitcoin address as the arbitrary data (instead of a Wikipedia page name for example).

I could send .00000001 bitcoin as each edge in that network of approximately 10000 nodes and edges between them.

The purpose of including that data is to build mind maps, starting with the core ideas of society, as I already calculated by starting with over a million Wikipedia pages and keeping only the pages that have more incoming links than outgoing links (only counting links from the remaining pages) and only keep pages that have at least 5 incoming and 5 outgoing links. Using that simple algorithm, the 1.3 million Wikipedia page name network shrank each cycle and the most useful cycle had approximately the 10000 most important page names, such a high quality set of page names it looks like they were hand picked, but its automated. That's why I plan to sometime upload that network to the Bitcoin network.

Other people will use the system for social networking, cryptocurrency-weighted mind mapping, voting, and anything that can be represented as weighted hypergraphs.

Expect an exponentially fast increase in quantity of transactions and addresses, and expect many of those addresses to be made from arbitrary 20 bytes of data (therefore the many small amounts of money are stuck there forever) each instead of the hash of a public key, while other addresses will be the normal kind that send and receive bitcoins. The arbitrary data nodes will be constant symbols.

Please research what changes may need to be made to cause transaction fee strategies to change in response to that. We will do less transactions only if they cost more. It needs to automatically react to supply and demand for how well Bitcoin scales up.

My other ideas to scale up Bitcoin are here, about a similar and more flexible theoretical software, but many of the ideas could be done in Bitcoin as a small change:
"MerkleWeb - statistical Godel-like secure-but-not-perfect global Turing Machine"
https://bitcointalksearch.org/topic/merkleweb-statistical-godel-like-secure-but-not-perfect-global-turing-machine-53062

If this is not prepared for, the whole Bitcoin network could expand to a much larger size faster than new versions can be created and people download them, the dollar price of Bitcoins would extremely decrease, and the whole Bitcoin network could crash.
Jump to: