mirror of https://github.com/zcash/orchard.git
commit
7c2cc814de
|
@ -1,7 +1,7 @@
|
||||||
# Actions
|
# Actions
|
||||||
|
|
||||||
In Sprout, we had a single proof that represented two spent notes and two new notes. This
|
In Sprout, we had a single proof that represented two spent notes and two new notes. This
|
||||||
was necessary in order to faciliate spending multiple notes in a single transaction (to
|
was necessary in order to facilitate spending multiple notes in a single transaction (to
|
||||||
balance value, an output of one JoinSplit could be spent in the next one), but also
|
balance value, an output of one JoinSplit could be spent in the next one), but also
|
||||||
provided a minimal level of arity-hiding: single-JoinSplit transactions all looked like
|
provided a minimal level of arity-hiding: single-JoinSplit transactions all looked like
|
||||||
2-in 2-out transactions, and in multi-JoinSplit transactions each JoinSplit looked like a
|
2-in 2-out transactions, and in multi-JoinSplit transactions each JoinSplit looked like a
|
||||||
|
|
|
@ -209,7 +209,7 @@ impl plonk::Circuit<pallas::Base> for Circuit {
|
||||||
|
|
||||||
// Poseidon requires four advice columns, while ECC incomplete addition requires
|
// Poseidon requires four advice columns, while ECC incomplete addition requires
|
||||||
// six, so we could choose to configure them in parallel. However, we only use a
|
// six, so we could choose to configure them in parallel. However, we only use a
|
||||||
// single Poseidon invocation, and we have the rows to accomodate it serially.
|
// single Poseidon invocation, and we have the rows to accommodate it serially.
|
||||||
// Instead, we reduce the proof size by sharing fixed columns between the ECC and
|
// Instead, we reduce the proof size by sharing fixed columns between the ECC and
|
||||||
// Poseidon chips.
|
// Poseidon chips.
|
||||||
let lagrange_coeffs = [
|
let lagrange_coeffs = [
|
||||||
|
@ -242,7 +242,7 @@ impl plonk::Circuit<pallas::Base> for Circuit {
|
||||||
let poseidon_config = PoseidonChip::configure::<poseidon::P128Pow5T3>(
|
let poseidon_config = PoseidonChip::configure::<poseidon::P128Pow5T3>(
|
||||||
meta,
|
meta,
|
||||||
// We place the state columns after the partial_sbox column so that the
|
// We place the state columns after the partial_sbox column so that the
|
||||||
// pad-and-add region can be layed out more efficiently.
|
// pad-and-add region can be laid out more efficiently.
|
||||||
advices[6..9].try_into().unwrap(),
|
advices[6..9].try_into().unwrap(),
|
||||||
advices[5],
|
advices[5],
|
||||||
rc_a,
|
rc_a,
|
||||||
|
|
Loading…
Reference in New Issue