Technical specification for Workers. Possible scenarios

in #golos6 years ago (edited)

Golos • Core team is thrilled to share the latest news related to the blockchain development.

We’d like to present you a feature of workers that is being developed based on demand from the community. A third-party developer @denis4inet has joined us to accomplish this task for a bounty (approx. 60,000 GOLOS, the final reward amount to be announced after successful completion of the task). 

The main goal of this post is to provide the necessary information to the end users, to describe possible technical issues and to give detailed scenarios with an actual roadmap. Below you will find a technical specification of the feature. This feature is being implemented for the new Golos blockchain as well as the current one. 

One of the most important goals we want to achieve is to ensure the quality control of the development via workers (through technical specification and final work acceptance). 

 Technical specification for the development of workers

Please pay attention to the fact that any technical specification can be corrected and adjusted as a result of the further analysis and comparison of various proposed models of workers in different blockchain systems available.

The  funds for workers will be replenished through:

  • Percentage from emission;
  • Voluntary contributions from sponsors.

Scenario # 1 - Task: The development proposal comes from community 

Scenario # 2 - Task: The code is done and delivered by a worker 


 Scenario # 1
1. An incoming proposal from an active member of the community (for example, from a witness, a worker or any other user):

a. An incoming proposal from an active member of the community manifesting the implementation of any functionality at the expense of funds allocated from the pool.b. Voting and commenting on the proposal given by community members:

  • The proposal is going to collect both positive and negative feedback from the community. In order to simplify the model, reviews won’t have any weight;
  • The voting period is determined by the parameters of the contract (1 week by default, which corresponds to the GOLOS payment window);
  • Community members’ voting is necessary to sort out the offers on the client's side, though it does not imply any restrictions on voting for performance.

c. The author is capable of deleting his own proposal if his/her proposal has not received any approval yet.d. Transition to the stage of drafting the technical specification.

 

2. An incoming proposal from a sponsor:a. A proposal comes from someone who wants to fund its development (a sponsor).b. Blocking (or "freezing") of funds received from the sponsor on a special account linked to the specific task.c. Voting and commenting on the proposal by community members:

  • The proposal is designed to collect both positive and negative feedback from the community. In order to simplify the model, reviews won’t have any weight;
  • The voting period is determined by the parameters of the contract (1 week by default, which corresponds to the GOLOS payment window);
  • Community members’ voting is necessary to sort out the offers on the client's side, though it does not imply any restrictions on voting for performance.

d. The sponsor is capable of deleting his own proposal if his proposal has not received any approval yet. The frozen funds will be transferred back to sponsor.e. Transition to the stage of drafting the technical specification.
For selected proposals the option “to fill out the technical specification” becomes available.


 3. Technical specification development:
Drafting of the technical assignment is mandatory in order to prevent the possibility of refund when the work assigned to a worker is incomplete, as well as for work that does not comply with the technical specification.

a. An offer for the development of the technical specification is placed. The scheme for accepting this work is the following:

  • The volume of the technical specification depends on the complexity of the offer;
  • The application must contain the details of the technical specification as well as the estimated time for the assignment of the task by the worker;
  • The application must contain information covering the estimated cost of preparation of the technical specification and the implementation of the task by the worker;
  • The application must contain information related to the possibility of an equal reward within a given time interval.

b. The witnesses vote for a proposal via voting on applications for development of the technical specification. Each vote of a witness must be accompanied by an explanation of the decision:

  • An application should get approvals from the witnesses. When the required number of votes (50% + 1 of the witnesses) is collected, the review stage of the proposal is considered to be complete and the task of drafting the technical specification will be given out to the developer;
  • The estimated costs of both drafting and also the completion of the task by worker should be indicated in the body of the application;
  • Consideration refusal. When the required number of votes (50% + 1 of the witnesses) is not collected, the proposal is considered as rejected;
  • Changing one witnesses’ opinion (can’t exceed 1 time). The witness may withdraw his decision which may affect the final result after application examination;
  • Indecision delay. The witness may ask the developer who proposed to write the technical specification to clarify any part of the application before taking any decision;
  • After a certain time, the offer will be eliminated and the blocked ("frozen") funds of the sponsor will be refunded.

c. The blocking ("freezing") of a certain amount of the pool funds is allocated to:

  • Development of the technical specification;
  • Work execution and submission of final report.

d. Development and publication of technical specification.

e. Transition to the stage of the search for a worker which will execute the technical specification.


4. Performance stages:

a. The workers bid for technical tasks. The offer from a worker must contain the following information:

  • Deadlines;
  • Reward amount;
  • Additional information - for instance, a candidate's CV in free form.

b. The author of the technical specification screens the incoming offers from workers and chooses the best candidate:

  • The author of the technical specification can appoint as the executor himself ;
  • The author of the technical specification can assign the task to the selected worker.

c. Possible additional funds from sponsors for the assignment:

  • Transfer part of funds allocated for the task execution in a pool from a blocked ("frozen") account;
  • Blocking ("freezing") of funds received from the sponsors on a special account for the task.

In case of refusal to perform/skip the work in the process by the worker, the funds allocated to this task in the pool become "unfrozen" and get transferred to a free state. Any worker refund is not carried out.

d. The task can be executed by the worker only.

e. The worker must regularly publish the work updates in terms of reports which may include:

  • Date of publication;
  • Short description.

f. While work is being done, the witnesses can vote with remarks (50% +1 of the witnesses) to mark proposal as unfulfilled and unblock funds in the reward pool.g. The work done is accepted by the author of the technical specification. Compilation and publication of the act on acceptance of the work performed. An incomplete work (work in progress) can not be accepted.

h. Transition to the stage of reward payment.


5. Reward payment conditions:a. The signing of the act of acceptance by witnesses. The possible actions of witnesses:

  • Agreement. When the required number of signatures (50% +1 of the number of witnesses) for the delivered word under the act of acceptance is collected, the payment stage starts;
  • Disagreement. If the necessary number of signatures (50% + 1 of the witnesses) under the act of acceptance is not collected, the payment is denied and money is returned to the pool of rewards, as well as to the accounts of the sponsors;
  • Indecision delay. Any witness could ask for clarification related to any part of the act before he/she takes his/her decision.

b. In the event of approval of the final work by witnesses, the payments for the code delivery and for development of the technical specification are processed in accordance with a schedule of approved payments, or partly (from the "frozen" funds of the sponsors and also from the pool of rewards in accordance with the schedule of approved payments).
 

 Scenario # 2

1. Submission of the application for payment for code delivery:a. An incoming proposal from a member of the community to pay for any functionality from funds allocated from the pool. The proposal must contain the following:

  • Type: Work executed or a Completed Technical specification;
  • The work acceptance act;
  • Worker’s account;
  • Worker’s reward amount;
  • Payment period. The payment can be made in equal parts for a certain period of time.

b. Voting and commenting:

  • The proposal is designed to collect both positive and negative feedback from the community. In order to simplify the model, reviews won’t have any weight;
  • The voting period is determined by the parameters of the contract (1 week by default, which corresponds to the GOLOS payment window);
  • Community members’ voting is necessary to sort out the offers on the client's side, though it does not imply any restrictions on voting for performance.

c. The author is capable of deleting his own proposal if this proposal has not received any approval yet.d. After the end of voting, the application moves to the “reward” stage.


2. Reward payment conditions:

a. The signing of the act of acceptance by witnesses. The possible actions of witnesses:

  • Agreement. When the required number of signatures (50% +1 of the number of witnesses) for the act of construction is collected, everyone is transitioned to the stage of payment of rewards;
  • Disagreement. If the necessary number of signatures (50% + 1 of the witnesses) for the act of construction is not collected, the payment of the fee will be denied and the money will be returned to the pool of rewards, as well as to other accounts of the sponsors;
  • Indecision delay. The witness may ask for clarification related to any part of the act before the witness takes his decision.

b. In the event of approval of the final work by witnesses, the payment for the work and drafting of the technical specification is carried out from the pool of rewards in accordance with the schedule of approved payments, or partly (from the "frozen" funds of the sponsors and also from the pool of rewards in accordance with the schedule of approved payments).