[영지식 증명 개념]
정의 : 정보의 참, 거짓인 결과를 제외하고 그 이외 정보는 노출되지 않도록 하는 절차
▶정보의 익명성을 제공하는 암호학 기술.
명제 | 증명자 | 검증자 |
증명 하려는 사실, 참 혹은 거짓 |
참 임을 증명하는 사람 (특정한 결과 값을 가지게 된다.) |
참 임을 검증하는 사람 (요구(쿼리)를 한다) |
[알리바바 동굴 예제]
● 명제: 위에서 지칭한대로 2갈래의 길이 한 지점에서 모임 -> 그 지점은 잠겨 있음
증명자 => 페기
검증자 => 빅터
● 증명자는 A,B 두 통로중 무작위로 선택 -> 검증자는 동굴입구에서 A,B중 무작위로 아무통로 나오라고 요구 ->증명자가 나오는 케이스는 2가지
(이때 증명자는 키소유 여부를 노출하지 않으면서 키가 있다는 사실을 동굴입구 검증자 에게 증명하려 한다.)
1. 증명자가 키가 있는 경우
1. 검증자가 어떤 통로를 선택하던 증명자는 나올수 있다. |
2. 검증자는 증명자가 확률적으로 키가 있다고 생각하게 된다. |
2. 증명자가 키가 없는 경우
1. 증명자는 처음 선택한 통로로만 나올수 있다. |
2. 50%의 확률로 검증자의 요구를 만족 시킬수 있다. |
3. 검증자가 계속 새로운 요구를 할 때 증명자는 요구사항에 대한 확률은 점점 줄어들게되고 검증자는 증명자가 확률적으로 키가 없다는 사실을 도출한다. (처음은 50% 그다음은 25% ….. 점점 줄어든다. 10번이 지난 후의 확률은 0.09% -> 100%는 되지 못한다 즉 100%위변조 방지 불가능) |
● 검증자는 증명자가 키가 있다는 사실이 불분명 하기 때문에 계속해서 질문을 하며 증명자가 지정한 통로로 계속 해서 나오는 지 확인한다 -> 키의 소유여부를 확인하는 과정
● 증자와 증명자가 주고 받은 메시지는 본인들만 알고 있기 때문에 제 3자는 신뢰성 있는 정보를 얻지 못한다.
[영지식 증명 문제점]
● 100% 위변조 방지는 불가능 -> 운으로 맞출 가능성이 있다.
● 상호작용이 많아 계산량 이 많다 => 비용 과다발생, 트레픽 처리량 증가
● 블록에 비밀에 대한 증거만 남아 증거만 남으며 비밀 자체가 유실될 가능성도 존재
(코카콜라 레시피 예제 :
코카콜라 레시피를 아는 사람이 전 세계에 3명뿐이다.
이 3명이 레시피가 있다는 사실을 레시피를 보지 않고도 나머지 사람들이 알고있다. -> 코카콜라를 만들라고 계속 시켜본다.
이 3명의 인원이 갑자기 실종이된다.
레시피 라는 비밀은 유실 됬는데 비밀에 대한 증거만 남게 된다 )
=> 정확한 값을 알고 있는 노드가 회손될수도 있다는 의미!
● 중간공격 문제 => 증명자와 검증자 사이에서 메시지교환시 해킹및 변조를 하려는 시도
'BlockChain' 카테고리의 다른 글
비 대화형 영지식 증명 - zk-SNARKs (0) | 2021.07.02 |
---|