I am in the process of understanding Ethereum and blockchain technology. I am building a mobile app that needs to keep track of transactions between users. From what little knowledge I have of Ethereum, it seems like a good fit but on the other hand, I know that I can achieve the same result using a traditional database hosted in AWS. Does anybody have an insight into the cost involved in using AWS vs Gas? Is there always a cost involved in transferring ether from one wallet to another even if it is your own?
Is there always a cost involved in transferring ether from one wallet to another even if it is your own?
Yes. Every transaction has a minimum cost of 21000 gas. Furthermore, the Ethereum blockchain has no concept of wallet ownership; there is no (simple, on-chain) way to tell whether the wallets which are exchanging ether are both "yours".
Does anybody have an insight into the cost involved in using AWS vs Gas?
The cost of recording a transaction in an AWS database is so small as to be insignificant, whereas a transaction on the Ethereum blockchain has a small (but non-trivial) gas cost associated with it. When viewed purely in terms of recording transactions, AWS will almost always be cheaper. However, the blockchain has some unique properties which may tip the scales in its favor:
Although the cost of making a single database transaction on AWS is small, you must consider the other costs associated with AWS. Hosting, backups, storage (and so on) can add incidental costs. And these costs will accrue over time. On the other hand, once you've paid for a transaction on the Ethereum network, you're off the hook for maintenance; that transaction is written into the blockchain -- forever.
That brings up another point: if you can't pay your bills, or if Amazon suddenly decides that cloud-computing isn't profitable anymore, your database will be offline. Hopefully you've kept backups. On the other hand, the Ethereum blockchain (and any transactions recorded thereon) will persist as long as users continue to run nodes. It's entirely reasonable to expect that a smart contract published onto the blockchain will outlive its creator, and continue to function long after that creator has passed.
While the gas cost may be off-putting, you don't necessarily have to be the one to pay it. When developing your smart contract, you can probably structure it so that most or all of the gas costs are paid by the users who are making the transactions. And generally speaking, if you're providing a valuable service, they'll be happy to do so.
Transfer of Value
Of course, one of the biggest advantages of Ethereum is that it contains a built-in system for transferring value. While the cost of making a database transaction may be large compared to AWS, the cost of making a financial transaction on the Ethereum network is insignificant when compared with trying to deal with Paypal, Visa, Apple, etc.
As with most things in life, the answer is: "It depends." Depending on your usecase, it may be more cost-effective to use Ethereum or AWS. When making your choice, remember: these technologies aren't mutually exclusive. For example, you may want to use the Ethereum network to handle infrequent (but important) transactions while using an off-chain database to handle the rest.