POOM

From BiblePay Wiki
Jump to: navigation, search

Proof-of-Orphan-Mining


Proof-of-Orphan-Mining is a concept BiblePay created where the end-user (the miner) is compensated during mining activity for sponsoring children at home (not for sponsoring children through governance superblocks).

One of the core tenets of POOM is that part of the electricity expense can be diverted toward orphan sponsorships.


Mechanics of Proof-Of-Orphan-Sponsorship

In this scenario, a beneficiary sponsors an orphan privately, receives the tax benefits personally, and performs letter writing duties at home privately (IE the orphan record contains an indicator that letters do not need to be written inside the pool). This allows a personal relationship to also grow between the beneficiary and the sponsor, and removes the administrative burden from BiblePay for inbound and outbound letters and letter scanning.


Sponsorship API

To prove the orphan is actually sponsored by the miner, an API is provided by our vendor (on their own domain).

For example, https://cameroonone.com/sponsorkids/balance?orphanid=12345

In this example, this query responds with

<xml>
<orphanID>12345</orphanid>
<balance>-240.00</orphanid>
<name>Victor Jones</name>
<age>5</age>
<lastpaymentamount>40.00</lastpaymentamount>
<lastchecknumber>7001</lastchecknumber>
</xml>

Our GSC (Generic Smart Contract) will query this linked orphan ID/CPK for the miner, in a sanctuary quorum, arriving at a consensus of -240.00 for 12345.

In this way, our miner may be compensated a higher percentage reward for sponsoring this child personally.



Cameroon Outbound Feed

The Cameroon One outbound feed is designed to allow BiblePay sanctuaries to query an orphan balance by Orphan ID. This Orphan ID is the same hex ID created by BiblePay during orphan provisioning. The Outbound feed will be provided by Cameroon One on their domain URL.

BiblePay Outbound Feed

The BiblePay outbound feed will be provided on a constant real time basis as a RESTful URL on our domain. This report will contain the BiblePay Orphan ID, the date, the miner CPK, and any applicable sponsorship notes. The primary purpose of this is to notify Cameroon that we have a new miner that is sponsoring a new orphan (this means Cameroon will follow up by provisioning this new orphan, and will trigger creation of an Orphan BIO, and a tracking row on the Cameroon side with an active balance).

Payments

The payments will flow from the miner at home in USD via Check or money order or credit card, and will be sent Directly to Cameroon One. Cameroon One will credit the appropriate account balance.


Security

To prevent abuse, we require the orphanID, charityName, and CPK to register the orphan in the chain using the registerorphan command. This will prove ownership of the child by linking the CPK (Christian-Public-Key) to the Beneficiary (OrphanID) for a certain charity. Once this orphan is registered, this orphan cannot be re-registered to another miner.

BiblePay will also build in a security check in the algorithm to ensure only a Miner can generate an orphanID from inside BiblePay (for example, our vendor may require a hexadecimal string to get started) and in addition their database will have an organizationID equaling the value BiblePay stamped on the orphan (so random orphans that are already sponsored are not applicable in BiblePay's mining system unless they are first moved to the BiblePay designation at our Charity, then also registered with BiblePay).


BiblePay Accountability

Since BiblePay is remunerating the miner for sponsoring a child, BiblePay will be able to list the sponsored orphan in our Accountability Orphans list, with a link to the BIO. This way our users and investors and auditors will be able to click to view the bio, and also see the contact information for the charity. Then, concerned investors may do random checks to ensure this child really is sponsored by a BiblePay miner by e-mailing the orphan ID to the charity (or calling). This will prove that BiblePay's charity activites are always 100% true, helpful and full of integrity.


Technical Requirements for a new Orphan

When John Doe sponsors an orphan, he will need to obtain the Orphan ID from the vendor. John Doe will use this orphan ID to register the orphan in the chain, and BiblePay will always use this single orphanID to access the API (for balance info) and also to construct a URL (for the BIO).

For example, John Doe sponsors Victor Jones. John looks at his Cameroon invoice, and finds Victor is orphanID 12345. John types: exec registerorphan 12345 into BiblePay. BiblePay will query 12345 when accessing the API. For the BIO, biblepay will construct a URL such as: https : // cameroonone.com/kidsbios?orphanid=12345.