μλ
νμΈμ, BQκ°λ°μμ
λλ€.
ZK κ°λ°μ μμνλ €λ λΆλ€μ μν μ리μ¦λ₯Ό μμν©λλ€.
첫 μ£Όμ λ μ ν체μ λλ€.
Circomμ΄λ Noirμ΄λ , λͺ¨λ ZK μΈμ΄λ μ ν체 μμμλ§ λμν©λλ€.
μΌλ° μ μκ° μλλΌμ. μ΄κ±Έ λͺ¨λ₯΄λ©΄ λ΄ μ½λκ° μ μ΄μνκ² λμνλμ§ μ΄ν΄ν μ μμ΅λλ€.
β μ ν체λ?
μ»΄ν¨ν°λ μ«μλ₯Ό μ μ₯ν λ μ ν΄μ§ μΉΈμ μ¬μ©ν©λλ€. uint256μ 256κ°μ 0κ³Ό 1λ‘ μ«μλ₯Ό νννλλ°,
κ°μ₯ ν° μλ 115792089237316195423570985008687907853269984665640564039457584007913129639935μ
λλ€. 78μ리 μ«μμ£ .
μ΄ μ«μμ 1μ λνλ©΄ μ΄λ»κ² λ κΉμ? 257λ²μ§Έ μλ¦¬κ° νμνλ°, κ·Έλ° κ³΅κ°μ΄ μμ΅λλ€.
κ·Έλμ λͺ¨λ μλ¦¬κ° 0μΌλ‘ 리μ
λ©λλ€. μ€μ λ‘ 100μ΅ μμ΄ μλ ν ν° μμ‘μ΄ 1μμ λ λ°λ μκ° 0μμ΄ λμ΄λ²λ¦° ν΄νΉ μ¬κ³ κ° μμμ΅λλ€.
μ ν체λ μ΄ "μ΅λκ° λ€μμ΄ 0"μ΄λΌλ νμμ μμ μ μ λμμΌλ‘ λ§λ€μ΄λ²λ¦° μμ€ν
μ
λλ€. λ²κ·Έκ° μλλΌ μλ κ·Έλ κ² μ€κ³ν κ±°μ£ .
π€ uint256μ λμμ μΌμ΄λλ μΌ
μ리λν° κ°λ°μλΌλ©΄ λ μ‘°μ¬νλ μν©μ΄ μμ΅λλ€.
uint256 μ΅λκ°μ 1μ λνλ©΄ 0μ΄ λκΈ° λλ¬Έμ΄μ£ .
λ€μ λ§ν΄ 256λΉνΈλ‘ ννν μ μλ νκ³λ₯Ό λμ΄μλ©΄, λ€μ 0μΌλ‘ λμκ°λ μν©μ κ²ͺκ²λκ³ ,
μ΄κ² μ μ μ€λ²νλ‘μ°μ
λλ€.
TimeLock ν΄νΉμ΄ λ°λ‘ μ΄κ±Έ μ
μ©νλ μ¬λ‘μ£
λ―Έλ μμ μ μ κΈμ ν° μλ₯Ό λν΄μ 0μΌλ‘ λ§λ€μ΄λ²λ¦° λ€μ
μ¦μ μΆκΈμ΄ κ°λ₯νλλ‘ ν΄μ ν΄νΉμ΄ κ°λ₯νμ΅λλ€..γ·γ·
1οΈβ£ μ€λ²νλ‘μ°λ₯Ό λ§μΌλ €λ λ
Έλ ₯
μ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ €κ³ κ°λ°μλ€μ κ³μ λ°©μ΄ μ½λλ₯Ό μΆκ°ν΄μμ΅λλ€.
SafeMath λΌμ΄λΈλ¬λ¦¬λ₯Ό μ°κ±°λ, Solidity 0.8.0λΆν°λ μ»΄νμΌλ¬κ° μλμΌλ‘ 체ν¬νμ£
νμ§λ§ μ΄κ±΄ λΉμ©μ
λλ€. λͺ¨λ μ°μ°λ§λ€ "μ€λ²νλ‘μ° μ²΄ν¬"κ° μΆκ°λ‘ μ€νλλκΉμ.
λ¬Έμ μ ν΅μ¬μ μ΄κ±°μ£ .
μΌλ° μ μ μμ€ν μμ μ€λ²νλ‘μ°λ μμΈμ μ€λ₯λΌλμ
κ·Έλμ λ§μμΌ νκ³ , λ§λ λ° λΉμ©μ΄ λλλ€.
2οΈβ£ μ ν체μ μμ ν λ€λ₯Έ κ΄μ
ZKμμ μ¬μ©νλ μ ν체 Fpλ₯Ό λ³΄κ² μ΅λλ€.
0λΆν° p-1κΉμ§μ μ μλ‘ μ΄λ£¨μ΄μ Έ μκ³ , λͺ¨λ μ°μ°μ΄ mod pλ‘ μ μλ©λλ€.
p-1μ 1μ λνλ©΄? 0μ΄ λ©λλ€.
μ΄κ±΄ μ€λ₯κ° μλλΌ μ μμ£ .
μ ν체λ μ΄λ κ² μ²μλΆν° "μννλ μμ€ν
"μΌλ‘ μ€κ³λμμ΅λλ€.
pλ₯Ό λμΌλ©΄ λ€μ 0λΆν° μμνλ κ² μ μ λμμ΄μ£ .
3οΈβ£ μ μ΄κ² λ λμκ°
μ°¨μ΄λ₯Ό μ νν μ§μ΄λ³΄κ² μ΅λλ€.
μΌλ° μ μμμ μ€λ²νλ‘μ°λ λ³΄ν΅ μμΈμν©μΌλ‘ λ΄
λλ€.
λλΆλΆμ μ°μ°μ μ μ λ²μμμ μΌμ΄λκ³ , κ°λ κ²½κ³λ₯Ό λμ λλ§ λ¬Έμ κ° μκΈ°μ£ .
κ·Έλμ λ§€λ² μ²΄ν¬ν΄μΌ ν©λλ€.
νμ§λ§ μ ν체μμλ μνμ΄ μ μμ
λλ€.
μ μ΄μ λͺ¨λ μ°μ°μ΄ mod pλ‘ μ μλμ΄ μμΌλ, 체ν¬ν νμκ° μμ΅λλ€.
μ€λ²νλ‘μ°λΌλ κ°λ
μμ²΄κ° μλ κ±°μ£ .
Circomμμ κ·Έλ₯ sum <== a + bλΌκ³ μΈ μ μλ μ΄μ μ
λλ€.
κ²°κ³Όκ° pλ₯Ό λλ μ λλ , νμ μ ν¨ν κ°μ΄ λμ€λκΉμ.
βοΈ λ²κ·Έκ° μ¬λΌμ§ μΈκ³
μ ν체λ₯Ό μ²μ μ νμ λ κΉ¨λ¬μ μ μ΄ μμ΅λλ€.
μ°λ¦¬κ° "μ€λ²νλ‘μ° λ²κ·Έ"λΌκ³ λΆλ₯΄λ κ²μ, μ¬μ€ 무νμ μ νν 곡κ°μ μ΅μ§λ‘ λ΄μΌλ €λ€ μκΈ΄ λ¬Έμ μλ€λμ !
λΉμ°νκ²λ λ©λͺ¨λ¦¬λ μ ννλ° κ±°κΈ°μ 무ννκ² ν° μλ₯Ό λ΄μ μ μμΌλκΉμ.
μ ν체λ μ²μλΆν° μ ννλ€κ³ κ°μ ν©λλ€.
κ·Έλμ λͺ¨λ μ«μκ° 0λΆν° p-1 μ¬μ΄μ μκ³ , λͺ¨λ μ°μ° κ²°κ³Όλ κ·Έ μμ μλλ‘ νλκ±°μ£
무νμ λ€λ£¨λ €λ μλ μμ²΄κ° μμΌλ, μ€λ²νλ‘μ°λ μμ΅λλ€.
ZK νλ‘λ₯Ό μμ±ν λ SafeMath κ°μ κ² νμ μλ μ΄μ κ° μ¬κΈ° μμ΅λλ€.
μ€λ²νλ‘μ° κ±±μ μ체λ₯Ό ν νμκ° μμΌλκΉμ.
λ€μ νΈμμλ "μμκ° μλλ° λΊμ
μ μ΄λ»κ²?"λ₯Ό λ€λ€λ³΄κ² μ΅λλ€.
μ΄κ²λ μ ν체μ λ
νΉν μ κ·Ό λ°©μμ΄ μλλΌκ΅¬μ!!
---
μ¬λ¬λΆμ μ’μμμ 곡μ λ μ¬λμ λλ€ π₯°
