singnet / reputation

MIT License
11 stars 11 forks source link

Study of Proof of Reputation Consensus Implementations #280

Open akolonin opened 4 years ago

akolonin commented 4 years ago

This MSc student research task may or may not end-up with actual code submitted into this repository (official title "Proof-of-Reputation Consensus for a Blockchain system"). This task extends the task #279.

Main Goal: Comparable exploration of different options of Proof of Reputation Consensus mechanism implementations Russian: Сравнительное исследование различных вариантов реализации механизма консенсуса "доказательство права репутацией"

Subgoals: Provide experimental implementations for at least 2 different versions of PoR (better 3-4), such as listed below but may find other options: a) simplified version of multi-agent consensus negotiation or simulation of it implemented along the way; b) simplified version of multi-agent consensus negotiation or simulation of it implemented earlier by someone and available as open-source; c) some real multi-agent consensus negotiation protocol implemented earlier by someone and available as open-source. Explore resistance/vulnerability and performance impacts of PoR for different based on the above implementation, referring to the following specification: https://docs.google.com/document/d/1izovbeKmUSm253zfx-y0Dxg6aczkzU_Nnim2-fYmEX4/edit References: a) Existing "Liquid Rank" implementation in Python: https://github.com/singnet/reputation/blob/master/reputation/reputation_service_api.py (implements “incremental” design option from https://arxiv.org/pdf/1806.07342.pdf) b) Existing Amazon-kind marketplace simulation in Python: https://github.com/singnet/reputation/blob/master/reputation/reputation_buying.py c) PoR concept based on "Liquid Rank" https://steemit.com/blockchain/@aigents/proof-of-reputation-as-liquid-democracy-for-blockchain d) Design considerations for PoR https://arxiv.org/pdf/1806.07342.pdf https://blog.singularitynet.io/reputation-system-design-for-singularitynet-8b5b61e8ed0e?gi=f56f0a1309ed https://blog.singularitynet.io/singularitynet-moves-toward-social-computing-with-proof-of-reputation-14df7c6618f e) Attack-of-Clones vector design https://arxiv.org/abs/1902.10244 f) Simulation of Multi-Agent environment example and code that runs it https://github.com/singnet/reputation/blob/master/reputation/reputation_scenario.py https://github.com/singnet/reputation/blob/master/reputation/reputation_scenario_test.py

akolonin commented 4 years ago

The steps for the first round (semester) of work:

  1. Study the references above and more relevant references if needed
  2. Decide on which implementations of PoR to be used in the course of work (may need to study code sources and play with existing options)
  3. Draft the plan of work with milestones and deliverables for the future rounds (semesters)