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

[Research] Verify one state transition by S[N|T]ARKS #113

Open
syuhei176 opened this Issue Nov 28, 2018 · 7 comments

Comments

Projects
None yet
2 participants
@syuhei176
Copy link
Member

syuhei176 commented Nov 28, 2018

Description

Research it is effective or not by using zkSTARKs for one state transition in TxVerification. (like semaphore or miximus)

  • The state will become small?
  • Does it reduce the verification cost of big state transition?

Please imagine the lottery or vote which many people participate.
If a hundred people vote with a UTXO, the state becomes big for a voted bit. And calculation cost becomes expensive in exit scenario. It's like L3. We wanna know whether zkSTARKs can solve this problem or not.

References

@syuhei176 syuhei176 changed the title [Research] Verify state transition by zkSNARKs [Research] Verify one state transition by zkSNARKs Nov 28, 2018

@syuhei176

This comment has been minimized.

Copy link
Member

syuhei176 commented Nov 29, 2018

2018-11-29 10 40 29

@shogochiai

This comment has been minimized.

Copy link
Contributor

shogochiai commented Nov 29, 2018

I guess that naming would be matter when the L3 sidechains come.

But I can get what you depicted above.

@shogochiai

This comment has been minimized.

Copy link
Contributor

shogochiai commented Nov 29, 2018

If we call UTXO as Contract, and Tx as transit(), then the L2:PlasmaChain is gonna be the set of transit(Contract, Bytes):Contract functions.

Let's say we can regard Contract(=UTXO) as like the Contract in the EVM.

In L2:PlasmaChain, there're many Contracts in it, and then these Contracts consist certain application. So, I would like to call UTXO as Contract in L2 rather than L3:UTXO

@shogochiai

This comment has been minimized.

Copy link
Contributor

shogochiai commented Nov 29, 2018

Contract is consisted by

  • label: Like contract address in EVM
  • values: Set of Value. And the Value is segment of Plasma Prime.
  • state: Binary state. The Contract which label is 0 - has this field. transit() function have label based pattern matcher, and state would be verified at there.
@syuhei176

This comment has been minimized.

Copy link
Member

syuhei176 commented Nov 29, 2018

Oh, you're right. I think It's a real L2 contract as UTXO.

@syuhei176

This comment has been minimized.

Copy link
Member

syuhei176 commented Nov 29, 2018

2018-11-29 11 26 49

@shogochiai

This comment has been minimized.

Copy link
Contributor

shogochiai commented Nov 29, 2018

AFAIK, Zilliqa's SCILLA and Tezos's Liquidity always return storage as output. Maybe because they have type checker for storage.

Chamber lang is also able to have such one maybe. (Sorry for off topic from zkp)

@syuhei176 syuhei176 changed the title [Research] Verify one state transition by zkSNARKs [Research] Verify one state transition by starks Dec 1, 2018

@syuhei176 syuhei176 changed the title [Research] Verify one state transition by starks [Research] Verify one state transition by S[N|T]ARKS Dec 5, 2018

@syuhei176 syuhei176 self-assigned this Dec 5, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment