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

Assurances/2_000 - accumulation arguments/operand #107

Closed
jaymansfield opened this issue Feb 27, 2025 · 8 comments
Closed

Assurances/2_000 - accumulation arguments/operand #107

jaymansfield opened this issue Feb 27, 2025 · 8 comments

Comments

@jaymansfield
Copy link

jaymansfield commented Feb 27, 2025

We have a difference in our accumulation arguments for the first pvm invocation for assurances/2_000.

My implementations has 108 bytes while yours seems to be 88 bytes.

Mine:
0x18000000549611b00100208c30f2c101674af1da31769e96ce72e81a4a44c89526d7d3ff0a1a511d5f3c9f0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a82a929d319baf939ea37f7cfd488d736eecca8ce04ba8098dda4e829b928d0b1d00

tau = 24
service ID = 2953942612
operands[0] =
work result: OK - 0x8c30f2c101674af1da31769e96ce72e81a4a44c89526d7d3ff0a1a511d5f3c9f
work result payload hash: 0x0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8
work package hash: 0x9cb43cfee9fe3afca97522dfe5249e2119da6da0ef686e7726b4a64ef5df4de6
authorizer output: 0x

@clw8998
Copy link
Collaborator

clw8998 commented Feb 28, 2025

In our case, there are two services that are going to accumulate.

Service 1:

Accumulation arguments:

0x18000000de32e82001000c010000000100000000000000e12c22d4f162d9a012c9319233da5d3e923cc5e1029b8f90e47249c9ab256b350710a01a178b99e57483cd7a4c895a2e981ad0c4d3b530e3a2a14097c00602ac00

Length: 88

Service ID: 552088286

Operands[0]:

Work result: OK

0x010000000100000000000000

work result payload hash:

0xe12c22d4f162d9a012c9319233da5d3e923cc5e1029b8f90e47249c9ab256b35

work package hash:

0x0710a01a178b99e57483cd7a4c895a2e981ad0c4d3b530e3a2a14097c00602ac

authorizer output:

0x

Servcie 2:

Accumulation arguments:

0x1800000063803b100100208c30f2c101674af1da31769e96ce72e81a4a44c89526d7d3ff0a1a511d5f3c9f0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a80710a01a178b99e57483cd7a4c895a2e981ad0c4d3b530e3a2a14097c00602ac00

Length: 108

Service ID: 272334947

Operands[0]:

Work result: OK

0x8c30f2c101674af1da31769e96ce72e81a4a44c89526d7d3ff0a1a511d5f3c9f

work result payload hash:

0x0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8

work package hash:

0x0710a01a178b99e57483cd7a4c895a2e981ad0c4d3b530e3a2a14097c00602ac

authorizer output:

0x

@jaymansfield
Copy link
Author

jaymansfield commented Feb 28, 2025

Hey @clw8998, where did service # 552088286 and 272334947 come from?

The pre-state and post-state for this transition has 3 services, 0, 1065941251 and 2953942612.

I am also wondering about the work package hash in both accumulations. I believe this should be 0x9cb43cfee9fe3afca97522dfe5249e2119da6da0ef686e7726b4a64ef5df4de6

Image

@clw8998
Copy link
Collaborator

clw8998 commented Mar 1, 2025

Oops! It seems like I was on the wrong branch. The two service indices should be 1065941251 and 2953942612, and their accumulation argument details are as follows:

Service 1:

Accumulation arguments:

0x1800000003f9883f01000c010000000100000000000000e12c22d4f162d9a012c9319233da5d3e923cc5e1029b8f90e47249c9ab256b359cb43cfee9fe3afca97522dfe5249e2119da6da0ef686e7726b4a64ef5df4de600

Length: 88

Service ID: 1065941251

Operands[0]:

Work result: OK

0x010000000100000000000000

work result payload hash:

0xe12c22d4f162d9a012c9319233da5d3e923cc5e1029b8f90e47249c9ab256b35

work package hash:

0x9cb43cfee9fe3afca97522dfe5249e2119da6da0ef686e7726b4a64ef5df4de6

authorizer output:

0x

Servcie 2:

Accumulation arguments:

0x18000000549611b00100208c30f2c101674af1da31769e96ce72e81a4a44c89526d7d3ff0a1a511d5f3c9f0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a89cb43cfee9fe3afca97522dfe5249e2119da6da0ef686e7726b4a64ef5df4de600

Length: 108

Service ID: 2953942612

Operands[0]:

Work result: OK

0x8c30f2c101674af1da31769e96ce72e81a4a44c89526d7d3ff0a1a511d5f3c9f

work result payload hash:

0x0e5751c026e543b2e8ab2eb06099daa1d1e5df47778f7787faab45cdf12fe3a8

work package hash:

0x9cb43cfee9fe3afca97522dfe5249e2119da6da0ef686e7726b4a64ef5df4de6

authorizer output:

0x

@jaymansfield
Copy link
Author

@clw8998 which one goes through accumulation first in your implementation?

@sourabhniyogi
Copy link
Contributor

@clw8998 which one goes through accumulation first in your implementation?

GP doesn't care which service goes first, the "single accumulate" $\Delta_1$ are parallelizable within "parallel accumulate" $\delta_*$ does not, and we haven't come up with a case for the sequential case $\Delta_+$.

We happen to use maps that also have no specific ordering during iteration so either of these could be done first but it should not affect the result.

If one of these services had a prereq (as we do have in the orderedaccumulation data), then it would definitely have a specific ordering.

@jaymansfield
Copy link
Author

@sourabhniyogi the order may matter when it comes to the commitment map C.. although maybe I missed in the GP if that gets sorted or not

@sourabhniyogi
Copy link
Contributor

Ah different question:

Image

@sourabhniyogi
Copy link
Contributor

posted new 0.6.2.8 - kindly check @jaymansfield

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

3 participants