ການຢັ້ງຢືນຄວາມຮູ້ທີ່ບໍ່ແມ່ນເລີ່ມຕົ້ນຂອງການຢັ້ງຢືນໄດ້ຖືກນໍາໃຊ້ໂດຍຜູ້ຊ່ຽວຊານໃນການຢັ້ງຢືນຄວາມຮູ້ທີ່ຖືກນໍາໃຊ້ໂດຍຜູ້ຊ່ຽວຊານໃນການຢັ້ງຢືນຄວາມຮູ້ທີ່ຖືກນໍາໃຊ້ໂດຍຜູ້ຊ່ຽວຊານໃນການຢັ້ງຢືນຄວາມຮູ້ທີ່ຖືກນໍາໃຊ້ໂດຍຜູ້ຊ່ຽວຊານ. ພວກເຮົາມີຄວາມຕ້ອງການທີ່ຈະຕັດສິນໃຈນີ້ແລະຊ່ວຍໃຫ້ພວກເຮົາມີຄວາມຮູ້ສຶກວ່າໃບຢັ້ງຢືນຄວາມຮູ້ສຶກບໍ່ເສຍຄ່າໄດ້ເຮັດວຽກ. ຖ້າຫາກວ່າພວກເຮົາມີຄວາມຮູ້ສຶກວ່າພວກເຮົາມີຄວາມຮູ້ສຶກວ່າພວກເຮົາມີຄວາມຮູ້ສຶກວ່າພວກເຮົາມີຄວາມຮູ້ສຶກວ່າພວກເຮົາມີຄວາມຮູ້ສຶກວ່າພວກເຮົາມີຄວາມຮູ້ສຶກບໍ່ເສຍຄ່າ. ໃນບົດຄວາມນີ້, ພວກເຮົາມີຄວາມຄິດສ້າງສັນທີ່ສໍາຄັນທີ່ຖືກນໍາໃຊ້ໃນລະບົບການຢັ້ງຢືນຄວາມຮູ້ Zero: ຫຼັງຈາກນັ້ນ, ພວກເຮົາມີຄວາມຄິດເຫັນ , ຫນຶ່ງໃນປະເພດທີ່ດີທີ່ສຸດແລະງ່າຍທີ່ສຸດຂອງລະບົບການເຊື່ອມຕໍ່ polynomial. polynomial commitment schemes KZG ຫຼັງຈາກນັ້ນພວກເຮົາມີຄວາມຮູ້ສຶກວ່າ ວິທີການ ໃນຕອນແລງ, ພວກເຮົາສະແດງໃຫ້ເຫັນວ່າ zk-rollups ແລະ Proto-Danksharding ສາມາດເຮັດວຽກຮ່ວມກັນຢ່າງງ່າຍດາຍແລະປະສິດທິພາບ - something that is possible specifically because . KZG is used inside zk-rollups Ethereum also uses KZG in Proto-Danksharding both systems use polynomial commitment schemes Why are we talking about polynomials? Polynomials ແມ່ນອຸປະກອນມາດຕະຖານທີ່ເຂັ້ມແຂງວ່າພວກເຮົາກໍາລັງສະຫນັບສະຫນູນໃຫ້ພວກເຮົາມີຄວາມສາມາດໃນການສະຫນັບສະຫນູນອຸປະກອນຂະຫນາດໃຫຍ່ຫຼືທີ່ເຫມາະສົມຢ່າງງ່າຍດາຍ. ປະເພດຫນຶ່ງແມ່ນການສະຫນັບສະຫນູນ vector n-dimensional ຂອງ element field v ໂດຍໃຊ້ polynomial ຫນຶ່ງ. ພວກເຮົາເຮັດວຽກນີ້ໂດຍສ້າງ φ(x) polynomial ທີ່ຂ້າງຂວາງຜ່ານທ້າຍ (i, v_i) ສໍາລັບທຸກອຸປະກອນ i = 1, 2, ..., n. ປະເພດນີ້, vector 3-dimensional v = [2, 0, 6] ສາມາດໄດ້ຮັບການເຂົ້າລະຫັດໂດຍ polynomial ໃນຂະນະທີ່ການເຊື່ອມຕໍ່ໃນຄຸນນະພາບໃຫ້ ຂໍຂອບໃຈ , ແລະ ໂດຍທົ່ວໄປ, ໂດຍທົ່ວໄປ, ໂດຍສະເພາະໃດຫນຶ່ງ n points, there always exists a unique polynomial of degree at most n − 1 that passes through all of them. ນີ້ແມ່ນຫຍັງພວກເຮົາມີຄວາມວ່າ n points fully define a polynomial of degree up to n − 1. φ(x) = 4x² − 14x + 12 φ(1) = 2 φ(2) = 0 φ(3) = 6 ການເຮັດວຽກຂອງການກໍ່ສ້າງ polynomial ນີ້ແມ່ນຊື່ວ່າ interpolation polynomial, ແລະຫນຶ່ງໃນເຕັກໂນໂລຊີທີ່ຖືກນໍາໃຊ້ຢ່າງກວ້າງຂວາງທີ່ສຸດແມ່ນ ການນໍາໃຊ້ວິທີການນີ້, ພວກເຮົາມີຄວາມຮູ້ກ່ຽວກັບວິທີການກໍ່ສ້າງ polynomial ຂອງຄວາມສູງສຸດ . ລະຫັດ QR n − 1 from exactly n constraints ໃນຕອນແລງທີ່ຜ່ານມາ, ພວກເຮົາຮູ້ວ່າ, ຖ້າທ່ານຮູ້ວ່າ , ທ່ານສາມາດຄົ້ນຄວ້າ polynomial ຫນຶ່ງ ທີ່ມີປະສິດທິພາບສູງສຸດ ໃນປັດຈຸບັນ, ພວກເຮົາມີຄວາມຕ້ອງການທີ່ຈະຈຸດປະສົງຢ່າງຕໍ່ເນື່ອງແລະຮູ້ ການຊອກຫາ polynomial ທີ່ແທ້ຈິງຈາກ coordinates ຂອງ n points ນີ້. n points n − 1 ວິທີການ ວິທີຫນຶ່ງທີ່ຖືກນໍາໃຊ້ຢ່າງງ່າຍດາຍແລະງ່າຍດາຍສໍາລັບການເຮັດວຽກນີ້ແມ່ນການ interpolation ຂອງ Lagrange. ນອກເຫນືອຈາກການສອບເສັງເປັນເອກະສານເປັນເອກະສານເປັນເອກະສານເປັນເອກະສານເປັນເອກະສານເປັນເອກະສານເປັນເອກະສານເປັນເອກະສານເປັນເອກະສານເປັນເອກະສານເປັນເອກະສານ. ໃນຖານະເປັນວິທີທີ່ພວກເຮົາຕ້ອງການທີ່ຈະຊອກຫາ polynomial ໃນຖານະເປັນບໍລິສັດທີ່ໃຫ້ບໍລິການໃຫ້ບໍລິການໃຫ້ບໍລິການໃຫ້ບໍລິການໃຫ້ບໍລິການໃຫ້ບໍລິການໃຫ້ບໍລິການໃຫ້ບໍລິການໃຫ້ບໍລິການໃຫ້ບໍລິການໃຫ້ບໍລິການໃຫ້ບໍລິການຂອງພວກເຮົາ. P φ(1) = 2 φ(2) = 0 φ(3) = 6 ສໍາລັບການເຮັດວຽກນີ້, ພວກເຮົາຈະສ້າງ 3 sub-polynomials (ຫນຶ່ງສໍາລັບການຈໍາກັດ) , ແລະ ຂະ ຫນາດ ທີ່ ສຸດ . P₁ P₂ P₃ 2 These 3 sub-polynomials must follow these sub-constraints: x P₁(x) P₂(x) P₃(x) 1 2 0 0 2 0 0 0 3 0 0 6 1 2 0 0 2 0 0 0 3 0 0 6 ປະເພດ sub-polynomial ໃນຖານະເປັນເອກະລັກທັງຫມົດ, ແຕ່ຫນຶ່ງ. 0 ໃນຕອນແລງ, ພວກເຮົາໄດ້ສ້າງຕັ້ງຂຶ້ນ: P(x) = P₁(x) + P₂(x) + P₃(x) ພວກເຮົາຈະທົດສອບຢ່າງງ່າຍດາຍ, ການນໍາໃຊ້ tab ທີ່ຜ່ານມາ, ທີ່ ຂໍຂອບໃຈວ່າພວກເຂົາເຈົ້າບໍ່ມີຄຸນນະສົມບັດ: P P(1) = P₁(1) + P₂(1) + P₃(1) = 2 + 0 + 0 = 2 P(2) = P₁(2) + P₂(2) + P₃(2) = 0 + 0 + 0 = 0 P(3) = P₁(3) + P₂(3) + P₃(3) = 0 + 0 + 6 = 6 ພວກເຮົາພຽງແຕ່ກວດສອບວ່າ ສະ ຫນັບ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ , ແລະ . P P₁ P₂ P₃ Building P₁ Using the , we can define P₁ as: factorised form P₁(x) = A(x − 2)(x − 3) ໄດ້ຮັບການຮັບປະກັນຄວາມຈໍາກັດ: P₁ P₁(2) = P₁(3) = 0 Now let's find ວິທີການ: A P₁(1) = 2 ພວກເຮົາມີວິທີການຕໍ່ໄປນີ້: P₁(1) = A(1 - 2)(1 - 3) = 2 ທີ່ໃຫ້ພວກເຮົາ: A = 2 ໃນຕອນແລງ: P₁(x) = 2(x − 2)(x − 3) now satisfies its 3 sub-constraints. P₁ ໂຮງງານຜະລິດ P2 ການນໍາໃຊ້ ພວກເຮົາມີຄວາມສາມາດໃນການຄຸ້ມຄອງ ວິທີການ: factorised form P2 P₂(x) = B(x - 1)(x − 3) already satisfies constraints: P2 P₂(1) = P₂(3) = 0 ໃນປັດຈຸບັນພວກເຮົາຈະຊອກຫາ ວິທີການ: B P₂(2) = 0 ພວກເຮົາມີວິທີການຕໍ່ໄປນີ້: P₂(2) = B(2 − 1)(2 − 3) = 0 ທີ່ໃຫ້ພວກເຮົາ: B = 0 ໃນຕອນແລງ: P₁(x) = 0(x − 1)(x − 3) = 0 ໃນປັດຈຸບັນມີ 3 subconstraints ຂອງຕົນ. P₂ ການກໍ່ສ້າງ P3 Using the ພວກເຮົາມີຄວາມສາມາດໃນການຄຸ້ມຄອງ ວິທີການ: ປະເພດ Factory P3 P₃(x) = C(x − 1)(x − 2) ໄດ້ຮັບການຮັບປະກັນຄວາມຈໍາກັດ: P₃ P₃(1) = P₃(2) = 0 ໃນປັດຈຸບັນພວກເຮົາຈະຊອກຫາ ວິທີການ: C P₃(3) = 6 ພວກເຮົາມີວິທີການຕໍ່ໄປນີ້: P₃(3) = C(3 - 1)(3 - 2) = 6 ທີ່ໃຫ້ພວກເຮົາ: C = 3 ໃນຕອນແລງ: P₃(x) = 3(x - 1)(x - 2) ໃນປັດຈຸບັນມີ 3 subconstraints ຂອງຕົນ. P₃ Building P As previously seen, P(x) = P₁(x) + P₂(x) + P₃(x) Replacing , and by their respective expression, we get: P₁ P₂ P₃ P(x) = (x - 2)(x - 3) + 0 + 3(x - 1)(x - 2) P(x) = (x² - 5x + 6) + 3(x² - 3x + 2) P(x) = x² - 5x + 6 + 3x² - 9x + 6 P(x) = 4x² - 14x + 12 After expansion and simplification, we obtain: P(x) = 4x² - 14x + 12 ການທົບທວນຄືນ P Let's quickly check that ເຮັດໃຫ້ການຮັບປະກັນ 3 ການເຊື່ອມຕໍ່: P P(1) = 4(1²) - 14(1) + 12 = 4 - 14 + 12 = 2 P(2) = 4(2²) - 14(2) + 12 = 16 - 28 + 12 = 0 P(3) = 4(3²) - 14(3) + 12 = 36 - 48 + 12 = 6 What are polynomial commitment schemes, and why are they useful? Polynomial commitment schemes are special tools that let someone commit to an entire polynomial without showing what the polynomial actually is. They work similarly to normal commitment schemes, where a person commits to a message and later reveals it. A good commitment scheme must be , ມັນເປັນສິ່ງທີ່ທ່ານບໍ່ສາມາດປ່ຽນຂໍ້ມູນຫຼັງຈາກການບໍລິຫານ, ແລະ Polynomial ເຫມາະສົມກັບຄໍາແນະນໍາທີ່ແຕກຕ່າງກັນ, ແຕ່ໃນຂະນະທີ່ທ່ານບໍ່ຈໍາກັດກັບຄໍາແນະນໍາຫນຶ່ງ, ທ່ານຈໍາກັດກັບ polynomial ທັງຫມົດທີ່ມີຂະຫນາດໃຫຍ່. binding hiding ປະເພດທີ່ເຂັ້ມແຂງຂອງການເຊື່ອມຕໍ່ polynomial ແມ່ນວ່າທ່ານສາມາດຮັບປະກັນຄຸນນະພາບຂອງ polynomial ໃນຖານທີ່ພິເສດໂດຍບໍ່ໄດ້ຮັບການສະແດງໃຫ້ເຫັນ polynomial ທັງຫມົດ. has the value ປະເພດ , ພວກເຮົາສາມາດເຮັດໄດ້ໂດຍບໍ່ໄດ້ຮັບການກວດສອບການອື່ນໆຂອງ polynomial. ພວກເຮົາພຽງແຕ່ໃຫ້ການປະທັບໃຈທີ່ຍິ່ງໃຫຍ່ທີ່ສະແດງໃຫ້ເຫັນ is true, and the verifier can check it using the earlier commitment. The verifier learns nothing else about the polynomial itself. This feature is incredibly useful in zero-knowledge proofs, where the goal is to prove something is true without revealing extra information. ϕ(x) 66 x = 4 “ϕ(4) = 66” Another reason polynomial commitments are useful is that the commitment is much smaller than the polynomial. A polynomial may have hundreds or thousands of values, but the commitment can be just a single small group element, like 48 bytes. This is extremely important for blockchains, where storing or posting large data is expensive. By compressing a large polynomial into one tiny commitment, systems like and can save a lot of space and reduce costs. zk-rollups Proto-Danksharding To make this easier to understand, imagine Alice has a secret polynomial, such as ϕ(x) = 3x² + 5x + 2. She does not want to reveal the polynomial, but Bob wants proof that ϕ(4) = 66. Alice commits to the polynomial using a polynomial commitment scheme and sends Bob the commitment. Later, she reveals only the value 66 and provides a short proof showing that this value is correct for x = 4. Bob checks the proof against the commitment and becomes convinced, without ever learning anything else about the polynomial. This is why polynomial commitments are powerful tools in modern cryptography and essential for scalable blockchain systems. KZG Polynomial Commitment KZG ການເຊື່ອມຕໍ່ polynomial 1. Commitment In a polynomial commitment, the prover first turns their data into a polynomial. Then they create a special cryptographic “commitment” to this polynomial. You can think of this commitment like sealing the polynomial inside a locked box: the prover cannot change it later, and the verifier cannot see what is inside. This step guarantees two things — the polynomial cannot be altered ( ) and its contents stay private ( ລະຫັດ QR binding hiding 2. Evaluation ຫຼັງຈາກນັ້ນ, ການທົດສອບຄົວຕ້ອງການໃຫ້ແນ່ໃຈວ່າມີຫຍັງກ່ຽວກັບ polynomial . So they pick a point x, plug it into the polynomial, and calculate the answer . They send only this value y, plus a small proof that shows the value came from the committed polynomial. The actual polynomial stays hidden the whole time. This allows the prover to show the polynomial behaves correctly at one point without exposing the entire polynomial. ຫຼັງຈາກການສະແດງໃຫ້ເຫັນ y=P(x) 3. Verification Finally, the verifier checks if the value ຄຸນນະສົມບັດທີ່ເຫມາະສົມສໍາລັບ polynomial ທີ່ໄດ້ຮັບອະນຸຍາດ . Using the commitment and the proof, the verifier performs a cryptographic check. If everything is valid, the verifier knows ພວກເຮົາ ກໍາ ລັງເຮົາມີຄວາມຊ່ຽວຊານໃນການຄົ້ນຄວ້າແລະການຄົ້ນຄວ້າທີ່ດີທີ່ສຸດສໍາລັບຜູ້ຊ່ຽວຊານໃນການຄົ້ນຄວ້າ. y x P(x)=y KZG Polynomial Commitment Scheme ລະບົບການເຊື່ອມຕໍ່ polynomial KZG ລະຫັດ QR . four main steps Step 1 - Trusted Setup ການອັບໂຫລດຫຼ້າສຸດທີ່ໃຊ້ເວລາທີ່ຜ່ານມາຫຼັງຈາກການປະຕິບັດຂອງລະບົບ. Choose a generator of an elliptic-curve group (supports pairings). g G ເລືອກລະດັບສູງສຸດ l ຂອງ polynomial. Pick a secret random value: τ ∈ Fp Compute and publish: (g, g^τ, g^(τ^2), ...., g^(τ^l)) Only these powers of are public. gᵗ The value τ must remain secret forever. If someone knows τ, they can forge proofs. Step 2 - Commit to a Polynomial Suppose we have the polynomial: ϕ(x) = ∑ᵢ₌₀ˡ ϕᵢ xⁱ We want to compute the commitment: C = g^{ϕ(τ)} Although the committer cannot compute directly since he doesn’t know , he can compute it using the output of the setup g^{ϕ(τ)} τ τ Step 3 - Create a Proof for Evaluation ϕ(a)=b To prove that: ϕ(a)=b ຊື່ຫຍໍ້ຂອງ : Quotient Polynomial q(x) = ϕ(x) - b / x - a ການຄາດຄະເນດິນດີຕ້ອນຮັບ Then compute the proof: π = g^{q(τ)} ນີ້ແມ່ນໃບຢັ້ງຢືນ KZG. Step 4 - Verification ປະເພດ: ຊື່ຫຍໍ້ຂອງ : C = g ການຢັ້ງຢືນ π = g^{q(τ)} ການຄາດຄະເນ φ(a) = b ການທົບທວນຄືນ Checker: e(c/g^b,g) = e(π,g^τ/g^a) ນີ້ e (⋅ , ⋅ ) ແມ່ນ a . ລະຫັດ QR This equation is equivalent to verifying: q(τ) = ϕ(τ) - b /τ - a If the pairing check holds, the evaluation is accepted as correct. ຄວາມຄິດເຫັນທີ່ Pairing Check ລະຫັດ QR ລະຫັດ QR ຊື່ຫຍໍ້ຂອງ : C e(C/g^b, g) e(g,g)ϕ ລະຫັດ QR ລະຫັດ QR (π = g^{q(τ)}) e(π, g^τ/g^a) e(g,g)q(τ)⋅(τ−a) ປະສິດທິພາບອະນຸຍາດ φ(τ)−b = q(τ)(τ−a), ຄຸນນະສົມບັດ quotient evaluated at τ, ເຊິ່ງອະນຸຍາດ φ(a)=b ຖ້າ q(x) ໄດ້ຖືກສ້າງຕັ້ງຢ່າງງ່າຍດາຍ. (q(x) = φ(x) - b / x - a) Short explanation of the pairing check ລະຫັດ QR ລະຫັດ QR ຊື່ຫຍໍ້ຂອງ : C e(C/g^b, g) e(g,g)ϕ ລະຫັດ QR ລະຫັດ QR (π = g^{q(τ)}) e(π, g^τ/g^a) e(g,g)q(τ)⋅(τ−a) ປະສິດທິພາບອະນຸຍາດ φ(τ)−b = q(τ)(τ−a), ຄຸນນະສົມບັດ quotient evaluated at τ, ເຊິ່ງອະນຸຍາດ φ(a)=b ຖ້າ q(x) ໄດ້ຖືກສ້າງຕັ້ງຢ່າງງ່າຍດາຍ. (q(x) = φ(x) - b / x - a) Use Cases: zk-rollups ໃນ zk-rollups, ພວກເຮົາມີຄວາມຕ້ອງການທີ່ຈະສະແດງໃຫ້ເຫັນວ່າການເຮັດວຽກທີ່ເຮັດໄດ້ກ່ຽວກັບ Layer 2 (L2) ແມ່ນຖືກຕ້ອງ. ສໍາລັບການເຮັດວຽກນີ້, ທັງຫມົດຂອງການຄອມພິວເຕີແມ່ນການປ່ຽນແປງໃນຄອມພິວເຕີຂະຫນາດໃຫຍ່ ( matrix 2D). . Each column of this table represents one part of the computation, and each column can be turned into a polynomial. So instead of handling a huge matrix directly, we work with a list of polynomials. The correctness of the computation can then be described using mathematical rules between these polynomials. For example, imagine three columns of the table represent three polynomials: ການຢັ້ງຢືນ Generation ລະຫັດ QR ລະຫັດ QR c(x)A rule might say that ຊື່ຫຍໍ້ຂອງ : a(x)⋅b(x)−c(x)=0 This means “the first polynomial multiplied by the second must equal the third.” It’s like saying: column 1 × column 2 must produce column 3. Instead of checking this rule for every possible value of x (which would be slow), zk-rollups check it only at a few random points. If the rule is correct at those random points, then with very high probability, the whole computation is correct. ຖ້າຫາກວ່າຂ້າພະເຈົ້າຕ້ອງການກວດສອບໃຫ້ເຫັນວ່າສອງສະຖານທີ່ຍິ່ງໃຫຍ່ມີຄຸນນະສົມບັດ, ຂ້າພະເຈົ້າບໍ່ຈໍາເປັນຕ້ອງຕັດສິນໃຈກັບທຸກສິ່ງທຸກຢ່າງ - ການກວດສອບໃຫ້ເຫັນວ່າທຸກສິ່ງທຸກຢ່າງແມ່ນມີຄຸນນະສົມບັດ, ໂດຍທົ່ວໄປຂ້າພະເຈົ້າຫວັງວ່າມີຄຸນນະສົມບັດ. Example: ລະບົບການເຊື່ອມຕໍ່ polynomial – ເຊັ່ນ KZG – ແມ່ນທີ່ດີທີ່ສຸດສໍາລັບການນີ້. ການເຊື່ອມຕໍ່ rollup ມີການເຊື່ອມຕໍ່ກັບ polynomials ທັງຫມົດທີ່ອຸປະກອນການຄອມພິວເຕີ L2 (ຄຸນນະສົມບັດຂອງການເຊື່ອມຕໍ່ກັບການເຊື່ອມຕໍ່ຂອງພວກເຂົາໃນບັນຊີ cryptographic). ຫຼັງຈາກນັ້ນ, ການເຊື່ອມຕໍ່ສາມາດຊອກຫາຄຸນນະສົມບັດຂອງ polynomials ນີ້ໃນໄລຍະເວລາທີ່ຖືກຕ້ອງ. ມີຄຸນນະສົມບັດເຫຼົ່ານີ້ແລະການເຊື່ອມຕໍ່, ການເຊື່ອມຕໍ່ຊອກຫາຄຸນນະສົມບັດທີ່ຖືກຕ້ອງ. ຖ້າຫາກວ່າພວກເຂົາເຈົ້າເຮັດໄດ້, ການເຊື່ອມຕໍ່ຮູ້ສຶກວ່າການເຊື່ອມຕໍ່ທັງຫມົດແມ່ນຖືກຕ້ອງ. Ethereum’s Proto-Danksharding (EIP-4844) is an upgrade designed to make it much cheaper for rollups to publish their data on Ethereum’s Layer 1. It introduces a new kind of transaction called a . This type of transaction includes a large piece of data called a (around 128 kB). However, this blob is accessible to smart contracts or the execution layer. Smart contracts can only see a to the blob, not the blob itself. ຊື່ຫຍໍ້ຂອງ : Proto-Dankharding ການຂົນສົ່ງ BLOB ໂທລະສັບ not commitment ຄໍາຖາມ ນີ້ແມ່ນ: ວິທີການຫນຶ່ງແມ່ນທີ່ຈະໄດ້ຮັບ blob ແລະພຽງແຕ່ . But hashing is limited: if we only store a hash, then later we cannot prove anything about the data inside the blob without revealing the entire blob. This is too restrictive for Ethereum’s future scaling plans. ວິທີການ Ethereum ຈະສ້າງຄວາມສົນໃຈນີ້ກັບ blob? hash it ໃນປັດຈຸບັນ, ພວກເຮົາສາມາດປິ່ນປົວ blob ເປັນ polynomial. (ໃນປັດຈຸບັນ, ພວກເຮົາມີຄໍາແນະນໍາກ່ຽວກັບວິທີທີ່ vectors ຫຼື data ສາມາດໄດ້ຮັບການພິມເປັນ polynomials.) ໃນຖານະເປັນ KZG, Ethereum ສາມາດທົດສອບ blob ໃນວິທີທີ່ບໍ່ພຽງແຕ່ກວດສອບຂໍ້ມູນ, ແຕ່ຍັງຊ່ວຍໃຫ້ການຢັ້ງຢືນຄຸນນະສົມບັດໃດໆ . polynomial commitment scheme ບໍ່ດາວໂຫລດ blob ທັງຫມົດ ຄວາມອາດສາມາດນີ້ແມ່ນສໍາຄັນສໍາລັບສິ່ງທີ່ຄ້າຍຄືກັນ . DAS allows validators to check whether the blob is available and correct . Instead, validators download only tiny random pieces. Thanks to the math behind polynomial commitments, if enough random samples are correct, validators can be highly confident that the whole blob is available. (Although DAS is not included in the very first version of Proto-Danksharding, it will be added soon as Ethereum continues toward “full Danksharding.”) (DAS) Data Availability Sampling ດາວໂຫລດທັງຫມົດ 128 KB Data Availability Sampling Ethereum has chosen ການຄົ້ນຄວ້າໄດ້ຕັດສິນໃຈຫຼາຍກ່ວາລະບົບ, ແລະໄດ້ຕັດສິນໃຈວ່າ KZG ໄດ້ສະຫນອງການຕັດສິນໃຈທີ່ດີທີ່ສຸດຂອງປະສິດທິພາບ, ຂະຫນາດການຢັ້ງຢືນ, ແລະຄວາມງ່າຍດາຍສໍາລັບສະຖານທີ່ທາງເລືອກຂອງ Ethereum ໃນໄລຍະຍາວແລະຂະຫນາດກາງ. KZG How zk-rollups and Ethereum’s Proto-Danksharding interact zk-rollups ແລະ Proto-Danksharding ຂອງ Ethereum ສາມາດຮູ້ຈັກເປັນລະບົບທີ່ແຕກຕ່າງກັນ, ແຕ່ພວກເຂົາເຈົ້າທັງສອງນໍາໃຊ້ການຮັບປະກັນ KZG ໃນວິທີທີ່ຊ່ວຍໃຫ້ພວກເຂົາຈະເຮັດວຽກຮ່ວມກັນຢ່າງງ່າຍດາຍ. Scroll ໃຊ້ KZG ເພື່ອຮັບປະກັນການຄອມພິວເຕີທີ່ປະຕິບັດໃນ Layer 2, ໃນຂະນະທີ່ Ethereum ໃຊ້ KZG ເພື່ອຮັບປະກັນການ blobs data ຂະຫນາດໃຫຍ່ທີ່ຈັດຂຶ້ນໃນ Layer 1. ຫຼັງຈາກ Scroll ໄດ້ຮັບການປິ່ນປົວ batch ຂອງການຂົນສົ່ງ L2 ແລະຄອມພິວເຕີປະສິດທິພາບໃຫມ່, ມັນຈໍາເປັນຕ້ອງພິຈາລະນາສາມສິ່ງໃນ L1 ຂອງ Ethereum: ຊື່ຫຍໍ້ຂອງ : L2 Transactions Si - ລະບົບປະສິດທິພາບໃຫມ່ຫຼັງຈາກການປະຕິບັດນີ້ຖືກນໍາໃຊ້, π - ການຢັ້ງຢືນວ່າສະຖານທີ່ໃຫມ່ແມ່ນສິດທິ. Ethereum ຕ້ອງການທົດສອບສອງສິ່ງ: that the new state root is valid (meaning the transactions were executed correctly), and Sᵢ ທີ່ຢູ່ ສະ ຫນັບ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ໂຮງງານຜະລິດ Ethereum ວິທີການ , ເຊິ່ງເຮັດໃຫ້ຜູ້ຊ່ຽວຊານສາມາດເຂົ້າເຖິງພຽງແຕ່ a to that blob - let’s call this commitment ໃນປັດຈຸບັນ, ການຢັ້ງຢືນ also contains KZG commitments to various polynomials used during the computation, including the polynomial that represents the transaction list. That polynomial has its own commitment inside the proof—call it . T ລະຫັດ QR KZG commitment Cₜ π Cₚ ໃນປັດຈຸບັນພວກເຮົາມີສອງຄວາມຊ່ຽວຊານ KZG ທີ່ແຕກຕ່າງກັນ ( ຈາກ blob ແລະ ການຢັ້ງຢືນ ( represent the same polynomial ϕₜ (the polynomial representation of the transaction list). We need to check whether ແລະ really refer to the same data. Cₜ Cₚ ປະເພດ Cₜ Cₚ ສໍາລັບການເຮັດວຽກນີ້, ພວກເຮົາໄດ້ນໍາໃຊ້ເຕັກໂນໂລຊີທີ່ເອີ້ນວ່າ a ຄວາມຄິດເຫັນທີ່ The Idea is Simple: ຄວາມຄິດເຫັນທີ່ Equivalence ຄວາມຄິດເຫັນທີ່ Equivalence ຊື່ຫຍໍ້ຂອງ : Ct Cp This makes z unpredictable and unique to these two commitments. Both commitments are then “opened” at the point z, each producing a value . That is, prove that: a ϕₜ(z) = a under commitment , and Cₜ ϕₜ(z) = a under commitment . Cₚ If both commitments give the same value at the same random point, then with extremely high probability, they represent the same polynomial. ປະເພດ: ສະ ຫນັບ ສະ ຫນັບ ສະ ຫນັບ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ສະ ຫນູນ ການຄາດຄະເນດິນຟ້າອິນເຕີເນັດ - ການຄາດຄະເນດິນຟ້າອິນເຕີເນັດ - ການຄາດຄະເນດິນຟ້າອິນເຕີເນັດ Example This same logic lets Ethereum verify that the transaction list used in the proof ແມ່ນປະສິດທິພາບທີ່ແທ້ຈິງເຊັ່ນດຽວກັນກັບບັນຊີລາຍລະອຽດຂອງການຂຽນໃນ blob. π A nice bonus is that this equivalence check works even if the two commitments use ລະບົບການເຊື່ອມຕໍ່ polynomial. ປະເພດນີ້ສາມາດເປັນ KZG ແລະ FRI ອື່ນໆ. ຖ້າຫາກວ່າທັງສອງການເຊື່ອມຕໍ່ສະຫນັບສະຫນູນການເຊື່ອມຕໍ່ໃນເວລາທີ່ຫນຶ່ງ, ການເຊື່ອມຕໍ່ສາມາດຕອບສະຫນັບສະຫນູນພວກເຂົາ, ເຮັດໃຫ້ການເຊື່ອມຕໍ່ນີ້ງ່າຍທີ່ສຸດ. ປະເພດ ປະເພດ Erasure Coding With Polynomials ຄວາມຄິດເຫັນທີ່ດີທີ່ສຸດທີ່ນໍາໃຊ້ໃນ KZG ແລະ PeerDAS ການນໍາໃຊ້ polynomials, ພວກເຮົາສາມາດນໍາໃຊ້ຊຸດຂະຫນາດນ້ອຍຂອງຄຸນນະສົມບັດທີ່ແທ້ຈິງແລະຂະຫຍາຍມັນໃນຊຸດຂະຫນາດໃຫຍ່ໂດຍ evaluating polynomial ໃນຖານທີ່ເພີ່ມເຕີມ. ຄຸນນະສົມບັດທີ່ສໍາຄັນແມ່ນວ່າ ນີ້ແມ່ນພຽງແຕ່ວິທີການຂອງ Ethereum Data-availability sampling (DAS) ໄດ້ເຮັດວຽກ: Nodes ບໍ່ຈໍາເປັນຕ້ອງທຸກຄົນຂອງຂໍ້ມູນ, ແຕ່ພຽງແຕ່ຕົວຢ່າງ random ທີ່ສາມາດໃຫ້ເຂົາເຈົ້າ reconstruct ຂໍ້ມູນเดิมທີ່ມີປະສິດທິພາບສູງ. erasure coding if the degree stays the same, the original data can be recovered from subset of enough points ປະເພດ ປະເພດ ເປັນຫຍັງຄວາມຕ້ອງການຂອງການເຊື່ອມຕໍ່ polynomial? ເປັນຫຍັງຄວາມຕ້ອງການຂອງການເຊື່ອມຕໍ່ polynomial? Using polynomials and erasure codes solves many problems, but creates a new one: How do we prove that a piece of data truly belongs to the committed polynomial? ນີ້ແມ່ນທີ່ ການບໍລິການ KZG ອະນຸຍາດໃຫ້: KZG polynomial commitments committing to a polynomial with a single small group element ການຢັ້ງຢືນທີ່ data point ແມ່ນຫນຶ່ງໃນການຄາດຄະເນຂອງ polynomial ການຢັ້ງຢືນການຢັ້ງຢືນໂດຍບໍ່ດາວໂຫລດ polynomial ຫຼື reconstruct ຄຸນນະສົມບັດນີ້ແມ່ນສໍາຄັນສໍາລັບການຂົນສົ່ງການຂະຫຍາຍຕົວຂອງ Ethereum ໃນຂະນະທີ່ຜູ້ validators ຕ້ອງການຢັ້ງຢືນ disponibility data ປະສິດທິພາບໂດຍບໍ່ມີການອ່ານ megabytes ຂອງ data blob. and ການເຊື່ອມຕໍ່ກັບ polynomials ເພື່ອແຜ່ຂໍ້ມູນໃນ , , ແລະ . ທຸກ blob ໄດ້ຖືກປິ່ນປົວເປັນ polynomial whose evaluations fill the data. When data is extended and arranged into columns, validators only receive small pieces, yet the polynomial structure ensures that all pieces are consistent. To verify this consistency without downloading entire blobs, Ethereum uses . Each proof confirms that a specific cell corresponds to the polynomial committed in the block header. ປະເພດ Proto-Danksharding columns cells blobs KZG proofs Thanks to polynomial commitments, Ethereum can safely scale data availability while drastically reducing the load on individual nodes. This is one of the main reasons KZG was chosen for ແລະ PeerDas. EIP-4844 ຫຼັງຈາກນັ້ນ, ພວກເຮົາຈະຊອກຫາຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບວິທີການເຮັດວຽກຂອງ PeerDAS, ວິທີການປະທັບໃຈຂອງ KZG ມີປະສິດທິພາບທີ່ສໍາຄັນໃນມັນ, ແລະວິທີການດັດແກ້ໄຂການເຂົ້າລະຫັດສາມາດຊ່ວຍໃຫ້ເຄືອຂ່າຍດູດຊອກຫາຂໍ້ມູນທີ່ບໍ່ມີ. ຫຼັງຈາກນັ້ນ, ພວກເຮົາຈະຊອກຫາຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບວິທີການເຮັດວຽກຂອງ PeerDAS, ວິທີການປະທັບໃຈຂອງ KZG ມີປະສິດທິພາບທີ່ສໍາຄັນໃນມັນ, ແລະວິທີການດັດແກ້ໄຂການເຂົ້າລະຫັດສາມາດຊ່ວຍໃຫ້ເຄືອຂ່າຍດູດຊອກຫາຂໍ້ມູນທີ່ບໍ່ມີ.