๐ฐ๐ช ์ผ๋ ๊ฐ๋ฐ์๋ค: AI ์์ด๋ดํฐํฐ ํ์ค์ Huduma Namba / National ID ์ถ๊ฐ โ Soulprint ์คํ ์์ค (30๋ถ PR)
Source: Dev.to
๊ฐ์
AI ์์ด์ ํธ๋ ๋งค์ผ ์ฐ๋ฆฌ๋ฅผ ๋์ ํด ๊ตฌ๋งค, ์ด๋ฉ์ผ ์ ์ก, ๋ฌธ์ ์๋ช ๋ฑ ๊ฒฐ์ ์ ๋ด๋ฆฝ๋๋คโํ์ง๋ง ์ค์ ์ธ๊ฐ์ด ๋ค์ ์๋ค๋ ๋ณด์ฅ์ ์์ต๋๋ค. Soulprint๋ ZeroโKnowledge Proofs๋ฅผ ์ฌ์ฉํด 100โฏ% ๋๋ฐ์ด์ค์์ ์คํ๋๋ฉฐ, ์คํ ์์ค(MIT)์ด๊ณ ๋ฌด๋ฃ๋ก ์ฌ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ผ๋ก ์ด๋ฅผ ํด๊ฒฐํฉ๋๋ค.
์ผ๋์ Huduma Namba / National ID๋ ์์ง Soulprint์์ ์ง์๋์ง ์์ต๋๋ค. ๋จ์ผ ํ ๋ฆฌํ์คํธ๋ง์ผ๋ก ์ฝโฏ30โฏ๋ถ ์์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
Soulprint์ Huduma Namba / National ID ์ถ๊ฐํ๊ธฐ
-
๋ก์ปฌ์์ ๊ฒ์ฆ
npx soulprint verify-me # ID ์ค์บ + ์ผ๊ตด ๋งค์นญ โ ๋ชจ๋ ๋ก์ปฌ # โ SPT ํ ํฐ (์ ์ 0โ100) -
๋ชจ๋ AIโ์์ด์ ํธ ์์ฒญ์ ํ ํฐ ํฌํจ
X-Soulprint: eyJ... (score: 84) -
์๋ฒ์์ ํ ํฐ ๊ฒ์ฆ (์ฝ๋ 3์ค)
import { requireSoulprint } from "soulprint-mcp"; server.tool( "premium", requireSoulprint({ minScore: 80 }), handler );
ZKโProof ์์ธ ์ ๋ณด
- ํ๋ก: Circomโฏ2.1.8
- ์ฆ๋ช ์์คํ : Groth16
- ์ ์ฝ ์กฐ๊ฑด: 844
- ์ฆ๋ช ์๊ฐ: 564โฏms
- ๊ฒ์ฆ ์๊ฐ: 25โฏms
National ID์ Huduma Namba ๋ชจ๋ 8์๋ฆฌ ์ซ์๋ก ๊ตฌ์ฑ๋ฉ๋๋ค(์ฌ๊ถ ๋ฒํธ๋ 9์๋ฆฌ ์๋ฌธยท์ซ์ ์กฐํฉ).
์ผ๋ ๊ตญ๊ฐ ๊ฒ์ฆ๊ธฐ (TypeScript)
// packages/verify-local/src/document/countries/KE.ts
import {
CountryVerifier,
DocumentResult,
NumberValidation,
} from "../verifier.interface";
const KE: CountryVerifier = {
countryCode: "KE",
countryName: "Kenya",
documentTypes: ["national_id", "huduma"],
parse(ocrText: string): DocumentResult {
// Huduma Namba / National ID format: 8 digits
const doc_number = ocrText.match(/(\d{8})/)?.[1] ?? "";
return { valid: !!doc_number, doc_number, country: "KE" };
},
validate(docNumber: string): NumberValidation {
// exactly 8 digits
return { valid: /^\d{8}$/.test(docNumber) };
},
};
export default KE;
๊ฒ์ฆ๊ธฐ ๋ฑ๋กํ๊ธฐ
์ผ๋ ๊ฒ์ฆ๊ธฐ๋ฅผ ๋ ์ง์คํธ๋ฆฌ์ ์ถ๊ฐํฉ๋๋ค:
// registry.ts
import KE from "./countries/KE";
// add to registry map
const registry = {
// ...other countries
"KE": KE,
};
๊ธฐ์ฌํ๊ธฐ
- PR ์ด๊ธฐ โ ๊ทํ์ ๊ตญ๊ฐ๊ฐ ์ ์ธ๊ณ AI ์ ์ ํ์ค์ ์ฐธ์ฌํฉ๋๋ค.
- ์๊ตฌ git ํฌ๋ ๋ง โ ํ๋ก์ ํธ ํ์คํ ๋ฆฌ์ ์์ํ ๊ธฐ๋ก๋ฉ๋๋ค.
- ํ์ค์ํ ์ ์ โ ๋น ํ ํฌ ๊ฒ์ดํธํคํผ๊ฐ ์์ต๋๋ค.
- ๋น ๋ฅธ ์ฒ๋ฆฌ โ ๋ถ๋ถ ๊ตฌํ์ ์ฝโฏ30โฏ๋ถ, ์ ์ฒด MRZ ์ง์์ 2โ3โฏ์๊ฐ ์์.
- ๐โฏWebsite:
- ๐ปโฏGitHub repository: (fork and submit a PR)
- ๐โฏContributing guide: ์ ์ฅ์์
CONTRIBUTING.md๋ฅผ ์ฐธ์กฐํ์ธ์.
ํ๋์ PR. ํ๋์ ๊ตญ๊ฐ. AI ์ ์์ ๋ฏธ๋๋ ์คํ์์ค์ ๋๋ค.