is every bitcoin transaction cheap p2p? any solution?
A fee required to be paid for a normal bitcoin transaction isn't usually big.
Note that a bitcoin transaction fee depends on following factors.
1. Number of inputs and outputs:The more inputs or more outputs makes your transaction larger and more expensive.
Assuming the fund you want to spend has been received in n transactions, your transaction has n inputs. Number of outputs is determined by number of recipients. If you don't want to spend the total balance of selected inputs, your transaction can have an extra output called change. Change is the amount sent back to you.
2. The network state and how fast you want your transaction to be confirmed:
Miners prioritize transactions based on their fee rates.
So, if the network is busy and you want your transaction to be confirmed fast, you have to fee higher fee.
3. Address type:
If you use segwit addresses, you can pay lower fees.
There are two kind of segwit addresses. Address that start with bc1 are called native segwit or bech32. Addresses that start with 3 are called nested segwit. (Not all addresses that start with 3 are segwit. They may be multi-signature addresses).
If you use native segwit addresses, you pay lower fees. There's another type of address which is called legacy and start with 1. If you use legacy addresses, you have to pay higher fees.
Currently, a normal bitcoin transaction (1 input and 2 outputs) made from a native segwit address can be confirmed in the next block with transaction fee of around 140 satoshi (around 0.04 dollars).