이더리움은 블록체인 상의 데이터를 모든 참가자가 접근할 수 있는 공개형 블록체인이기 때문에 스마트 컨트랙트로 개인정보 등의 민감한 데이터를 처리하기가 근본적으로 어렵다. 이를 해결하기 위해서 데이터에 대한 기밀성 보장 프로토콜을 스마트 컨트랙트로 구현하는 것을 고려할 수 있고, 대표적인 기밀성 보장 프로토콜로 zkSNARKs와 함수암호가 있다. 기밀성 보장 프로토콜들은 대부분 페어링을 기반 암호연산으로 사용하기 때문에 기밀성 보장 프로토콜들을 스마트 컨트랙트로 구현하기 위해서는 페어링의 구현이 선행되어야 한다. 본 논문에서는 페어링 기반 프로토콜들을 스마트 컨트랙트로 구현하기 위해 필요한 페어링 함수를 Solidity 언어로 구현하고 평가한다.
목차
요약 1. 서론 2. 사전지식 2.1. 페어링(pairing)[9] 2.2. 이더리움에서의 페어링 구현 3. Solidity 언어로 작성한 페어링 곱 함수 3.1. 𝑭𝒑상의 산술 연산 3.2. 𝑭𝒑상의 곱셈에 대한 역원 3.3. 스마트 컨트랙트의 함수 내 변수 개수 제한 4. 구현 적합성 검증 4.1. 겹선형 속성(Bilinearity property)\r 4.2. Non-degeneracy property 4.3. Geth의 페어링 연산 결과값과 비교 5. 결론 Acknowledgement 참고문헌