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

As a Mina user, I am interested in an article about Decentralized SNARK worker. #71

Open
JanSlobodnik opened this issue Jul 3, 2023 · 0 comments
Assignees

Comments

@JanSlobodnik
Copy link
Contributor

JanSlobodnik commented Jul 3, 2023

Newest update (28th August):

https://docs.google.com/document/d/1cmk2KjYY_DUAviVPTYr_o4O1gD2ug7tD1eI_2UcgpCw/edit?usp=sharing

I've rewritten the Scan State illustrated guide with diagrams to show a demonstration of how the scan state is filled, using an example where maximum amount of trees = 6, work delay = 1, max number of transactions per tree = 8. These values were chosen arbitrarily for the sake of simplicity and explaining the concept, they can be changed.

Diagrams are based on how binary trees look like in the UI's light mode. For substack, where we have a black background, I might create alternative diagrams in dark mode.

The goal is to create an explanation not only for our UI, but also for the Scan State as a whole - my ambition is to create a document that will be the go-to reference for anyone who wants to understand how Mina's Scan State works.

I've also written a guide explaining the latency and throughput issues in the scan state. Here the goal is to not only explain these concepts, but also to connect the readers understanding of the Scan State UI with the high level diagrams from part 1 of this article.

Links:

Part 1 of Article (High level overview w/ diagrams):

https://docs.google.com/document/d/1BVKA-rMn7m-HEeM2e42wC32p4y5mLO57qpx85v6-FIw/edit?usp=sharing

Part 2 of Article (Scan State explanation, Front End and User guide):

https://docs.google.com/document/d/1cmk2KjYY_DUAviVPTYr_o4O1gD2ug7tD1eI_2UcgpCw/edit?usp=sharing

Notes from testing front end

https://docs.google.com/document/d/1-ofsCrKrvA37GEfeKZSVnWfho0F0g1yo6vDA18_HUZc/edit?usp=sharing

Diagrams only (editable):

https://drive.google.com/file/d/1BHeC6i9nwatFv5e7tYSE13Z_Qk2oXR29/view?usp=sharing

Figma Link (animations):

https://www.figma.com/proto/YjfZhPpZeWoBe3Hxt31QTy/Animations-%26-Ills?page-id=0%3A[…]ing-point-node-id=852%3A10923&show-proto-sidebar=1&mode=design

Glossary of terms in Mina)

https://docs.google.com/document/d/18JSUuRIJg6xnWXUWd9lfjSg0FcQcxngIiveXatso7Ls/edit?usp=sharing

  1. June - began writing first draft
    28th June - diagrams added
    3rd July - Updated diagrams, rewrote intro
    10th July - rewrote "life cycle of snark", redesigned diagrams
    17th July - updated text based on calls w/ Bruno, Lukas added re-designs of diagrams, added diagram for recursive composition
    24th July - cleaning up comments, preparing notes for meeting with Lukas to finalize diagrams and animations, implementation details are due this week, FE will likely follow

31st July - polishing diagrams and animations with Lukas. Still waiting on BE/FE to be finalized for article, as well as setup guide. In the meantime I have been testing the front end and making some suggestions with Teo.

Past updates

7th August - articles are split, diagrams for article 1 are complete.
14th August - finished text of part 1 - now only diagrams remain. Need finalized UI and setup guide for completion of part 2. In the meantime, I am testing the front end.

21st August - part one of article is finished, part 2 is in progress. Im taking the opportunity of introducing readers to the concept of the Scan State - I've created a simplified visual explanation (Diagrams with text) of how the scan state is filled with new SNARK jobs and how it merges SNARKs to compress the representation's size.

We have split the article into two parts:

  1. High level overview of SNARK work in Mina, with SNARK life cycle, diagrams, animations explaining the problem we are solving. This article is practically ready

  2. Screenshots of Front End, with guide for users on how to use.

Article part 2 - implementation details must be clear, then it can be completed (same goes for diagrams).

As a side project, I have created a glossary of terms and concepts in Mina, including all of our front end. This is so far an internal document, but ultimately I would like to have it published somewhere so our users can consult it whenever they need more info while using our software. Link

Todo (currently working on):

article 1) High level overview of SNARKs, diagrams and animations

last animation to be done for tie-breaking mechanism in selecting snark jobs

article 2) our solution and implementation details + FE screenshots

  • How the Scan State works - needs polishing and finalizing diagrams based on newest UI
  • The latency and throughput issues - first draft ready, needs proofreading
  • Front End description with screenshots
  • How to run (for users) / if applicable
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant