
IOTA Proof of Work: Remote Vs Local explained
A proof of work is a piece of data which is difficult (costly, time-consuming) to produce but easy for others to verify and which satisfies certain requirements.
The purpose of Proof of Work is to prevent spam. IOTA ledger is secured by a heavily distributed form of CCurl Proof of Work. The IoT devices create signed transactions and compute a Proof of Work in a distributed fashion.
Without going in-depth of an IOTA transaction mechanics, we will see how a transaction is created to understand where PoW comes into play. To create a transaction:
First, we construct a transaction bundle. The bundle groups together all the individual transactions which relate to a single intent of value transfer. The constructed bundle is signed with your private keys.
Second, we randomly choose two previous unapproved transactions, or tips to approve. This will allow us to join the Tangle. We can get two tips from IRI via getTransactionsToApprove.
Third, is Proof of Work(PoW). To join Tangle every transaction in the bundle requires a nonce. The nonce is the result of PoW.
The Proof of Work can be done on the device locally or it can be delegated to external devices.
Local Proof of Work — Using CCurl WebGL2 implementation

