데보션앱 소개페이지 바로가기
로그인 선택

신고하기

CLOSE
신고사유 (대표 사유 1개)
상세내용 (선택)
0/200
  • 신고한 게시글은 더 이상 보이지 않습니다.
  • 이용약관과 운영정책에 따라 신고사유에 해당하는지 검토 후 조치됩니다.
  • 허위 신고인 경우, 신고자의 서비스 이용이 제한될 수 있으니 유의하시어 신중하게 신고해 주세요.
(이 회원이 작성한 모든 댓글과 커뮤니티 게시물이 보이지 않고, 알림도 오지 않습니다.)

미리보기

커뮤니티

      1,234

      badge 23.06.15

      글 등록

      카테고리를 선택해주세요.

      DEVOTEE를 활성화 시키면
      지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.

      버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.

      임시저장함에 저장되었습니다. 저장일시 : 2022.5.17 14:29:08

      임시저장함

      제목을 선택하시면 이어서 작성이 가능하며,
      최대 20건까지 저장합니다.
      컨텐츠 유형, 제목, 저장일시, 삭제로 이뤄진 임시저장 목록
      컨텐츠 유형 제목 저장일 삭제

      데보션 블로그 게재 요청

      CLOSE
      • *
      • *

      본인인증

      효율적인 데보션 서비스 이용 및
      고객님의 소중한 개인정보보호를 위해
      본인인증을 진행해주세요. 본인인증 미 진행 시 로그인이 제한됩니다.
      본인인증 실패

      본인인증 로그인에 실패하였습니다.
      회원이 아니시거나 본인인증 등록이
      완료되지 않은 사용자입니다.

      회원정보 연결

      한국 사람인지 맞춰보자 feat. 영지식증명 (Zero Knowledge Proof)

      마법거북이 23.07.25
      13,990 14 0

      영지식 증명이라고 들어 보셨나요?
      매우 흥미로운? 증명/검증방식인데 한번 소개를 해 볼까 합니다.
      영지식 증명을 한번에 이해 하기에 적합한 영상이 있어서 한번 보고 말씀 드리겠습니다.

      나나나 오야쉐


      보신것이 바로 영지식 증명의 핵심 개념입니다.


      영지식증명이라는 것은 영어단어의 의미 그대로 알고 있는것이 zero 인 상태에서 상대를 검증하는 방법 입니다.

      이때 “무언가를 주장하는 상대방” 을 prover 증명자 라고 하고 ,zero knowlege 인 상태로 “상대방을 검증하는 쪽을 ” verifier 검증자 라고 합니다.


      이 방식은 1985년에 최초로 발표가 되었습니다.

      The_Knowledge_Complexity_Of_Interactive_Proof_Systems.pdf


      예를 다시 한번 들어 보겠습니다.

      우리 모두 몰디브에 푸른 바다가 바로 앞에 보이고, 시원한 바람이 불고 아주 행복한 숙소에 당첨이 되었습니다.

      단 이 숙소는 한국 사람만 예약할 수 있습니다. 도착해서는 입구 앞에서 경비에게 증명을 해야 합니다. 여러분이 한국사람이라는 것을 어떻게 증명할 수 있을까요?

      몰디브 (픽사베이)


      가장 쉽게는 여권번호를 보여줌으로써 증명이 가능할 수 있습니다.

      또는 연락처를 적거나, 주소를 적거나 이름을 적어서 증명할 수 도 있겠습니다.하지만 이런 정보들을 공개하는 것이 기록으로 남아서 불편하거나, 불안하지는 않으신가요?


      그래서 하나의 묘수를 생각했습니다. 경비에게 한국인이면 당연히 알 수 밖에 없는 질문을 던집니다. 동영상 처럼요 그렇게 해서 질문을 여러번 많이 했는데도..

      그 자리에서 다 맞춰 버리면, 한국사람 맞습니다. 대통령을 말해 보세요, 애국가를 불러보세요, ㅇㅈ 의 뜻은? 다음 중 가장 화가 나는 그림은? 등등


      증명자는 그 어떤 개인정보를 알려줄 필요도 없고, 검증자는 그 누구나 검증을 할 수 있습니다.

      이 영지식 증명은 3가지 특성이 있습니다.

      1. 완전성 (completeness) : 계속 해서 반복해서 물어봤는데도, 항상 정답을 이야기 한다면, 증명자의 주장은 참이다.

      2. 건전성 (soundness) : 가짜는 계속해서 맞추는 것이 100% 불가능하다.

      3. 영지식성 (zero-knowledge) : 검증자는 참, 거짓 이외에는 아무것도 알 수 없다.

      이런 논리이기 때문에, 우리나라에 태어나서 계속해서 큰 조나단은 한국사람을 되겠지만 콩고사람은 될 수 없을 겁니다.

      미국에서 20년을 살고 한국에 막 들어온 사람은 한국사람이라고 인정될 수 없을 겁니다.


      전 매우 흥미로웠는데.. 어떠신가요? ^^


      그런데 1985년의 영지식 증명을 그대로 사용하기 위해서는 큰 비용이 발생했습니다.

      첫째는 우선 증명자와 검증자가 페어가 되어야 하는 것 입니다.

      항상 연결이 되어야 한다는 것으로 큰 비효율이 발생합니다.두번째는 새로운 질문지를 매번 만들어야 합니다. 같은 질문지를 계속해서 사용한면 안될 거구요


      그래서 1988년 Noninteractive_Zero-Knowkedge.pdf 논문이 발표되었습니다.

      이 논문이 현재의 ZKP 의 근간이 많이 되었다고 합니다.


      이 논문의 핵심 내용은

      신뢰할 수 있는 기관을 통해서 발행된 증명자와 검증자 사이에 공유된 키 (무작위 문자열)이 있다는 것을 전제로 합니다.

      그리고 질문에 대한 답이나 또는 증명할 수 있는 비밀 키, 패스워드 와 같은 다양한 형태의 정보를 수학적 알고리즘을

      적용, 암호화 하여 전달합니다. 검증자는 알고리즘을 검증을 통해 비밀정보를 알고 있는지를 확인합니다.

      공유된 키와 검증 알고리즘을 통해서 누구나 검증을 할 수 있습니다.


      쉽게 설명해 보자면 증명자는 내가 한국사람이 맞다는 증명을 하기 위해서 “역대 대통령이름 앞글자+ 보물1호 앞글자+ 내가쓰는메신저앞글자”를 가지고

      수학적 연산을 적용하여 나온 값“대한~” 이라는 값을 암호화해 “0x777jdjdj” 암호화값과 키를 제공합니다.

      수신자는 키로 복호화 하고, 수학적 방법으로 입력한 값의 특정 수식을 만족하는지 를 파악 했더니 "민국짝짝짝!짝짝"의 결과가 나왔습니다.

      두 개의 수를 합치니 "대한~민국짝짝짝!짝짝" 이 나왔고 이를 가지고, 한국 사람임을 알 수가 있게 됩니다. 쉬운게 맞는지 모르겠네요.. 쓰다보니 더 어렵기도..


      그래서 해당 방법은 대화가 필요 없습니다. 그냥 내가 맞는지만 계속 보내면 되고, 그 누가 와서도 맞춰보면 바로 알수 있는 장점이 있습니다.

      이것은 보안성과 효율성을 높이고 다른 참여자들이 검증을 수행할 수 있는 유용한 기능을 제공합니다.


      영지식 증명의 대표적인 알고리즘은 ZK-SNARKs , ZK-STARKs 등이 있습니다.


      이러한 영지식 증명을 이용한 대표적인 예로는 바로 "코인" 이 있습니다.

      Z-cash나 Monero 입니다. 송신자/수신자 주소, 자산 종류, 수량, 거래 시간 등의 거래 세부 정보를 보호합니다. 이러한 익명성 때문에 국내 거래소에서는 퇴출 당해 버렸습니다.


      그리고이더리움의 ZK롤업과 Validium 입니다.

      ZK롤업은 이더리움의 성능확장을 위해서 만들어진 것인데

      메인넷에서 트랜잭션을 처리하기에는 너무 부하가 크기 때문에,외부체인에서도 트랜잭션을 처리하고 그결과를 메인넷에 반영을 하게 되는데이때 ZK롤업은 처리한 트랜잭션들을 하나로 묶고,

      이 묶음들이 사기인지 여부를 탐지하기 위해서 ZKP를 사용하여 검증하고 메인넷에 반영합니다.

      Validium 은 검증만 하고, 실제 트랜잭션을 메인넷에 반영하지 않고 외부체인에 그대로 두는 형태 입니다.


      그리고 최근에 MPC 월렛이 나왔습니다.

      나의 인증정보를 증명자 N명과 쪼개어 가지고 있습니다. 검증자들도 쪼개어 가지고 있습니다.

      N명의 정확한 사람들이 키를 제출하면, 복호화 하여 검증자 측에서 검증을해서 인증을 해주는 방식으로

      해커가 한명만 해킹한다고 지갑을 탈취할 수 없는.. 아주 강력한 보안의 방식의 월렛입니다.


      그 외에도 많이 사용이 되는데요

      어떠신가요? 아주 좋아 보이죠.. 단점도 있습니다.

      우선 매우 고난이도 잘 설계된 알고리즘이 필요하다 알고리즘 자체에 문제가 있으면, 제대로된 증명을 할 수가 없습니다. 그리고 굉장히 많은 비용이 발생한다 입니다.

      이더리움의 경우는 영지식 증명을 위한 가스량으로는 (500,000 가스) 의 연산량이 든다고 합니다.

      그리고.. 양자컴퓨터에 대한 위협들 ...마지막으로 속도나 성능이 상대적으로 느리다 가 될 것 같습니다.

      그래서 모든 서비스에서 아닌 경우가 아닌 시크릿한 정보에 대해서 적용해 볼만한 내용이라고 생각됩니다.


      마지막으로 한줄로 요약을 하자면
      영지식 증명은 나나나 오야쉐 다

      그리고 예전에 어느분이 하신 말씀입니다.
      블록체인으로 DeepFake 를 막을 수 있을까요? 라는 질문이 있었는데요
      여러분의 생각은 어떠신가요?

      댓글 0

      DEVOTEE를 활성화 시키면
      지금 작성한 댓글에 AI가 댓글을 달아줍니다.

      마법거북이 님의 최신 블로그

      더보기
      동영상 기고하기