You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## [List of Interesting Crypto Related Hacks/Bugs](#hacks)
104
105
@@ -1609,6 +1610,65 @@ along with the signature, i.e. the `v`, `r` and `s` we made up. This will be a v
1609
1610
1610
1611
This quirk can also be used to send ether to a large number of people in a trustless manner, as Nick Johnson describes in [How to send Ether to 11,440 people](https://medium.com/@weka/how-to-send-ether-to-11-440-people-187e332566b7).
An Airdrop refers to the process of distributing tokens amongst a large
1616
+
group of people. Traditionally, airdrops have been processed via a large number
1617
+
of transactions where each transaction updates either a single or a batch of
1618
+
user's balances. This can be costly and strenuous on the Ethereum blockchain.
1619
+
There is an alternative method, in which many users balances can be credited
1620
+
with tokens using a single transaction.
1621
+
1622
+
This technique is explained in more detail by its proposer, RicMoo in his post:
1623
+
[Merkle Air-Drops: Make Love, Not War](https://blog.ricmoo.com/merkle-air-drops-e6406945584d).
1624
+
1625
+
The idea is to create a [Merkle Tree](https://en.wikipedia.org/wiki/Merkle_tree)
1626
+
which contains (as leaf nodes) all the addresses and balances of users to be credited tokens.
1627
+
This will be done off-chain. The merkle tree can be given out
1628
+
publicly (again off-chain). A smart contract can then be created containing the
1629
+
root hash of the merkle tree which allows users to submit [merkle-proofs](https://www.quora.com/Cryptography-How-does-a-Merkle-proof-actually-work) to obtain
1630
+
their tokens. Thus a single transaction (the one used to create the contract,
1631
+
or to simply store the Merkle tree root hash), allows all credited users to redeem
1632
+
their airdropped tokens.
1633
+
1634
+
RicMoo in his [post](https://blog.ricmoo.com/merkle-air-drops-e6406945584d) also provides an example of a function which can accept Merkle Proofs
0 commit comments