Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updates documentation #160

Merged
merged 6 commits into from
Jul 27, 2022
Merged

Updates documentation #160

merged 6 commits into from
Jul 27, 2022

Conversation

nkcr
Copy link
Contributor

@nkcr nkcr commented Jul 20, 2022

No description provided.

nkcr added 2 commits July 20, 2022 16:43

Verified

This commit was created on github.com and signed with GitHub’s verified signature.
@nkcr nkcr added the documentation Improvements or additions to documentation label Jul 20, 2022
@nkcr nkcr self-assigned this Jul 20, 2022
@coveralls
Copy link

coveralls commented Jul 20, 2022

Pull Request Test Coverage Report for Build 2747335540

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • 13 unchanged lines in 1 file lost coverage.
  • Overall coverage decreased (-0.3%) to 62.271%

Files with Coverage Reduction New Missed Lines %
services/dkg/pedersen/handler.go 13 84.84%
Totals Coverage Status
Change from base Build 2661648017: -0.3%
Covered Lines: 3088
Relevant Lines: 4959

💛 - Coveralls

@nkcr nkcr force-pushed the documentation-update branch 3 times, most recently from 671021e to 557b8b9 Compare July 21, 2022 13:09
@nkcr nkcr force-pushed the documentation-update branch from 557b8b9 to 24b2b58 Compare July 21, 2022 13:11
nkcr added 2 commits July 21, 2022 15:25
- matches Github's font color for light themes
@nkcr nkcr requested a review from pierluca July 21, 2022 13:43
@nkcr nkcr marked this pull request as ready for review July 21, 2022 13:43
README.md Outdated
<img height="45px" src="docs/assets/spof-white.png#gh-dark-mode-only">
</div>

**No single point of failure** The system is supported by a decentralized
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here and elsewhere, this would help readability:

Suggested change
**No single point of failure** The system is supported by a decentralized
**No single point of failure -** The system is supported by a decentralized

README.md Outdated
Comment on lines 114 to 120
**Blockchain node** A blockchain node is the wide definition of the program that
runs on a host and participate in the election logic. The blockchain node is
built on top of Dela with an additional d-voting smart contract, proxy, and two
services: DKG and verifiable Shuffling. The blockchain node is more accurately a
subsystem, as it wraps many other components. Blockchain nodes communicate
through gRPC with the [minogrpc][minogrpc] network overlay. We sometimes refer
to the blockchain node simply as a "node".
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This paragraph is very confusing. It introduces many terms that a novice would not yet be familiar with.

README.md Outdated
through gRPC with the [minogrpc][minogrpc] network overlay. We sometimes refer
to the blockchain node simply as a "node".

**Proxy** A proxy enables external interactions on a blockchain node. It is a
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"external" from what ? I'm being a bit picky here, but this could be clearer.

README.md Outdated
the web-backend. The web backend checks the requests and signs messages before
relaying them to the blockchain node, which trusts the web-backend. The
web-backend has a local database to store configuration data such as
authorizations. Admins use the web-frontend to perform update.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
authorizations. Admins use the web-frontend to perform update.
authorizations. Admins use the web-frontend to perform updates.


## 🧩 Global architecture

The project has 4 main high-level components:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was wondering if it'd make it easier to follow by starting with the web interface (that everyone understands), then moving on to the web backend, the proxy (as the interface between non-blockchain and blockchain environments) and finally introducing the blockchain node itself.

README.md Outdated
Comment on lines 250 to 251
The shuffling service ensures that encrypted votes can not be linked to their
voters. Once the service is setup, each node can perform what we call a
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The shuffling service ensures that encrypted votes can not be linked to their
voters. Once the service is setup, each node can perform what we call a
The shuffling service ensures that encrypted ballots can not be linked to the user who cast them.
Once the service is setup, each node can perform what we call a

The shuffling service ensures that encrypted votes can not be linked to their
voters. Once the service is setup, each node can perform what we call a
"shuffling step". A shuffling step re-orders an array of elements such that
integrity of the elements is guarantee (i.e no elements have been modified,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
integrity of the elements is guarantee (i.e no elements have been modified,
the integrity of the elements is guaranteed (i.e no elements have been modified,

README.md Outdated

In D-Voting we use the Neff [[2]] implementation of verifiable shuffling. Once
an election is closed, an admin can trigger the shuffling steps from the nodes.
During this phase, every node perform a shuffling on the current list of
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
During this phase, every node perform a shuffling on the current list of
During this phase, every node performs a shuffling on the current list of

README.md Outdated
In D-Voting we use the Neff [[2]] implementation of verifiable shuffling. Once
an election is closed, an admin can trigger the shuffling steps from the nodes.
During this phase, every node perform a shuffling on the current list of
encrypted ballots and try to submit it to the D-Voting smart contract. The smart
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
encrypted ballots and try to submit it to the D-Voting smart contract. The smart
encrypted ballots and tries to submit it to the D-Voting smart contract. The smart

README.md Outdated
Comment on lines 260 to 262
contract will accept only one shuffling step per block, and nodes repeat their
shuffling step with the latest shuffled list until their shuffling step has been
accepted or a threshold of nodes successfully submitted their shuffling steps.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
contract will accept only one shuffling step per block, and nodes repeat their
shuffling step with the latest shuffled list until their shuffling step has been
accepted or a threshold of nodes successfully submitted their shuffling steps.
contract will accept only one shuffling operation per block in the blockchain,
and nodes re-try to shuffle the ballots, using the latest shuffled list in the blockchain, until the result of their shuffling has been committed to the blockchain or a threshold of nodes successfully submitted their own shuffling results.

@nkcr nkcr force-pushed the documentation-update branch from 000e3ef to 14e301e Compare July 27, 2022 14:21
@sonarqubecloud
Copy link

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

@nkcr nkcr merged commit 8a82240 into main Jul 27, 2022
@nkcr nkcr deleted the documentation-update branch July 27, 2022 14:35
ineiti pushed a commit that referenced this pull request Oct 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants