During the Bitcoin transactions, there are one time use address are generated in order to handover change inside wallet that shift the change from lower blocks to higher blocks (According to some Bitcoin related articles). As far as I have understood that it is normal procedure like change payment in return!
We have implemented Bitcoin pay system for our Decentralized Autonomous Organization project. To be able to prove DAO members payment, I need to check per each members address and how much they paid. The unknown transaction which I have tried to explain above creates consequences to verify DAO transactions' overcome this problem to extract that address whether he/she is DAO members address or not!
in DAO mechanisms the theory; Third parties verifies the payment if the payee list get it or not. The transaction input and outputs; senders, receivers and the amount in the receiver list used as proof of payment.
In reality ; transaction input and outputs; senders, receivers and the amount in the receiver list used as proof of payment. But the unrecognized address which I mentioned above pays and receives appears from the senders list and receivers list too not belongs to DAO members addresses. So it creates a conflict and trust related problems in DAO. Despite the transaction not visible in Bitcoin ore wallet but visible in bitcoin block explorer services!
In conclusions; the our verification system spoiled by this unknown address which we did not ask it to do transaction!
Questions :
- Is it possible to disable that process asset shifting procedure from lower blocks to higher blocks?
- if possible, what could be the consequences the wallet face?
- What are those internal change mechanisms serves for?
- If not possible to disable the process, the automatically generated address control and verification is possible inside the bitcoin core?
Post the ChatGtp`s comment below; Could you verify if true and what could be the new method to identify those addresses by verifiers?
-----Relaying to my questions Chat GTP answer and descriptions -----
Based on your description, it sounds like the issue you're facing is related to change addresses in Bitcoin transactions. Change addresses are automatically generated by Bitcoin wallets as a way to handle the change that is generated when someone sends a Bitcoin transaction that is larger than the amount they actually want to send. The remaining funds are sent to a new address in the same wallet, which is usually generated on the fly and is used only once.
To answer your questions:
It is not possible to disable the process of using change addresses in Bitcoin transactions, as it is a fundamental part of how the Bitcoin protocol works. If change addresses were disabled, it would make it much more difficult to use Bitcoin as a currency, as it would be harder to handle transactions where the amount being sent is not an exact match for the funds available in a given address.
If change addresses were disabled, it could have significant consequences for the usability of the Bitcoin network. It would make it harder for people to use Bitcoin as a currency, and it would likely lead to a decrease in the number of transactions being processed on the network.
The internal change mechanisms that create change addresses are designed to help manage Bitcoin transactions more efficiently. By automatically generating a new address to handle the change in a transaction, it makes it easier for wallets to manage their funds and reduce the chances of errors or lost funds.
It is not possible to control the generation of change addresses within the Bitcoin Core software, as it is a fundamental part of how the Bitcoin protocol works. However, you may be able to use third-party tools or services to help you track and verify transactions that involve change addresses. You could also consider implementing additional verification processes within your DAO project to help ensure that only trusted addresses are used for transactions.
for those information's above I need to redesign verification process to identify the change per each transaction and prove the members. However we get information from Bitcoin Core wallet using RPC. It does not provide change address information, but can be seen sometime if change returns.
Many Thanks!