Proof-of-Patience
Through the hackathon at CredCon in November of 2018, I was challenged to address the current credibility issues we deal with daily. My group and I decided to address the issue of frictionless distribution of information through social media.
Imagine someone on Twitter sees an article or retweet of content from someone they follow that resonates with their core values. They could read the content and retweet it after assessing its validity or retweet it without actually reviewing the material, potentially perpetuating a false or misinformed post.
To help prevent the mindless sharing of content and promote thoughtful content, I helped create a socially acceptable “stamp of approval” backed by distributed ledger technology (DLT) that would integrate itself into a post that someone reviewed the content before it is shared.
DLT, in particular blockchains, has the architectural benefit of providing a public ledger platform where all recordings/transactions are immutable and verifiable, thus being an excellent platform for audits and verifying provenance - even though this is not what we care about. In traditional blockchain architecture, miners perform a computationally intensive process called PoW (proof-of-work) to prove to the complete blocks that maintain the network. We created proof-of-patience by using “patience” as a variable to allow a user-defined block completion algorithm for every assertion made. A user defines the level of patience - time and computational resources they are willing to give up, from a scale of one to three, and then they mine their block.
When the user finishes mining for their block, we created PoPBot to tweet the content they want to share with a badge representing the work/patience they put in, and the user can then retweet it to their network.
PoP was an excellent way to code my first blockchain from scratch using Go while at the same time working together with people on designing a simple algorithm.