- Anchoring: Sidechain의 Oracle 문제를 해결하기 위해 invalid data가 넘어오는지 확인하기 위한 작업
- Oracle problem: 어떤 centralized trust-party에 의해 발생한 이벤트의 결과를 input of smart contract으로 사용하는 것에 대한 trust problem
- Event의 종류
- Computational oracle: 객관적 사실 + 블록체인 내외에서 연산+검증 가능
- Reporting oracle: 객관적 사실 + 블록체인 밖의 사실 정보
- Jurying oracle: 블록체인 밖에서 특정 참가자가 주관적으로 판단한 정보
외부 정보를 가져오는 방법
- Single User Reporting Mechanism: 중앙주체 or 코드가 아니라 서비스 참여자가 직접 가져오는 방법
- how it works: 서비스 참여자 선정 → 참여자가 가지고 온 정보(만약, 가져오지 못할 경우 다른 참여자가 가지고 옴) → 다른 참여자가 정보를 판단하고 잘못된 정보라면 Penalty 부여
- pros: 객관적 사실의 정보라는 점에서 Computational과 Reporting oracle에 사용할 수 있음
- cons: 참여자 선정 방법에 따라 특정 유저가 참여 기회를 독점할 수 있음
- case: truebit, augur
- One-token One-vote Mechanism: 여러명의 서비스 참여자가 1토큰 1투표 방식으로 투표하여 가져오는 방법
- how it works: 선택지(정보)와 투표 기간이 정해짐 → 참여자들은 토큰을 예치하여 투표를 진행 → 득표수가 많은 선택지가 선정
- pros: 정보의 옳고그름이 명확한 객관적 사실에서 사용될 수 있음. 즉, Computational과 Reporting oracle에 사용될 수 있다.
- cons: 토큰 보유량에 따른 횡포
- One-man One-vote Mechanism: 여러명의 서비스 참여자가 1인 1투표 방식으로 투표하여 가져오는 방법
- how it works: 평판(reputation) or 지표로 배심원(투표자)들을 선정한다. (평판을 어떻게 관리할건지가 매우 중요함) → 선택지(정보) 중 투표 진행 → 득표수가 많은 선택지가 선정
- pros: 배심원으로 선정된 참여자들은 one-token one-vote 방식에 비해 토큰을 몰수당할 수도 있다는 두려움 없이 자신의 의견을 행사
- cons: 배심원을 어떻게 관리할 것이며? 누가 책임을 질 것인지? AND Slashing mechanism
- case: kleros, aragon
가져온 정보가 올바른 or 잘못된 정보인지 판단하는 방법
- Verification Game Mechanism
- how it works: Solver가 연산문제(명령어 단위 step으로 이루어짐)를 offchain에서 계산하고 정답을 제공 → Verifier가 onchain에서 똑같은 연산문제를 계산하고 정답이랑 맞는지 비교 → Judge가 Solver와 Verifier 중 정답을 제시한 사람에게 Reward와 Penalty를 부여
- pros: Computational oracle
- cons: Gasfee(연산결과값이 다른 명령어 step을 찾을 때까지 연산해야됨), Incentive(문제가 쉬우면 Solver가 제대로 문제를 연산하기 때문에 아무도 Verifier역할을 하지 않을 수 있음)
- Extended Token Voting Mechanism
- how it works: 1차적으로 결정된 오라클 정보에 자신이 옳다고 생각하는 오라클에 토큰을 예치해서 이의 제기 → one-token one-vote 투표 → 투표 결과를 확정하고 추가로 이의 제기가 있는지 확인
- pros: Reporting oracle
- cons: 추가로 이의 제기되는 것이 반복될 수록 점점 느려진다.
- Extended Jurying Mechanism
- how it works: 결과에 이의 제기 → 배심원단을 선정 → 배심원단이 one-man one-vote → 투표 결과에 따라 판정을 내리고 당사자가 다시 이의를 제기(재항소)하는지 기다림
- pros: Jurying oracle
- cons: Schelling Point(의사소통 할 수 없는 환경에서 비슷한 이해관계를 가지고 있는 두 게임 참가자 사이에서 암묵적인 협의체로 사용되는 정보)을 통해 P+ epsilon(뇌물을 통한 공격), 2번과 마찬가지로 추가로 이의 제기되어 악의적으로 무한정 재항소하는 것을 방지해야함.
Reference