PacketCrypt – Mining bandwidth into the future
Caleb James DeLisle4 Dec 2020
Since the very beginning of the PKT project, it was my clear intention to create a mining algorithm, which required the use of internet bandwidth to mine. I strongly believe that the best way to create a more decentralized, more inclusive internet is to create artificial demand for bandwidth.
Artificial demand lowers price
Some people consider crypto mining to be a negative externality, but I couldn’t disagree more. Besides the fact that the only fair and decentralized way to distribute cryptocurrency, crypto mining also creates artificial demand for socially beneficial commodities.
What’s critically important is that unlike land, gold or petroleum, commodities such as electricity, bandwidth and compute power do not run out, and because of economies of scale, the more these commodities are used, the cheaper they become.
You might be saying “sure, at scale energy will be cheap, but only by burning every ounce of coal on the planet”, however this entirely misses the point. At scale, coal is not economical. To understand why, consider what it takes to double capacity of a coal powerplant: this means you need twice as much coal, twice as many deliveries, twice the surge pile capacity, the list goes on and on.
By contrast, crypto mining is in fact a huge positive externality, which along with the ongoing switch to electric vehicles, will help push renewable energy technology past the point where economies of scale render coal and petroleum energy obsolete.
The functioning of PacketCrypt is based on two types of mining. First there are “announcement miners” who create announcements (little messages) and do proof of work on those messages, then they send those announcements to so-called “block miners” who collect as many announcements as possible and prove that they have them in memory when mining a block.
In order to incentivize block miners to collect as many announcements as possible, the valuation of work is augmented based on how many announcements (and how much work was done on those announcements). Simply put, the calculation is
total_work = block_miner_work * minimum_announcement_work * announcement_count
Block_miner_work is the amount of CryptoCycles done by the block miners. Minimum_announcement_work is the minimum amount of CryptoCycles done on any one of the announcements in the block miner’s dataset. And of course, announcement_count is the number of announcements that the block miner has. When the total_work exceeds the requirement for the difficulty of the chain, a block is sent out with a PacketCryptProof, a data structure that proves the announcements were in memory at that time.