Relic Protocol
이더리움 상의 과거 데이터를 영지식 증명을 통해 탈중앙화된 방식으로 검증하는 세계 최초의 프로토콜
23
0 팔로워
소개
안녕하세요. 디스콰이엇 커뮤니티 여러분 👋
세상을 더 안전하게 만드는 화이트햇 해커들이 모여있는 사이버보안 스타트업 티오리입니다.
BUIDL 하시는 여러분 모두에게 web3 생태계를 더욱 안전하게 만들기 위한 Relic Protocol을 소개하고자 달려왔습니다 🏃♂️
👉 Relic Protocol이 뭐예요?
Relic Protocol은 이더리움 상의 과거 데이터를 영지식 증명을 통해 탈중앙화된 방식으로 검증하는 세계 최초의 프로토콜입니다. 누구나 Relic Protocol SDK를 통해 쉽게 사용하실 수 있어요.
👉 왜 필요해요?
이더리움의 한계로 인해, 스마트 컨트랙트가 이더리움의 과거 데이터에 접근하는 과정은 다소 중앙화 되어 있습니다. 체인 상에서 256개 블럭 이전의 데이터에 접근하기 위해서는 오프체인의 도움이 필요했습니다.
이러한 한계점을 극복하기 위해 ‘Relic Protocol’은 영지식 증명을 활용하여 체인 상의 데이터를 탈중앙화된 방식으로 입증 및 검증합니다. Relic Protocol을 통해 스마트 컨트랙트는 중앙화된 서드파티에 대한 의존 없이 과거 데이터를 이용할 수 있습니다. 이에 따라 빌더들이 더욱 다양한 dApp을 개발할 수 있게 되었습니다.
👉 어떻게 쓸 수 있어요?
Web3 개발자들이 Relic Protocol을 지금 바로 이용할 수 있도록 Solidity SDK와 Client SDK를 공개해두었어요! https://github.com/Relic-Protocol/relic-sdk
👉 더 알고 싶어요!
- Docs: https://docs.relicprotocol.com/
- Medium: https://relicprotocol.medium.com/
- Twitter: https://twitter.com/RelicProtocol
- Github: https://github.com/Relic-Protocol
Let’s BUIDL🔧🔧🔧
포스트
아직 포스트가 없습니다.
댓글
로그인 후 댓글을 남길 수 있습니다.
안녕하세요. Relic Protocol의 소프트웨어 엔지니어, 베타입니다. 우선 저희 프로토콜에 관심을 가져주셔서 감사합니다 😃 저희는 여러 영지식 증명 시스템 중에서 zk-SNARKs를 쓰고 있는데요, zk-SNARKs는 Prover와 Verifier 로 이루어진 증명 시스템입니다. - Prover는 '특정 데이터가 올바름'을 증명할 수 있는 'Proof'를 생성하고, - Verifier는 'Proof'를 통해 특정 데이터 없이 'Prover의 특정 데이터가 올바름'을 증명할 수 있습니다. 이 특성을 이용하여 저희는 ‘블록 데이터가 올바름’을 증명할 수 있는 Prover와 Verifier를 구현하였고, 이 중 Verifier를 체인 상에 배포하였습니다. 이를 통해 스마트 컨트랙트들은 특정 서드파티에 의존하지 않고 탈중앙화된 방식으로 데이터를 검증할 수 있게 되었죠. 하지만 해당 로직들을 체인 상에 구현하기 위해서는 최적화가 필요했습니다. 그래서 저희는 더 나아가서, UltraPLONK 등 최적화를 위한 기술들을 적용하여 이더리움 네트워크 상에서 영지식 증명을 가능하게 만들었습니다. 더 자세한 사항은 저희 블로그를 참고해보시면 좋을 것 같습니다! - 관련 포스트: https://relicprotocol.medium.com/building-relic-7454eeda3dbe 더 궁금하신 부분이 있으시면 언제든 문의 주세요 😀 읽어주셔서 감사드립니다. 좋은 하루 보내세요 :)
역시 이 분야는, 특히 보안 분야는 어렵네요 ㅠㅠ 어떤 경우에 과거 블록데이터의 확인이 필요할까요? 이더리움 합의 알고리즘 완결성에 일말의 오류나 사고가 발생할 가능성 같은 건가요? 그리고 ZKP가 DID같은 분야에 활용되는 건 이해가 되는데, ZK롤업이나 Relic같은 경우에 활용되는 이유도... 효과도... 쉽게 설명해 주실 수 있을까요?
안녕하세요. Relic Protocol 입니다. 좋은 질문 남겨주셔서 감사드립니다 🙌 1. 어떤 경우에 과거 블록 데이터의 확인이 필요할까요? 많은 dApp들은 과거 데이터의 증명을 필요로 하는데, 2가지 예시로 설명드리겠습니다. a. DeFi 같은 경우 과거 데이터 검증을 통해 부정 거래를 방지할 수 있습니다. 대부분의 부정 거래는 신생 계정이나 특정 컨트랙트와의 접점이 있었던 계정으로부터 발생하는데, 이를 확인하기 위해서는 과거 데이터에 대한 검증이 필요합니다. 즉, DeFi 서비스들은 Relic Protocol을 통해 특정 계정의 평판도를 평가할 수 있고, 이를 통해 거래소를 안전하게 운영할 수 있는 것이죠. b. 또한, 과거 데이터 검증을 통해 탈중앙화된 방식으로 airdrop을 진행할 수 있습니다. 체인 상의 데이터에 따라 airdrop을 진행할 경우, 기존에는 오프체인에서 화이트리스트를 생성하여 체인 상에 업로드하는 다소 중앙화된 과정이 필요했습니다. 하지만 체인 상에서 컨트랙트가 과거 데이터를 검증할 수 있게 된다면, 오프체인에서 화이트리스트를 생성하는 과정이 필요하지 않기 때문에 탈중앙화된 방식으로 airdrop을 진행할 수 있습니다. 앞으로 더 많은 dApp들이 Relic Protocol을 통해 체인 상에서 과거 데이터를 검증하는, 탈중앙화된 Web3 생태계를 이끌어 나갈 수 있기를 희망합니다 🙏 2. ZKP가 DID같은 분야에 활용되는 건 이해가 되는데, ZKP가 ZK 롤업이나 Relic 같은 경우에 활용되는 이유와 효과는 무엇인가요? ZKP가 DID 같은 분야에 활용되는 것을 이해하셨다는 것은, ZKP를 통해 개인정보를 숨길 수 있음을 이미 이해하고 있는 것으로 생각됩니다. 하지만, 개인 정보를 숨기는 것은 ZKP의 수많은 응용 중 하나입니다. ZKP를 통해 어떤 형태의 정보라도 숨길 수 있거든요 :) ZK 롤업과 Relic Protocol에서는 바로 이 특성을 이용합니다. ZK 롤업 같은 경우 수많은 트랜잭션들을 ZKP를 통해 숨겨 온체인에서 이를 검증할 수 있게 만든 것이며, Relic Protocol의 경우 검증에 필요한 수많은 블록 데이터들을 ZKP를 통해 숨겨 온체인에서 이를 검증할 수 있게 만든 것입니다. 즉, 온체인에 수많은 트랜잭션 데이터나 블록 데이터를 업로드하지 않고도 해당 데이터를 검증할 수 있고, 이를 통해 시간과 비용을 아낄 수 있는 것이지요. 더 궁금한 사항이 있으시다면 저희 블로그를 참고해주세요! 관련 포스트: https://relicprotocol.medium.com/scaling-relic-protocol-with-zk-snarks-7c5c319c8e9f 읽어주셔서 감사합니다. 좋은 하루 되세요 ;)
무식한 질문에 이렇게 친절한 답변을... 감동입니다~ 다섯번쯤 읽어 보니 이해가 조금 되기도 하고 약간 더 나아간 궁금증도 생기는군요. 1.a. 사실 부정 거래가 어떻게 발생하는지 몰라 드리는 질문일 수 있으나... 신생 계정 등 과거 데이터가 없는 경우 실효성이 없는 건 아닌가요? 2. 잘 이해하지 못했지만 결국 핵심은 zk-snarks가 성능은 훌륭하면서도 온체인에 담아도 부담되지 않을 만큼 데이터양은 작기 때문이라고 이해하면 대략 맞는 표현일까요?
안녕하세요. Relic Protocol입니다. 답변 꼼꼼히 읽어주셔서 감사드립니다 🙌 1. 사실 부정 거래가 어떻게 발생하는지 몰라 드리는 질문일 수 있으나... 신생 계정 등 과거 데이터가 없는 경우 실효성이 없는 건 아닌가요? Relic Protocol에서는 이미 존재하는 과거 데이터를 사용하여 검증을 진행하고 있고, 말씀하신 대로 과거 데이터가 없는 경우 실효성이 떨어지는 것이 사실입니다. 부정 거래 방지의 경우 과거 데이터가 존재할 경우 유의미하게 쓰일 수 있는 일부 예시라고 봐주시면 될 거 같습니다! 2. zk-SNARKs가 성능은 훌륭하면서도 온체인에 담아도 부담되지 않을 만큼 데이터양은 작기 때문이라고 이해하면 대략 맞는 표현일까요? 네, zk-SNARKs가 생성하는 proof의 크기가 온체인에서 처리할 수 있을 정도로 충분히 작고, 이 때문에 Relic Protocol에서 zk-SNARKs를 이용합니다. 다만 이더리움 네트워크에서 처리하기에 버거운 연산을 동반하기도 하여 Relic Protocol은 zk-SNARKs를 최적화시켜서 체인 상에서 과거 데이터의 검증을 가능하게 만들었습니다. 감사합니다. :)