EOSMetal and Our Commitment to the BP Agreement

in eos •  4 months ago

Commitment to the BP Agreement

The compliance and transparency of block producers (BP's) is a hot topic right now across EOS discussions, we wanted to take this opportunity to highlight the actual BP/regproducer agreement that is intended to establish the minimum expectations and commitments every BP candidate is agreeing to as part of establishing themselves as a registered BP and able to be receive EOS community votes. Any variance from these commitments is considered a breach of a BP's compliance.

(GitHub BP Agreement)

At EOSMetal we take these commitments very seriously and felt the need to not just commit to these through normal regproducer process, we wanted to publicly post these on our Steemit for all to see what commitments the BP's are to be held to. We hope this sheds further light on the subject and welcome the EOS community to contact us if you have any questions on these commitments and how they apply to the BP's you vote for.

Please reach us on our Telegram channel to open up the discussion on these. (Click Here)

EOSMetal's BP Agreement:

The intent of the {{ regproducer }} action is to register an account as a BP candidate.

  • I, eosmetaliobp, hereby nominate myself for consideration as an elected block producer.
  • If eosmetaliobp is selected to produce blocks by the eosio contract, I will sign blocks with {{producer_key}} and I hereby attest that I will keep this key secret and secure.
  • If eosmetaliobp is unable to perform obligations under this contract I will resign my position by resubmitting this contract with the null producer key.
  • I acknowledge that a block is 'objectively valid' if it conforms to the deterministic blockchain rules in force at the time of its creation, and is 'objectively invalid' if it fails to conform to those rules.
  • eosmetaliobp hereby agrees to only use {{producer_key}} to sign messages under the following scenarios: proposing an objectively valid block at the time appointed by the block scheduling algorithm pre-confirming a block produced by another producer in the schedule when I find said block objectively valid confirming a block for which eosmetaliobp has received 2/3+ pre-confirmation messages from other producers.
  • I hereby accept liability for any and all provable damages that result from my: signing two different block proposals with the same timestamp with {{producer_key}} signing two different block proposals with the same block number with {{producer_key}} signing any block proposal which builds off of an objectively invalid block signing a pre-confirmation for an objectively invalid block signing a confirmation for a block for which I do not possess pre-confirmation messages from 2/3+ other producers.
  • I hereby agree that double-signing for a timestamp or block number in concert with 2 or more other producers shall automatically be deemed malicious and subject to a fine equal to the past year of compensation received and immediate disqualification from being a producer, and other damages. An exception may be made if eosmetaliobp can demonstrate that the double-signing occured due to a bug in the reference software; the burden of proof is on eosmetaliobp.
  • I hereby agree not to interfere with the producer election process. I agree to process all producer election transactions that occur in blocks I create, to sign all objectively valid blocks I create that contain election transactions, and to sign all pre-confirmations and confirmations necessary to facilitate transfer of control to the next set of producers as determined by the system contract.
  • I hereby acknowledge that 2/3+ other elected producers may vote to disqualify eosmetaliobp in the event eosmetaliobp is unable to produce blocks or is unable to be reached, according to criteria agreed to among producers.
  • If eosmetaliobp qualifies for and chooses to collect compensation due to votes received, eosmetaliobp will provide a public endpoint allowing at least 100 peers to maintain synchronization with the blockchain and/or submit transactions to be included. eosmetaliobp shall maintain at least 1 validating node with full state and signature checking and shall report any objectively invalid blocks produced by the active block producers. Reporting shall be via a method to be agreed to among producers, said method and reports to be made public.
  • The community agrees to allow eosmetaliobp to authenticate peers as necessary to prevent abuse and denial of service attacks; however, eosmetaliobp agrees not to discriminate against non-abusive peers.
  • I agree to process transactions on a FIFO best-effort basis and to honestly bill transactions for measured execution time.
  • I eosmetaliobp agree not to manipulate the contents of blocks in order to derive profit from: the order in which transactions are included the hash of the block that is produced.
  • I, eosmetaliobp, hereby agree to disclose and attest under penalty of perjury all ultimate beneficial owners of my company who own more than 10% and all direct shareholders.
  • I, eosmetaliobp, hereby agree to cooperate with other block producers to carry out our respective and mutual obligations under this agreement, including but not limited to maintaining network stability and a valid blockchain.
  • I, eosmetaliobp, agree to maintain a website hosted at https://eosmetal.io which contains up-to-date information on all disclosures required by this contract.
  • I, eosmetaliobp, agree to set {{location(Iceland)}} such that eosmetaliobp is scheduled with minimal latency between my previous and next peer.
  • I, eosmetaliobp, agree to maintain time synchronization within 10 ms of global atomic clock time, using a method agreed to among producers.
  • I, eosmetaliobp, agree not to produce blocks before my scheduled time unless I have received all blocks produced by the prior producer.
  • I, eosmetaliobp, agree not to publish blocks with timestamps more than 500ms in the future unless the prior block is more than 75% full by either CPU or network bandwidth metrics.
  • I, eosmetaliobp, agree not to set the RAM supply to more RAM than my nodes contain and to resign if I am unable to provide the RAM approved by 2/3+ producers, as shown in the system parameters. 

Find us on Telegram: https://twitter.com/EOSMetal
Find us on Twitter: https://t.me/EOSMetal
Please visit our webpage at: http://Eosmetal.io
You can contact us by email at: info@eosmetal.io 

We thank you for considering us as a block producer and look forward to serving you on the mainnet. Please don’t hesitate to contact us for any questions about our candidacy.
-EOSMetal 

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
https://eos42.io/bp-agreement/