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

Add Constraint to describe the circuit #608

Closed
vlopes11 opened this issue Oct 8, 2021 · 0 comments · Fixed by #606
Closed

Add Constraint to describe the circuit #608

vlopes11 opened this issue Oct 8, 2021 · 0 comments · Fixed by #606
Assignees
Labels
team:Core Low Level Core Development Team (Rust)

Comments

@vlopes11
Copy link
Contributor

vlopes11 commented Oct 8, 2021

Describe what you want implemented
Constraint are builder structures that will allow the user to specify the circuits without using complicated method arguments where the order of the selectors isn't concise or uniform.

Describe "Why" this is needed
Currently the API is over-complicated and misleading because many gates have different implementations that are not always documented correctly or even implemented securely.

Centralizing the circuit description is a major improvement in terms of usability and security since a single implementation of the selectors will either always be correct or always be wrong, not depending on methods provided by the composer itself.

Describe alternatives you've considered
Refactoring all the functions of the composer to achieve uniformity is a viable alternative, but it will not solve the problem of the complexity of the arguments of the gates

Additional context
This improvement will facilitate future API refactoring to build the circuit using DSLs.

@vlopes11 vlopes11 added the team:Core Low Level Core Development Team (Rust) label Oct 8, 2021
@vlopes11 vlopes11 self-assigned this Oct 8, 2021
vlopes11 added a commit that referenced this issue Oct 8, 2021
`Constraint` will introduce a fail-safe type that can be used to
describe a circuit. It will replace any composer argument that takes the
circuit description/selector polynomials.

`Selector` will allow the user to extract specific coefficients from the
constraint representation.

Resolves #608
vlopes11 added a commit that referenced this issue Oct 8, 2021
`Constraint` will introduce a fail-safe type that can be used to
describe a circuit. It will replace any composer argument that takes the
circuit description/selector polynomials.

Resolves #608
vlopes11 added a commit that referenced this issue Oct 8, 2021
`Constraint` will introduce a fail-safe type that can be used to
describe a circuit. It will replace any composer argument that takes the
circuit description/selector polynomials.

Resolves #608
@ZER0 ZER0 added this to the Implementing PlonkUp milestone Oct 8, 2021
@ZER0 ZER0 linked a pull request Oct 8, 2021 that will close this issue
@ZER0 ZER0 closed this as completed Oct 8, 2021
vlopes11 added a commit that referenced this issue Oct 18, 2021
`Constraint` will introduce a fail-safe type that can be used to
describe a circuit. It will replace any composer argument that takes the
circuit description/selector polynomials.

Resolves #608
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
team:Core Low Level Core Development Team (Rust)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants