XODE 센티넬
Gene Son ·
자동화된 판정을 만드는 것은 쉽습니다. 하지만 이후 정확히 무슨 일이 있었는지를 증명하는 것은 더 어렵습니다. XODE Sentinel은 모든 판정에 암호화된 영수증을 생성하고, 그 증명을 체인에 기록하며, 운영자를 단순히 신뢰하지 않고도 사용자가 기록을 직접 검증할 수 있도록 합니다.
Sentinel이 답하는 질문
자동화된 시스템이 보상을 거절하거나, 계정을 차단하거나, 정책을 적용했을 때 사용자가 할 수 있는 선택은 보통 하나뿐입니다. 시스템의 설명을 믿는 것입니다.
Sentinel은 이러한 관계를 바꿉니다. 사용자에게 내부 로그를 믿으라고 요구하는 대신, 독립적으로 확인할 수 있는 기록을 제공합니다.
기존 모델
운영자를 신뢰
운영자가 판정을 내리고, 증거를 보관하며, 그 증거를 설명합니다. 사용자는 모든 단계에서 같은 주체를 신뢰해야 합니다.
SENTINEL 모델
증거를 직접 검증
판정은 암호화된 영수증으로 만들어지고 XODE에 기록되므로 과거의 기록을 독립적으로 검증할 수 있습니다.
10월 1일 사례
2026년 10월 1일, Omni는 쿨다운 때문에 광고 보상 166건을, 일일 한도 때문에 37건을 거절했습니다.
사용자들은 광고를 끝까지 시청했고, Google은 시청을 확인했으며 수익도 발생했습니다. 중요한 질문은 정확히 어떤 판정이 내려졌는지, 그리고 그 기록이 나중에 변경될 수 있는지를 어떻게 증명할 것인가였습니다.
증거를 믿으라고 요구하는 당사자가 그 증거를 독점적으로 통제해서는 안 됩니다.
Sentinel의 작동 방식
모든 자동 판정에는 지문이 부여됩니다. 지갑, 결과, 사유, 정책, 시각을 결정론적인 기록으로 정규화한 다음 암호화 해시로 변환합니다.
이 지문들은 시간당 하나의 머클 트리로 모입니다. 트리는 하나의 루트를 만들며, 지문 하나만 변경되어도 결과 루트가 달라집니다.
그런 다음 해당 루트를 System.remark_with_event를 사용해 XODE에 제출합니다. 이 시점부터 운영자가 과거의 기록을 단순히 다시 작성할 수 없습니다.
01
판정에 지문 부여
지갑, 결과, 사유, 정책, 시각을 하나의 결정론적 기록으로 정규화하고 암호화 지문을 생성합니다.
02
시간당 머클 루트 생성
개별 지문을 머클 트리로 결합합니다. 지문 하나라도 변경되면 결과 루트도 변경됩니다.
03
루트를 XODE에 기록
루트를 XODE에 제출합니다. 공개 체인은 과거 기록에 대한 외부적인 증명 역할을 합니다.
닫힌 시간 구간만 제출합니다. 열린 시간 구간은 늦게 도착한 판정으로 인해 나중에 무효화될 수 있습니다. 여전히 다시 작성할 수 있는 제출은 아무것도 증명하지 못합니다.
사용자는 우리 없이 검증할 수 있습니다
사용자는 영수증과 검증 스크립트를 받아 자신의 컴퓨터에서 직접 실행할 수 있습니다.
스크립트는 표준 라이브러리와 공개 RPC 데이터만 사용합니다. 검증이 유효한지 XODE 애플리케이션 서버에 묻지 않습니다.
검증 과정은 두 가지 질문에 답합니다.
01
사용자 이의 제기
사용자가 광고를 완료했지만 보상을 받지 못했다고 신고합니다.
02
지원팀 조회
지원팀이 관리자 조회 기능을 사용해 해당 영수증을 찾습니다.
03
영수증 전달
영수증과 독립적인 검증 스크립트를 사용자에게 제공합니다.
04
로컬에서 실행
사용자가 표준 라이브러리를 사용해 자신의 컴퓨터에서 검증기를 실행합니다.
로컬 계산
기록이 해당 루트에 속하는가?
검증기가 로컬에서 증명을 재구성하고 사용자의 기록이 기록된 머클 루트에 포함되는지 확인합니다.
공개 RPC
해당 루트가 체인에 존재하는가?
검증기가 공개 RPC 데이터를 확인하여 정확한 루트가 XODE 블록체인에 존재하는지 확인합니다.
두 검증이 모두 통과하면 해당 판정은 그대로 기록되어 있으며, 그 기록이 존재한다는 사실은 체인에 공개적으로 기록되어 있습니다.
지원팀은 판정을 설명하는 대신 증거를 제공할 수 있습니다. 검증은 사용자의 컴퓨터에서 실행되며, 우리 서버는 그 계산에 참여하지 않습니다.
사후 조작은 즉시 탐지됩니다
거절을 승인으로 변경하거나, 사유, 시각, 대상 지갑, 정책 또는 증거를 수정하면 검증에 실패합니다.
테스트에서는 10개의 필드를 각각 변경했으며, 10개의 변경 모두 탐지되었습니다.
원본
영수증이 루트와 일치
원래의 판정은 커밋된 머클 루트에 포함된 지문을 생성합니다.
변조됨
영수증이 더 이상 일치하지 않음
보호된 필드를 변경하면 다른 지문이 생성되고 검증이 실패합니다.
기록이 변경된다면 그 증명도 함께 변경되어야 합니다.
"그 당시 어떤 규칙이 적용되었는가?"도 기록됩니다
모든 기록에는 정책 해시가 포함됩니다. 이는 사람이 수동으로 관리하는 버전 번호가 아닙니다.
해시는 판정이 발생한 당시 실제로 활성화되어 있던 설정값을 기반으로 자동 계산됩니다.
예: 일일 60회 · 180초 쿨다운 · 월간 200/50 한도.
나중에 한도가 변경되면 정책 해시도 변경됩니다. 따라서 사용자가 거절될 당시 적용되었던 규칙을 나중에 숨길 수 없습니다.
수동 버전 번호는 의도적으로 사용하지 않습니다. 누군가 업데이트를 잊은 버전 번호는 없는 것보다 더 나쁩니다. 실제 시스템이 어떤 설정을 사용했는지에 대한 잘못된 주장이 될 수 있기 때문입니다.
Sentinel이 아닌 것
해킹을 막지는 않습니다. 체인이 AI를 해킹할 수 없게 만드는 것은 아닙니다. 프롬프트 인젝션도 막지 않습니다. 이러한 보호 기능은 인앱 AI에 별도로 구축된 하드 가드레일이 담당합니다.
판정이 옳았다는 것을 증명하지도 않습니다. Sentinel이 증명하는 것은 기록이 변경되지 않았다는 사실입니다. 정책 해시도 함께 기록되기 때문에 규칙 자체는 별도로 감사할 수 있습니다.
이 두 가지 주장은 반드시 구분해야 합니다. 변경할 수 없는 판정이라고 해서 자동으로 올바른 판정인 것은 아닙니다.
검증기는 SCALE 디코딩을 수행하지 않습니다. 추가 라이브러리 없이 실행할 수 있도록 하는 대신 블록에서 루트 바이트를 직접 찾습니다.
더 엄격한 검증을 원하는 사람은 substrate-interface 또는 블록 익스플로러를 사용해 같은 블록을 확인하고 동일한 바이트를 찾을 수 있습니다.
어떤 가치를 제공하는가?
영역 현재 Sentinel 이후 보상 분쟁 "저희 로그를 믿어주세요." "직접 확인하세요." — 영수증 + 검증기 제공 규제기관 대응 자동 판정에 대한 감사 추적 없음 과거 판정을 변경할 수 없는 기록으로 제시 가능 파밍 제재 왜 사용자가 차단되었는지 설명 제재 판정에 검증 가능한 증거 제공 기업 신뢰 내부 로그가 유일한 기록 누구나 확인할 수 있는 공개 체인 기록
필리핀 SEC 및 BSP 환경에서는 자동화된 판정에 감사 추적이 존재하는지가 하나의 질문이 될 수 있습니다.
그러한 시스템 없이 질문에 답하는 것과 이미 실제로 작동하는 시스템을 보여주는 것에는 차이가 있습니다.
확장 경로
Sentinel은 현재 분쟁이 가장 많이 발생하는 광고 보상 판정부터 시작합니다.
같은 구조는 레코드의 kind 필드를 변경하여 파밍 플래그, 기기 검증 결과, AI 어시스턴트 응답까지 확장할 수 있습니다.
AI 응답을 기록할 때는 어떤 모델이 응답을 생성했는지와 어떤 정책 텍스트가 그 응답을 지배했는지도 보존할 수 있습니다.
01
광고 보상
보상 승인과 거절의 근거가 되는 사유와 정책을 보존합니다.
02
파밍 제재
자동화된 파밍 및 악용 판정에 대한 검증 가능한 증거를 생성합니다.
03
기기 검증
기기 신원 및 검증 결과를 보존합니다.
04
AI 응답
어떤 모델이 응답했으며 어떤 정책이 AI 응답을 결정했는지 기록합니다.
현재 상태
수집기는 현재 프로덕션에서 가동 중입니다. 새로운 보상 판정은 발생하는 대로 원장에 추가되고 있으며, 보상 로직 자체는 변경되지 않았습니다.
구성 요소 상태 판정 수집기 라이브 — 실제 광고 보상 판정 기록 중 정규화 · 머클 트리 · 증명 테스트 41/41 통과 독립 검증기 테스트 19/19 통과 시간당 제출 타이머 · 공개 영수증 API 배포 대기 온체인 제출 제출 계정 충전 대기
60개의 테스트 중 가장 중요한 것은 라운드트립 테스트가 아니라 변조 탐지입니다.
거절을 승인으로 변경하고, 사유, 정책, 시각, 대상 지갑을 조작하고, 증거를 교체하고, 스키마를 다운그레이드하는 경우를 테스트했습니다.
또 하나의 테스트가 중요합니다: 수집기와 독립 검증기가 동일한 정규화 바이트를 생성하는가?
두 시스템의 결과가 다르면 이미 발급된 모든 영수증을 검증할 수 없게 될 수 있습니다. 이것은 시스템에서 발생할 수 있는 가장 심각한 실패 중 하나이기 때문에 직접 테스트하고 있습니다.
더 큰 의미
Sentinel은 사용자가 자동화된 시스템을 더 많이 신뢰하도록 만드는 것이 목적이 아닙니다. 불필요한 신뢰가 덜 중요해지도록 만드는 것이 목적입니다.
모든 판정은 지문이 됩니다. 지문은 머클 루트가 됩니다. 루트는 온체인 커밋먼트가 됩니다. 그리고 사용자는 결과를 독립적으로 검증할 방법을 받게 됩니다.
사용자에게 기록을 믿으라고 하지 마세요. 영수증과 증명, 그리고 체인을 제공하세요.