Bitcoin Forum
November 13, 2024, 10:07:14 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Why the business world may be slow to adopt bitcoin....  (Read 1802 times)
4EverMaAT (OP)
Newbie
*
Offline Offline

Activity: 20
Merit: 0



View Profile WWW
July 09, 2012, 05:01:02 AM
 #1


Resources have a real (fiat currency) cost.  Just like fiat currencies or gold or diamonds have to be securely stored, insured, etc, bitcoin has a real cost in order to keep the bitcoin network running smoothly.

Most regular bitcoin users are familiar with the recent exponential increase in blockchain size.  When I first downloaded bitcoin about 3 weeks ago, it was just over 1.2GB.  It is already at 2.7GB and rising quickly.  Arguments have been made that suggest that hard drive space is cheap so it won't be a problem.  Offline hard drive space is cheap, but 'cloud' or dedicated internet accessible hard drive space is still a bit pricey, depending on the service provider, location, amount of space, etc.  My windows 2008 R2 64 bit VPS which is guaranteed 100% uptime in a major USA backbone is appx $40/mo and I only get 30GB (16GB used by windows install alone). I have appx 40-60 active connections at any given time, although unfortunately the client does not keep track of how many confirmations my node has done.  The original bitcoin client is actually lacking in a lot of advanced statistics to give the user an idea of what their node has accomplished or is currently processing.

Regardless, whether dedicated or a casual user, the full blockchain is taking up too much hard drive space, especially considering there is no compensation (that I can see in the original client) for hosting the node.  I should have a right to reject to confirm a transaction that does not have a certain percentage of the original transaction as a fee.  Making the transactions 'free', no matter how small will attract a certain type of undesirable user (freeloader).  In fact, i was imagining that a certain type of 'bloat blockchain attack' could be done where a huge number of microspends could be done on an automated basis to make the blockchain very bloated and therefore inaccessible to those nodes without the hard drive space or bandwidth.

Potential solutions: 
- allow blockchain to be divided up into xx MB/GB file sizes.  Consider using compression for older portions of the blockchain.
- Allow node to customize how much of the blockchain the node will confirm.  Either in days from present day (past xx days) or in number of transactions from the most current block.   So 'supernodes' can hold the entire blockchain, while 'small business nodes' may only keep 6 months worth, and a casual user only needs maybe 4-6 weeks.

Perhaps there would be increased transaction (research fee) to confirm older transactions.  The real cost of storage is directly proportional to the length of the blockchain.  Wouldn't older transactions be further back on the blockchain?

- find a way to shrink/summarize older transactions so that only a minimum amount of information is needed for the blockchain.
- consider expiration date for accounts with no activity or something similar.  Like a gift card or anything else of stored value, there needs to be minimum activity to keep up with changes.  The bitcoin client will need to evolve and cannot always be concerned with having to maintain older clients
- A minimum per transaction fee of 1000th (0.1%) of the total transaction size, (or the smallest BTC denomination, whichever is larger) charged to the sender at the time of sending.  That's 0.1% transaction fee; unheard of in credit card processing.  The transaction fee can be divided up evenly amongst the first 6 confirming nodes.
- allow node to reject transactions that do not have a certain % fee of transaction.
- allow return to sender option if wallet does not receive/confirm a transaction after xx minutes.  Default can be 3 days but perhaps adjustable to up to 7 days or so.  We don't want too many unconfirmed/stale transactions floating around.
- bonus: allow an optional checkmark to donate 0.1% of the total transaction size to bitcoin client developer address to assist with future development.  When this is in the client, people are more likely to actually participate in it.  Maybe even type a short thank you note or suggestion.

If a transaction is 'confirmed' x number of times, is there still a reason to keep the original record past a certain amount of future transactions count (or n many months)?  We would have to give the receiver some responsibility in checking their wallets/transaction history, similar to how the bank account statement would be checked by the customer to ensure no errors. 

If you think about it.  Even banks only keep so many transactions in their current database before storing them offline or historical database.  Then for these older transactions, a "research fee" must be paid to look up the transaction.  After so many days, months, or years, the the historical data may even be destroyed, as it is no longer relevant.  Once the transaction is fully confirmed in the receiver's account, there's no need to hold on to that past data for any extended period of time (otherwise, what's the true purpose of confirmation?).  Perhaps there should be a 'return to sender' and the receiver has x number of days to claim their funds (3 days?) or else it is returned to sender.  If there is no sender address, do the bitcoins get distroyed? Or evenly distributed to a random number of confirming nodes (for doing the work of having to confirm the transaction).
The fundamental idea here is that the receiver will be keeping track of their transactions on a regular basis, which would require that you be in communication with the sender. 

Bitcoin need to mature out of the "hobby" mindset in order to truly be accepted and integrated into the business world, which is what bitcoin is primarily intended for (settling agreements rapidly between 2 or more parties). Being scalable on paper is not good enough.  Some of these things need to be done from the original client.  People do have other things to do with their hard drive space, especially in the cloud.

I woke up today and had all these thoughts about bitcoin and felt the need to express them.  Not sure how much longer I can be a free node.
notme
Legendary
*
Offline Offline

Activity: 1904
Merit: 1002


View Profile
July 09, 2012, 05:07:41 AM
 #2

www.bitcoin.org/bitcoin.pdf

Section 7.

Compression of older transactions would be worth exploring too.

https://www.bitcoin.org/bitcoin.pdf
While no idea is perfect, some ideas are useful.
mav
Full Member
***
Offline Offline

Activity: 169
Merit: 107


View Profile
July 09, 2012, 05:10:40 AM
 #3

I'm not sure I'm convinced that your argument is sound.

"Businesses not taking up bitcoin because the blockchain is too large" doesn't seem quite right. Maybe in the future it might be, but right now, businesses aren't using bitcoin because they a) don't know about it b) don't care about it.

Adoption isn't being halted because business owners are looking at bitcoin and saying 'oooh the blockchain is too many GB'.

I agree that blockchain pruning is important, but it's not a reason that businesses aren't adopting bitcoin or will be slow to adopt it. That's a social/marketing/legal issue.
niko
Hero Member
*****
Offline Offline

Activity: 756
Merit: 501


There is more to Bitcoin than bitcoins.


View Profile
July 09, 2012, 05:33:27 AM
 #4

These are interesting and important issues, albeit not very pressing at this moment. Much of it has been discussed extensively (compression, pruning, supernodes). I am not nervous at all about any of it.  Bitcoin seems to be robust, no serious flaws in the algorithm have been identified, even now that the stakes have become serious (most "fails" in Bitcoin world were so far related simply to hacked accounts and stolen wallets, none of it had anything to do with the Bitcoin network itself). So far, so good. It's an experiment that is already resulting in some real-world use, and is growing - as evident from the blockchain.

They're there, in their room.
Your mining rig is on fire, yet you're very calm.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
July 09, 2012, 06:27:53 AM
 #5

You might be better served learning how bitcoin actually works before trying to "fix" it.

Your ideas fall into either (already planned), (impossible without a hard fork), or (dubious value)

For example there are huge security implications for a node that doesn't have entire blockchain, especially a new node.     If you don't want to be a full node then be a lite node and rely on a TRUSTED third party.  Using only a portion of the blockchain is the worst of both worlds.  You are relying on the honesty of 3rd parties but the third parties you are connecting to are unknown and unverified.  Bitcoin treats all incoming data as "suspect" until proven valid.  To do that requires the ability to independently validate and you can't do that with a fragment of the blockchain.  If you aren't going to validate incoming data then why even have part of the blockchain.  Keep 0 GB worth and be a lite node.

There are a lot of flawed assumptions. Transaction fees can never be a % of the sale amount.  The network doesn't know the intended sale/tx amount.   Fees shouldn't be based on tx value.  They should (and are) based on tx size. The critical resource is size thus pricing should be based on size.   Fees don't go to node who confirm.  It would be nearly impossible to determine which node relayed a tx first.  Fees goes to miners as they are doing the significant work of created a block not just tx validation.  Coins aren't send to the receiver.  There are broadcast to the entire network.  There is no way to know if/when the receiving user/client/wallet is aware of the transaction.  There is already a mechanism planned for reducing block size called pruning.  Miners can reject any tx for any reason (including insufficient fees).  If you want to not relay "no fee" tx patching the client to do that is trivial, however remember bitcoin is a mesh network.  Transactions will simply route around you.

Quote
If a transaction is 'confirmed' x number of times, is there still a reason to keep the original record past a certain amount of future transactions count (or n many months)?

Yes.  If you don't understand why then how can you propose fixes?  It would be like a mechanic not understanding how a car works but proposing methods to fix problems which don't exist.

Quote
I woke up today and had all these thoughts about bitcoin and felt the need to express them.  Not sure how much longer I can be a free node.

Then don't.  Smiley  Still regardless of if you remain a node (no such thing as "free") it might be useful to learn how things work before deciding they need to change.  If you aren't a full node then you need to rely on a third party.  It is that simple.  Most businesses likely will choose to be a full node.  Having direct peer access to the network and full verifiable record of all transactions and blocks is worth more than the trivial cost to run a node.  If it isn't worth that then you should consider being a light node.  There is essentially no cost with the caveat that you no longer are a peer.
broken
Newbie
*
Offline Offline

Activity: 55
Merit: 0


View Profile
July 09, 2012, 06:33:15 AM
 #6

My windows 2008 R2 64 bit VPS which is guaranteed 100% uptime in a major USA backbone is appx $40/mo ...

Can you give me a link to the provider that guarantees 100% uptime for only 40$ per month?
istar
Hero Member
*****
Offline Offline

Activity: 523
Merit: 500


View Profile
July 09, 2012, 07:05:53 AM
 #7

Nope, its because social/legal and not understanding Bitcoins advantages.

The blockchain is not an issue at all since you have solutions such as Bitpay etc.


Bitcoins - Because we should not pay to use our money
Realpra
Hero Member
*****
Offline Offline

Activity: 815
Merit: 1000


View Profile
July 09, 2012, 08:28:21 AM
 #8

Search "swarm client" on this forum.

Until thats developed just use electrum Wink

Cheap and sexy Bitcoin card/hardware wallet, buy here:
http://BlochsTech.com
Boussac
Legendary
*
Offline Offline

Activity: 1221
Merit: 1025


e-ducat.fr


View Profile WWW
July 09, 2012, 09:32:51 AM
 #9

Businesses will accept to use the bitcoin network through payment service providers (PSPs) that abstract out for them its complexities such as block chain hosting, transaction confirmations, currency conversion, cash out, etc.
I believe bitcoin PSPs (including Paymium) will start gaining traction before the end of the year.

4EverMaAT (OP)
Newbie
*
Offline Offline

Activity: 20
Merit: 0



View Profile WWW
July 12, 2012, 09:29:06 AM
 #10

You might be better served learning how bitcoin actually works before trying to "fix" it.

Agreed.  I'll be the first to admit am not too much of a techie, I have read the majority of the material on the bitcointalk newbie (getting started)thread, the bitcoin.it wiki, and bitcoin.org whitepaper.

I do have experience in business, basic mechanical engineering, and logic.  So although we may use different symbols to describe an event, if it is explained in a simple and logical flow, i can usually follow along.
Quote
Your ideas fall into either (already planned), (impossible without a hard fork), or (dubious value)

For example there are huge security implications for a node that doesn't have entire blockchain, especially a new node.     If you don't want to be a full node then be a lite node and rely on a TRUSTED third party.  Using only a portion of the blockchain is the worst of both worlds.  You are relying on the honesty of 3rd parties but the third parties you are connecting to are unknown and unverified.  Bitcoin treats all incoming data as "suspect" until proven valid.  To do that requires the ability to independently validate and you can't do that with a fragment of the blockchain.  If you aren't going to validate incoming data then why even have part of the blockchain.  Keep 0 GB worth and be a lite node.
I understand the need for the whole blockchain.  I was originally thinking more along the lines of one-time use only.  Like western union or fedex.  Once the receiver picks up the item and this is confirmed, the transaction history technically is no longer needed and could be discarded.  Of course there may be other secondary (usually legal) reasons to hold on to the record for a longer period, but the primary function (Point A to Point B delivery) was achieved.  Traditional bittorrent files, like a movie remain alive as long as there are seeders.  The idea is that enough people will reseed the torrent to keep it alive.  A bittorrent file size is fixed, so the user is limited partially in hard drive space, but more so in bandwidth.  Then that space can be reused when the file no longer needs to be seeded.

Bitcoin wallets also double as a stored value container (holding Bitcoins)with no expiration date.  Because of the non-expiring nature, you need the whole blockchain history from the first bitcoin to verify the authenticity of every coin that ever passes through the system.  This type of accounting system works well when there are only a few daily transactions or a few stock items in inventory.  In order to keep records of every transaction, you need physical disk space to hold the entire history of transactions.  And it must be in one continuous sequence; you cannot break up the blockchain into 1000 rar files and scatter them on different drives (can you?)  Because of the nature of bitcoin, this disk space in the form of a node needs to be constantly connected to the internet in order to add any real value to itself (to remain up to date) and to other users (to facilitate validating, mining, etc).  Or it would at least require daily connection for, say 4-8 hours a day and less for people depending on their level of dedication to the bitcoin network.

We cannot "reuse" the space where the blockchain already exists, except through pruning or other methods of compression.  Not for 1 central node, but for all nodes.  This will increase the need for cloud disk space, which is not unlimited.  The low barrier of entry will not be so low, as the blockchain growth is approaching exponential levels.
Quote
There are a lot of flawed assumptions. Transaction fees can never be a % of the sale amount.  The network doesn't know the intended sale/tx amount.   Fees shouldn't be based on tx value.  They should (and are) based on tx size. The critical resource is size thus pricing should be based on size.   Fees don't go to node who confirm.  It would be nearly impossible to determine which node relayed a tx first.  Fees goes to miners as they are doing the significant work of created a block not just tx validation.  Coins aren't send to the receiver.  There are broadcast to the entire network.  There is no way to know if/when the receiving user/client/wallet is aware of the transaction.

- What is the difference between the total bitcoin amount sent and the transaction size? I thought they were one in the same.
- Maybe a receiving fee or a fee for maintaining wallet for xx days with no transaction may be in order.
- What stops someone from doing a bloat attack, where they make lots of small (or large)transactions to themselves, increasing the size of the blockchain?
Quote
There is already a mechanism planned for reducing block size called pruning.  Miners can reject any tx for any reason (including insufficient fees).  If you want to not relay "no fee" tx patching the client to do that is trivial, however remember bitcoin is a mesh network.  Transactions will simply route around you.

Quote
If a transaction is 'confirmed' x number of times, is there still a reason to keep the original record past a certain amount of future transactions count (or n many months)?

Yes.  If you don't understand why then how can you propose fixes?  It would be like a mechanic not understanding how a car works but proposing methods to fix problems which don't exist.

Quote
I woke up today and had all these thoughts about bitcoin and felt the need to express them.  Not sure how much longer I can be a free node.

Then don't.  Smiley  Still regardless of if you remain a node (no such thing as "free") it might be useful to learn how things work before deciding they need to change.  If you aren't a full node then you need to rely on a third party.  It is that simple.  Most businesses likely will choose to be a full node.  Having direct peer access to the network and full verifiable record of all transactions and blocks is worth more than the trivial cost to run a node.  If it isn't worth that then you should consider being a light node.  There is essentially no cost with the caveat that you no longer are a peer.

 
You claim disk space is a trivial cost, yet it is not so trivial, for the reasons I mention above. is It's trivial now because it's 'only' 3GB large.  Trivial would have been correct back at the hobby stage of 3-30MB But historically speaking, it is growing exponentially.

Another person wrote using Electrum or other client that hosts the blockchain separately.  I may very well have to do this in a few months.  Too bad everyday people will not be able to host their own node.  We will have to rely on 3rd parties.  Some consolidation is natural for 'on-demand' services, but doesn't this defeat one of the original goals of bitcoin, which is to make it accessible to masses with decentralized authority?  If pruning will not allow significant re-use of disk space, the blockchain that is the the very heart of the bitcoin network will have to be placed into the hands of trusted 3rd parties to get any practical use out of it.

I want this bitcoin idea to work, which is why I placed the wallet on my server to begin with.  I'm sure I've confirmed thousands of transactions already with my short usage.    I guess we will have to wait and see what becomes of the blockchain.  I certainly hope pruning and/or other consolidation techniques do fix the blockchain bloat problem.
My windows 2008 R2 64 bit VPS which is guaranteed 100% uptime in a major USA backbone is appx $40/mo ...

Can you give me a link to the provider that guarantees 100% uptime for only 40$ per month?

Commercial Network Services (affiliate link) .  They have servers in New York City, NY USA, San Diego, CA USA, and London, UK.  They cater primarily to financial traders and related services which demand always on connections to the financial markets.  Zero forced reboots or forced windows updates on hyper-v; I've personally gone 6+ months without rebooting.  And whatever resources you pay for are YOURS; they don't oversell their services or over-promise resources.  They used to have dedicated servers, but got rid of them when hyper-v stabilized and their VPS setup was just as dedicated and more scalable.   They do have linux servers.....you may have to ask.

Barry is a great person to work with; and they make the uptime thing look easy.  I don't think they accept bitcoin (yet), but they do accept liberty reserve as well as traditional visa/mc/paypal/wire.

The only thing you cannot do is dedicated bittorrent/seedbox service.  A shame, because the VPS have multiple high quality 1-10Gbps connections.  But pretty much anything else is fair game.  I streamed video from the desktop using a hack where you link two user accounts and livestream.com streaming software.  The lag was 3-10 seconds.  There are other hacks to recover 3-5Gb from windows installation. 

You can't use the cheap $2 webhosting for blockchain hosting (they don't usually allow downloading or torrent sites anyway); you need something more dedicated.
Foxpup
Legendary
*
Offline Offline

Activity: 4533
Merit: 3184


Vile Vixen and Miss Bitcointalk 2021-2023


View Profile
July 13, 2012, 04:38:42 AM
 #11

- What is the difference between the total bitcoin amount sent and the transaction size? I thought they were one in the same.
"Size" in this context refers to the amount of data (in kilobytes) required to encode the transaction.

- Maybe a receiving fee or a fee for maintaining wallet for xx days with no transaction may be in order.
A "receiving fee" can't work because the receiver isn't necessarily online at the time the transaction is made. A fee for "maintaining" a wallet makes no sense, since wallets require no maintenance. In fact, until coins are actually sent from a wallet, no data about the wallet even exists in the network. Sending transactions and confirming them is the only thing that requires actual resources, and this is what fees are charged for. The fees are paid by the sender (who consumes the resources in question) to the miner (who supplies the resources to confirm the transaction). This is the fairest way of doing it.

- What stops someone from doing a bloat attack, where they make lots of small (or large)transactions to themselves, increasing the size of the blockchain?
Transaction fees. Since sending transactions to yourself repeatedly requires a transaction fee each time, anyone who attempts this will eventually run of money. By paying transaction fees, you are essentially purchasing the right to add data to the blockchain. Since fees are paid to the miners, and miners are the only people who really need to process the blockchain, there's no problem. If bloat becomes a problem for miners, they can simply increase their fees until the revenue from fees is greater than the cost of dealing with blockchain bloat.

Another person wrote using Electrum or other client that hosts the blockchain separately.  I may very well have to do this in a few months.  Too bad everyday people will not be able to host their own node.  We will have to rely on 3rd parties.  Some consolidation is natural for 'on-demand' services, but doesn't this defeat one of the original goals of bitcoin, which is to make it accessible to masses with decentralized authority?  If pruning will not allow significant re-use of disk space, the blockchain that is the the very heart of the bitcoin network will have to be placed into the hands of trusted 3rd parties to get any practical use out of it.
Nobody "has to" rely on third parties. People can choose to rely on third parties if they find it cheaper or more convenient, but anyone who wants the security of a full node is perfectly free to run one at their own expense. Remember, that's "free" as in speech, not as in beer. The security requirements for a digital payment system are massive, and absolutely cannot be provided at no cost. Storing the complete history of every transaction may seem inefficient and expensive, but it is the only way to provide the required level of security in a decentralised system. Your complaints sound like someone who refuses to use a safe deposit box because they don't trust banks, then complains that installing a vault in their basement is too expensive and takes up too much space. Ultimately, you have to either trust a third party to provide security for you or else provide security for yourself at your own expense, because you can't get security for free.

Will pretend to do unspeakable things (while actually eating a taco) for bitcoins: 1K6d1EviQKX3SVKjPYmJGyWBb1avbmCFM4
I am not on the scammers' paradise known as Telegram! Do not believe anyone claiming to be me off-forum without a signed message from the above address! Accept no excuses and make no exceptions!
Pages: [1]
  Print  
 
Jump to:  

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