Originally Posted by
Corrupt
You really are thinking too heavily into computational power and have to research the different hashing algorithims and they computational speed relative to benchmark tests. In this chain, most of the hashing runs off either SHA-1 (Item Hashing) and SHA-256/SHA-512 (Block and Transaction Hashing). These have different purposes and used for very specific instances. For example of Items, the hashing is on a 36 byte range, which SHA-1 runs about ~587.9 ms per 1M operations. In the aspect of lets say 25000 players all running at once, the hashing function for the items would be able to handle all 25000 without even a notice, even 50000 players wouldnt see much of any notice. SHA-256 and SHA-512 are used for hashing the blocks and transactions, which arent iterated as much as lets say item hashing. SHA-1 stores 40 char hashing, which makes it one of the fastest for this, as say SHA-512 holds 128 char hash. Hashing honestly doesn't take that much computational power to process if you know how to do it properly. but, give this question I did some test :
2500000 Hashing Operations 6.2406178 seconds
400601.3635380779 hashing operations per second
So this is roughly about 400k hashing functions per second that can be analyzed with Item stacking. This specific test ran creating a new item 2500x, and than adding 1 quantity to that item 1000x which rehashes after each quantity. So honestly, in comparison of computation power, it is beyond scalable and very diverse.
The item hashing is done in a very specific way, in which the transaction itself keeps the signatures of the item and the quantity it was passed. The items also have an array of strings that hold the wallet address of the past 32 members who held that specific item. Both are these are used to compare hashing, and to compare transactions from the chain to the actual item they hold. If the chain sees lets say 40 and the item is higher, it runs through its signature hashing, verifies that the hashing is different, than uses the quantity on the chain to replace and rehashes it to the expected value. If the item didnt go through the chain and verifies to the hash it has, the item will be deleted back to the value the chain verifies.
chain verifications are one of the beautiful things that comes with this tech. if done right, the entire chain can verify itself with every single instance of object running on the server, including npcs and players if i decide to add that in. The true nature of blockchain is that everything is stored through a ledger and anything that the ledger cant account for is considered invalid.