|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
데이터 유효성 검사
데이터 검증이란 무엇입니까?
데이터 검증은 데이터 세트를 사용하기 전에 정확성, 무결성 및 품질을 명확히 하는 프로세스입니다. 이는 특정 텍스트, 주소, 날짜 등과 같은 모든 형태의 데이터에 적용될 수 있습니다.
데이터는 모든 솔루션의 기초를 구성하며, 솔루션이 효과적이려면 데이터가 정확해야 한다는 것은 말할 필요도 없습니다. Web3에서는 개발자, 분석가 및 네트워크 참가자 모두 블록체인을 계속 유지하기 위해 데이터에 의존합니다. 이러한 플레이어의 경우 오류, 불일치, 사용자 위험 및 프로젝트 무결성에 대한 손상을 방지하려면 유효한 데이터를 사용하는 것이 중요합니다.
Web3의 타당성 필요성
유효한 데이터에 대한 간소화된 공개 액세스를 통해 Web3 공간의 많은 장애물을 해결할 수 있습니다. 하나는 블록체인이 확장됨에 따라 생성되는 데이터의 양이 너무 많아 전체 체인 상태를 유지할 수 있는 노드가 거의 없다는 것입니다. 이로 인해 많은 노드가 공유된 스냅샷에 의존하고 그것이 완전히 정확하고 최신 상태라고 신뢰하므로 오류의 여지가 남습니다.
이더리움은 전체 노드에 대한 인센티브를 제공하지 않고 이러한 상황에서 동일한 상황에 처해 있으며 이는 곧 체인의 기록 데이터에 대한 공용 리소스의 제한으로 이어질 것입니다. 전체 노드에 액세스하려면 사용자는 자신의 노드를 실행하거나 공개적으로 액세스할 수 있는 데이터에 액세스하기 위해 공급자에게 비용을 지불해야 합니다.
데이터 검증이 해결하는 또 다른 주요 문제는 오라클 문제입니다. 프로젝트가 오프체인 데이터를 소스로 하는 경우 결정론적 Web2 데이터에 대한 쉬운 액세스 지점을 제공하는 오라클이 꼭 필요한 도구입니다. 그러나 대량의 데이터를 온체인으로 가져오면 단일 실패 지점이 발생하게 됩니다.
오라클에는 일반적으로 진정한 분산형 검증 기능이 내장되어 있지 않다는 점을 고려하면 오라클이 제공하는 데이터가 사실이거나 아직 조작되지 않았다는 말은 없습니다. 공격자가 프로토콜을 직접 대상으로 삼는 대신 오라클에서 프로토콜이 제공하는 데이터를 대상으로 하는 경우가 발생할 수 있고 이미 자주 발생했습니다. 이는 공격자가 자신에게 유리하게 상황을 조작할 수 있는 전반적으로 더 쉬운 방법입니다.
이와 같은 악의적인 이벤트가 사라지면서 검증 솔루션이 등장하기 시작했습니다. 그러나 적절한 데이터 유효성 검사는 말처럼 쉽지 않습니다.
검증 문제와 비효율성
블록체인 내에서 그리고 블록체인 전체에서 기능을 실행하는 과정에서 각 데이터 조각을 검증하고 동기화해야 한다는 점을 고려할 때 데이터를 적절하게 검증하는 것은 보기보다 더 복잡합니다.
데이터 검증을 구현하는 가장 쉽고 일반적인 방법은 중앙 집중식 서버를 통해 단 하나의 엔터티가 데이터 조각의 정확성 여부를 결정하는 것입니다. 이는 빠른 성능을 촉진하는 데 도움이 되며 전 세계적으로 합의에 도달할 필요가 없습니다. 그러나 중앙화는 오류와 악의적인 행위자가 발생할 수 있는 상당한 격차를 남깁니다.
검증 프로세스가 중앙 집중화되어 있다면, 이는 다른 행위자가 주요 행위자의 작업이 올바른지 확인하고 확인할 수 있는 인센티브가 없다는 것을 의미합니다. 또한 이는 의사 결정을 완전히 제어하기 위해 해커가 인수해야 하는 행위자가 단 한 명뿐이라는 것을 의미하는 반면, 분산화를 사용하면 해커가 전체 의사 결정의 50% 이상을 인수해야 하므로 해킹 위험이 줄어듭니다. 노드 네트워크를 통해 제어권을 얻을 수 있으며 전반적으로 편향이나 검증 오류가 크게 줄어듭니다.
분산형 솔루션
Web3의 기본 원칙은 네트워크 사용자와 이해관계자에게 권한, 신뢰 및 기타 장점을 분배하는 분산화입니다. 작업은 지구 곳곳으로 이동해야 하기 때문에 100% 분산화는 약간의 시간 지연을 초래하지만, 데이터 검증에 있어서는 빛처럼 빠른 성능보다 분산화가 더 중요합니다.
일반적으로 데이터 조각이 유효한지 확인하려면 항상 일반적인 솔루션이 필요합니다. 즉, 개발자가 데이터 세트별로 사용자 정의 유효성 검사 방법을 만드는 것입니다. 그러나 부족한 것은 이러한 다양한 런타임을 관리하고 모든 데이터 세트가 적절하게 소싱되고 빠르고 효율적으로 검증되도록 보장하는 것입니다.
분산형 지분 증명(PoS) 데이터 레이크는 데이터 중계를 담당하는 코드(일명 런타임)를 실행하는 데이터 풀을 제공하여 이 문제를 해결할 수 있으며, 여기에는 검증 기능의 추상 구현도 포함됩니다. 해당 함수는 데이터가 유효한지 여부에 따라 단순히 true 또는 false를 반환합니다. 그런 다음 체인은 유효한 데이터, 유효하지 않은 데이터 또는 삭제된 데이터 묶음의 결과를 계산하고 유효한 데이터 번들만 추적하여 올바른 데이터에 대한 액세스만 제공합니다.
각 풀에는 노드 그룹이 있으며, 하나는 무작위로 선택되어 데이터 업로드를 담당하고 나머지는 해당 데이터가 유효한지 여부에 대한 투표를 담당합니다. 각 투표에는 노드가 보유한 토큰 수에 따라 가중치가 부여됩니다. 투표가 최종적으로 완료되면 다음 데이터 묶음을 업로드하는 책임은 무작위로 선택된 다른 노드로 전환됩니다. 이렇게 하면 중앙 집중화의 위험을 방지할 수 있습니다. 즉, 항상 데이터를 업로드하는 노드가 하나만 있는 경우 공격에 대한 위험 요소가 더 높아질 수 있습니다.
진정한 분산 검증을 보장하는 또 다른 핵심 요소는 PoS를 통한 인센티브화입니다. 각 데이터 풀은 데이터를 가져오고 업로드하고 검증하기 위해 노드에 의존하기 때문에 토큰 보상을 통해 좋은 행동을 장려하고 토큰 슬래싱을 통해 나쁜 행동이나 오류를 처벌하는 것이 중요합니다.
Web3의 데이터 인프라와 무결성은 확장 가능하고 신뢰할 수 없는 미래를 보장하기 위해 진정으로 유효한 데이터의 사용에 크게 의존합니다. 시간이 지남에 따라 특히 Web3에서 데이터 유효성 검사가 얼마나 중요한지 인식하는 프로젝트가 늘어나면서 데이터 유효성을 검사하는 동안 고려해야 할 측면이 더 많아질 것입니다. 우리가 할 수 있는 최선은 계속해서 해당 주제를 중심으로 구축하고 교육하는 것입니다.
저자 : Fabian Riewe, Web3 데이터 레이크 솔루션인 KYVE의 공동 창립자이자 CEO.
Fabian은 지역 교육 기술 스타트업의 기술 리더로 그의 여정을 시작했습니다. 2019년 해커톤에서 그는 Web3에 매료되기 시작했고, 6개월 후 Arweave 생태계에서 큰 채택을 보인 온체인 KYC 시스템인 ArVerify라는 첫 번째 성공적인 프로젝트를 설립했습니다. 2021년 직후 그는 John Letey와 함께 분산형 Web3 데이터 레이크인 KYVE를 공동 창립했습니다.
병목
병목 현상은 용량이 제한되어 정체가 발생하고 전반적인 성능이 저하되는 지점을 의미합니다. |
zk오라클
zkOracles는 영지식 증명(ZKP)을 보안, 개인 정보 보호 및 비용 효율성의 강력한 표준을 유지하면서 데이터가 자유롭게 통과할 수 있는 무신뢰 매체로 활용합니다. |
추상화 확장성
추상화 확장성은 새로운 개발 환경에서 프로그래밍 구성 요소를 빌딩 블록으로 사용할 수 있도록 하는 시스템의 전반적인 기능 확장입니다. |
솔라나 가상 머신(SVM)
솔라나 가상 머신(SVM)은 초당 수천 건의 트랜잭션을 처리하는 솔라나의 능력을 강화하는 시스템입니다. |
프로그래밍 가능한 개인 정보 보호
프로그래밍 가능한 개인 정보 보호는 분산 애플리케이션(dApp)의 데이터 보호를 재정의하여 사용자와 개발자가 개인 정보 보호 설정을 개인화할 수 있는 유연한 개념을 제공합니다. |
단순 원장 프로토콜(SLP)
SLP(Simple Ledger Protocol)는 비트코인 캐시를 기반으로 작동하는 토큰 시스템입니다. 이를 통해 사용자는 자신이 꿈꾸는 모든 것을 나타내는 자신만의 토큰을 만들 수 있습니다. |