what are the actual requirements for a bitcoin transaction? Not the simple inputs, outputs, verification or amounts, but in the technical sense. what does your wallet do? every thing I read says you need a client but what does it do? people used paper wallets before how were they able to do so? did they still need a client? and if so for what reason? does it just connect them to the network or is there more to it?
The word client is normally used for a client-server arrangement. One example is the world wide web where web-browsers like Chrome, Firefox and edge are clients. Web-servers like apache-webserver and IIS are servers. Clients need servers, clients and servers do entirely different jobs.
Bitcoin doesn't really use a client-server model, it uses a peer to peer model where every node is the same. At least, that was the case in the beginning. Bitcoin was originally designed to avoid the need for trusted third parties but many commercial businesses have entered the Bitcoin world and some of them use a client-server model for the software they provide. This answer will focus instead on the peer-to-peer model used originally and still used by popular wallets like Bitcoin core.
A wallet does several jobs:
- It stores data locally.
- The only truly important item is the private key (or master private key)
- It also caches a local copy of the transaction journal (the blockchain)
- It keeps other records of transactions etc it has been involved in.
- It provides a user interface for a person to spend money, see historical expenditure etc
- It creates new unconfirmed transactions that spend money controlled by it's private key
- It sends these to a few nearby peers to be passed on so they eventually reach miners.
- Consequently it has to initially discover some peers and keep contact with them.
- It keeps track of the amount of money under it's control (often called a balance)
- It communicates with a few other peers to learn about new blocks of transactions
Note that the only vital task is storing a number that is kept secret. Everything else is comparatively unimportant.
a paper wallet is a number written down on a piece of paper and kept secret.
Paper wallets obviously only do the first of the jobs listed above. Storing a private key. Money can be received by a paper wallet because the recipient of a transaction is purely passive and not really involved in the processing of any transaction. The sender only needs to know an address for the recipient, beyond that the recipient is not involved.
Paper wallets were useful for long-term storage of money. However the person who created that wallet would have to have some external means of keeping track of the amount of money. This could be other paper records, use of blockchain-explorers or some other system.
To spend money, the owner of a paper wallet would have to copy the secret number into a software or hardware wallet.