Is this something that could be done to have a scalable and inclusive Digital Currency?
apologize for the long post, but just wanted to get some technical advice on how this project could be accomplished. Thank you.
We trying to build a decentralized digital currency, and asset transfer on P2P network, utilizing "Proof of Partnership" POP.
In the current blockchain model used by Bitcoin, validating nodes use UTXO set, while Ethereum use the Accounts Balances model to digest the unspent coins from the blockchain. We need to eliminate the digesting phase, dissolving the blockchain in 3 steps.
Using the concept of the Blockchaining, either an Updated Unspent Transactions Output (UUTO) or Updated Accounts Balances (UAB) will be used as the state of the network. In this project, " Blocks" is replaced by an "Updates", for storage reduction and better scalability.
Updated Accounts Balances, updated every 120 seconds, instead of building blocks filled with transactions. Spent transactions data will be extracted to a different database, which will not be part of the network’s consensus protocol, that could be kept or discarded by partners.
Basically, instead of building blocks of transactions chained to each other and then extract the Unspent Output, we will chain the Updated Accounts Balances or the Unspent Transactions Output, and use it as the network’s main consensus.
Proof of Partnership, eliminating the competition and incentive all Partners with a fixed amount per update to perform the work, instead of the known "block reward".
Partners will participate under 2 roles Updater Partner (UP) and Validator Partner (VP). Both roles are full nodes. Each have different responsibilities.
1 — Validator Partners — VPs
- Verify transactions against their UAB, then relay it to their peers. VPs do not create or relay UAB updates.
- Once an "Update Proposal" has been received from Updater Node, VPs will verify transactions again, update the UAB accordingly and broadcast an "Earn" transaction with the hash of the the new update.
The hashing difficulty should be accomplished with CPU from home PC or Laptop. Our goal is to use resources efficiently and increase participation without the need for special hardware or entry barriers for joining the network. Full
participation and bandwidth are more important than "hashrate" in this protocol. Initially, VPs will have a minimum of 0.5 Mbps upload speed connection. For up to 5000 VPs.
Bandwidth requirement shall increase according to network growth, for example:
- 5001 to 10,000 1 Mbps upload speed.
- 10001 to 20000 2 Mbps.
- 20001 to 30000 4 Mbps.
- 30001 to 40000 6 Mbps.
- 30001 to 40000 10 Mbps.
- 40001 to 50000 12 Mbps.
Each VP will be connected to, and accept inbound connections from at least 120 peers, which will include at least 2 Updater Partners.
2- Updater Partner — UPs
- Bootstrap and serve the UAB to new VPs joining the network.
- Receive verified transactions from VPs, verify it against their UAB, broadcast the "Update Proposal" with transactions IDs, then hash the Update and broadcast with his "Earn" transaction.
(UPs do not initiate or relay transactions, they only create the new update from the transactions that has been relayed to them by VPs, update their UAB, collect tx ID that been used in the update and broadcast it to the network as an "update proposal").
Basically, the UP role is announcing to the network "These are the valid transactions I received from you, I have updated my UAB, do the same and broadcast an "Earn" transaction with the update hash.
As mentioned, instead of building a block with all transactions data as in the current POW protocol, only transactions IDs that UP used to create the new update will be relayed, the network will update their UAB accordingly, using the transaction data that they already possess.
As such, the UP who creates the new update can be chosen randomly or even assigned to each UP on weekly or monthly rotation, since there are no reward for creating Updates. We need to eliminate the competition, create a P2P network where partners work collaboratively and effectively, and use resources in other areas where it matters.
Since UPs are the Updates creators and relayers, and in order to achieve the highest TPS throughput, they will work from VPS and Dedicated servers due to the amount of bandwidth that will be required, along with a static IP addresses.
The "Earn" transaction.
In the current POW, block reward (coinbase transaction) only goes to the miner who build the valid block. Since we eliminating the "block" creation and adopting the "update" method, all partners in the network will be rewarded according to their role. but how we accomplish that if there are no coinbase transaction, and be able to pay every partner?
We can achieve that by the the Earn transaction. In order to visualize it, here is the flow of this network,
1 — Alice wants to send 10 XYZ to Bob, she initiate the transaction from her client.
2 — Transaction is verified against the UAB, and relayed to the network by the VPs, if valid.
3- Transaction will eventually reach the UPs.
4- The UP who will create the next update, will verify Alice’s transaction, with all other transactions.
5- If valid, the UP will update his UAB by debeting Alice’s account and crediting Bob’s account with the transaction amount, same goes for all other transactions.
6- The UP will collect all the transactions IDs (hashs) of the transactions he used in updating his UAB, and send it to the network to do the same thing.
7- After sending out the transactions IDs to the network, the UP will hash the entire UAB with the previous update hash to come up with the new update hash.
8- The new update hash, previous update hash, update number, UP’s address and his reward amount (coinbase) will be broadcasted to the network just like a regular transaction. This is the "Earn" transaction.
9- Every partner in the network will basically do the same thing after updating their UAB, they will broadcast their "Earn" transaction to the network.
10- The "Earn" transaction is a unique transaction that creates new currency just like the coinbase transaction in POW. This transactions will be validated by all partners by verifying the new update hash, which should match with every other partner network wide. (assuming they all did the update correctly as sent by the UP)
11- The "Earn" transaction amount, if valid, will be credited to every partner to his address provided within the transaction and will be updated in the UAB. Now, when the next UP create the next update, he will follow the same updating process. When the next update hash matches the hash by every partner, it means that their previous update is correct and their "Earn" transactions has been confirmed, too.
This process assuming the network is operating under good condition, and assuming every partner is being honest in doing his updates. If the network is being attacked or there are some partners trying to cheat the protocol, here is what happens:
1- Attacker or malicious partner will try to cheat in updating his UAB.
2- He will broadcast his "Earn" transaction with the wrong update hash.
3- Other partners in the network will verify the hash, when it doesn’t match, they will reject his transaction, resulting in his "Earn" transaction not being approved in the next update.
If that partner is honest but is being attacked, or hanging out with the wrong crowd (Man in the middle attack). He will be able to notice and take appropriate action, when he find out that his "Earn" transaction was not approved in the next update.
Please note, I’m neither a developer nor economist. All what I’m saying here is just my humble design based on my own research.
Thanks again for reading and will appreciate your technical opinion.
Article source: “https://bitcoin.stackexchange.com/questions/84773/is-this-something-that-could-be-done-to-have-a-scalable-and-inclusive-digital-cu”