edits
This commit is contained in:
parent
dece937665
commit
05969ce7cc
|
@ -20,7 +20,8 @@ This post is borne out of a best effort of how far "zk on Cardano" can be pushed
|
|||
## What is zk?
|
||||
|
||||
There is no shortage of explanations describing what zk is
|
||||
( _eg_ [by Vitalik](https://vitalik.ca/general/2021/01/26/snarks.html) or [a full mooc](https://zk-learning.org/) ).
|
||||
( _eg_ [by Vitalik](https://vitalik.ca/general/2021/01/26/snarks.html){target="_blank"} or
|
||||
[a full mooc](https://zk-learning.org/){target="_blank"} ).
|
||||
There is also a reasonable breath to the field of zk that includes things like distributed compute.
|
||||
Zk involves some really neat maths that lets you do some seemingly magical feats
|
||||
and pairs well with blockchain in extending what is functionally possible.
|
||||
|
@ -28,7 +29,7 @@ Let's stick to a simple and prototypical example.
|
|||
|
||||
Suppose Alice and Bob are playing battleships.
|
||||
The game begins with Alice and Bob placing their ships within their own coordinate grid.
|
||||
They then take in turns picking coordinates to "strike".
|
||||
They then take turns picking coordinates to "strike".
|
||||
If they hit nothing then their turn ends, but if they hit a ship then they strike again.
|
||||
The winner is the first to strike all coordinates containing their opponent's ships.
|
||||
|
||||
|
@ -61,10 +62,12 @@ In applications this is important because Bob might not be able to lie anymore b
|
|||
## Sudoku snark
|
||||
|
||||
Sudoku snark was the entrant to Emurgo's hackathon.
|
||||
The summary-pitch-story deck is [here](https://pub.kompact.io/sudoku-snark).
|
||||
Links to the associated repos: [plutus-zk](https://github.com/waalge/plutus-zk) and [sudoku-snark](https://github.com/waalge/sudoku-snark).
|
||||
The summary-pitch-story deck is [here](https://pub.kompact.io/sudoku-snark){target="_blank"}.
|
||||
Links to the associated repos: [plutus-zk](https://github.com/waalge/plutus-zk){target="_blank"}
|
||||
and [sudoku-snark](https://github.com/waalge/sudoku-snark){target="_blank"}.
|
||||
|
||||
Just after the hackathon got underway there was a [large PR merged](https://github.com/input-output-hk/plutus/pull/5231)
|
||||
Just after the hackathon got underway there was a
|
||||
[large PR merged](https://github.com/input-output-hk/plutus/pull/5231){target="_blank"}
|
||||
into the main branch of plutus.
|
||||
It's a mammoth culmination of many many months of work.
|
||||
In it were some fundamental primitives needed for running zk algorithms.
|
||||
|
@ -81,7 +84,7 @@ this third part is where things got stuck.
|
|||
We did get as far as running a cluster of nodes in the Conway era with the latest version of plutus
|
||||
but unrelated changes seemed to thwart any chance of building transactions here.
|
||||
|
||||
A quick shout-out to the [modulo-p.io](https://modulo-p.io/) team.
|
||||
A quick shout-out to the [modulo-p.io](https://modulo-p.io/){target="_blank"} team.
|
||||
They had a different approach and managed to implement a zk algorithm with the existing plutus primitives.
|
||||
This spared the need to play the foolhardy dependency bumping game with the Cardano node.
|
||||
However, because zk is so arithmetically intense,
|
||||
|
@ -93,7 +96,7 @@ The validator in Sudoku snark uses [groth16](https://eprint.iacr.org/2016/260.pd
|
|||
In part because this was already mostly available from the plutus repo itself.
|
||||
It is also the most obvious candidate to begin with.
|
||||
It's relatively mature, relatively simple, can be implemented from the new primitives,
|
||||
and, importantly in Cardano land, has small proof size.
|
||||
and importantly in Cardano land has small proof size.
|
||||
(As far as I know, the smallest of comparable algorithms.)
|
||||
|
||||
The program to generate the setup and proofs uses the Arkworks framework.
|
||||
|
|
|
@ -6,6 +6,6 @@
|
|||
Questions? We'll be happy to help answer any of your questions. Send us an email and we'll get back to you shortly.
|
||||
</div>
|
||||
<div>
|
||||
Reach us on : <a href="mailto:hello@kompact.io">hello@kompact.io</a>
|
||||
Reach us on : <a href="mailto:kompactio@proton.me">kompactio@proton.me</a>
|
||||
</div>
|
||||
</section>
|
Loading…
Reference in New Issue