--- id: model-hashing title: "Model Hashing" category: "10_Wiki/Topics" status: "draft" verification_status: "conceptual" canonical_id: "" aliases: ["SHA-256 Model Identification"] duplicate_of: "" source_trust_level: "B" confidence_score: 0.85 created_at: 2026-05-19 updated_at: 2026-05-19 review_reason: "" merge_history: [] tags: ["research", "Comfyui workflow json 생성 방법", "portability", "serialization"] raw_sources: ["NotebookLM Synthesis"] applied_in: ["comfy-pack", ".cpack.zip"] github_commit: "" --- # [[Model Hashing]] ## 🎯 ν•œ 쀄 톡찰 (One-line insight) λͺ¨λΈ κ°€μ€‘μΉ˜μ˜ κ³ μœ ν•œ λ””μ§€ν„Έ μ§€λ¬Έ(SHA-256)을 μƒμ„±ν•˜μ—¬ 파일λͺ…μ΄λ‚˜ 경둜의 λΆˆμΌμΉ˜μ— 관계없이 μ›Œν¬ν”Œλ‘œμš°μ˜ 이식성과 μž¬ν˜„μ„±μ„ 보μž₯ν•˜λŠ” 핡심 기술 [1]. ## 🧠 핡심 κ°œλ… (Core concepts) 1. **SHA-256 기반 식별:** λͺ¨λΈ 파일의 κ°€μ€‘μΉ˜λ₯Ό ν•΄μ‹±ν•˜μ—¬ μ€‘λ³΅λ˜μ§€ μ•ŠλŠ” 고유 μ‹λ³„μžλ₯Ό 뢀여함 [1]. 2. **파일λͺ… 독립성 (Filename Independence):** μ„œλ‘œ λ‹€λ₯Έ μ‹œμŠ€ν…œμ—μ„œ λͺ¨λΈ 파일λͺ…이 λ‹€λ₯΄λ”라도(예: `sd_xl_base_v10` vs `sdxl_base`) 동일 λͺ¨λΈμž„을 인식 κ°€λŠ₯ν•˜κ²Œ 함 [1]. 3. **κ³ κΈ‰ 직렬화 (Advanced Serialization):** ν‘œμ€€ JSON 포맷을 λ„˜μ–΄ λͺ¨λΈ ν•΄μ‹œλ₯Ό ν¬ν•¨ν•œ μ•„ν‹°νŒ©νŠΈ μ€‘μ‹¬μ˜ μ›Œν¬ν”Œλ‘œμš° νŒ¨ν‚€μ§•μ„ μ§€ν–₯함 [1, 2]. 4. **μ˜μ‘΄μ„± 무결성:** μ›Œν¬ν”Œλ‘œμš° μ‹€ν–‰ μ‹œ ν•„μš”ν•œ μ •ν™•ν•œ λͺ¨λΈ 버전을 ν™•μΈν•˜μ—¬ "Model Not Found" 였λ₯˜λ₯Ό 근본적으둜 해결함 [1, 2]. ## 🧩 μΆ”μΆœλœ νŒ¨ν„΄ (Extracted patterns) - **μ½˜ν…μΈ  쀑심 μ°Έμ‘° νŒ¨ν„΄:** ν•˜λ“œμ½”λ”©λœ '파일 경둜' λŒ€μ‹  파일의 'λ‚΄μš©(Hash)'을 κΈ°μ€€μœΌλ‘œ λ¦¬μ†ŒμŠ€λ₯Ό μ‘°νšŒν•˜λŠ” μ°Έμ‘° μ „λž΅ [1]. - **μ›Œν¬μŠ€νŽ˜μ΄μŠ€ νŒ¨ν‚€μ§• νŒ¨ν„΄:** JSON μ›Œν¬ν”Œλ‘œμš°, λͺ¨λΈ ν•΄μ‹œ, μ»€μŠ€ν…€ λ…Έλ“œ 버전을 ν•˜λ‚˜μ˜ μ•„μΉ΄μ΄λΈŒ(`.cpack.zip`)둜 λ¬Άμ–΄ λ°°ν¬ν•˜λŠ” ν‘œμ€€ν™” νŒ¨ν„΄ [2]. ## πŸ“– μ„ΈλΆ€ λ‚΄μš© (Details) ComfyUI μ›Œν¬ν”Œλ‘œμš°μ˜ μ΄μ‹μ„±μ—μ„œ κ°€μž₯ 큰 μž₯μ• λ¬Ό 쀑 ν•˜λ‚˜λŠ” **λͺ¨λΈ 파일의 λͺ…λͺ… κ·œμΉ™κ³Ό 경둜의 뢈일치**이닀 [1]. μ œμž‘μžμ˜ μ»΄ν“¨ν„°μ—μ„œλŠ” `sd_xl_base_v10.safetensors`둜 μ €μž₯된 파일이 μ‚¬μš©μžμ˜ ν™˜κ²½μ—μ„œλŠ” `sdxl_base.safetensors`둜 μ‘΄μž¬ν•  수 있으며, 이 경우 ν‘œμ€€ JSON μ›Œν¬ν”Œλ‘œμš°λŠ” ν•΄λ‹Ή λͺ¨λΈμ„ μ°Ύμ§€ λͺ»ν•΄ 싀행에 μ‹€νŒ¨ν•œλ‹€ [1, 2]. 이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ `comfy-pack`κ³Ό 같은 κ³ κΈ‰ 직렬화 λ„κ΅¬λŠ” **SHA-256 ν•΄μ‹œ**λ₯Ό ν™œμš©ν•œλ‹€ [1]. μ›Œν¬ν”Œλ‘œμš° 생성 μ‹œ λͺ¨λΈ κ°€μ€‘μΉ˜μ˜ ν•΄μ‹œκ°’μ„ κ³„μ‚°ν•˜μ—¬ 메타데이터에 ν¬ν•¨μ‹œν‚€λ©΄, μ‹œμŠ€ν…œμ€ 파일λͺ… λŒ€μ‹  ν•΄μ‹œκ°’μ„ κ²€μƒ‰ν•˜μ—¬ 둜컬 μ €μž₯μ†Œμ—μ„œ μΌμΉ˜ν•˜λŠ” λͺ¨λΈμ„ μ°Ύμ•„λ‚Ό 수 μžˆλ‹€ [1]. 이 κΈ°μˆ μ€ λ‹¨μˆœν•œ 였λ₯˜ μˆ˜μ •μ„ λ„˜μ–΄, ν–₯ν›„ **μ›Œν¬μŠ€νŽ˜μ΄μŠ€ νŒ¨ν‚€μ§•**의 핡심 μš”μ†Œλ‘œ 자리 작고 μžˆλ‹€ [2]. `.cpack.zip` 포맷은 μ›Œν¬ν”Œλ‘œμš° JSONκ³Ό ν•¨κ»˜ λͺ¨λΈ ν•΄μ‹œ 정보λ₯Ό λ‹΄μ•„, κ°œλ³„ μ»€μŠ€ν…€ λ…Έλ“œκ°€ μ—…λ°μ΄νŠΈλ˜κ±°λ‚˜ μ‚­μ œλ˜λ”λΌλ„ 생성 μ‹œμ μ˜ 논리λ₯Ό κ·ΈλŒ€λ‘œ μž¬ν˜„ν•  수 μžˆλŠ” 'μ•„ν‹°νŒ©νŠΈ 기반 배포'λ₯Ό κ°€λŠ₯ν•˜κ²Œ ν•œλ‹€ [2]. ## βš–οΈ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & updates) - **ν‘œμ€€ vs ν™•μž₯:** κΈ°λ³Έ ComfyUI의 "Save" λ˜λŠ” "Save (API)" κΈ°λŠ₯은 ν˜„μž¬ λͺ¨λΈ 해싱을 기본적으둜 ν¬ν•¨ν•˜μ§€ μ•ŠμœΌλ©°, μ΄λŠ” `comfy-pack`κ³Ό 같은 λ³„λ„μ˜ κ³ κΈ‰ λ„κ΅¬λ‚˜ ν–₯ν›„ λ„μž…λ  ν‘œμ€€ ν¬λ§·μ—μ„œ μ§€μ›λ˜λŠ” κΈ°λŠ₯이닀 [1, 2]. - **μ„±λŠ₯ μ˜€λ²„ν—€λ“œ:** λŒ€μš©λŸ‰ λͺ¨λΈ νŒŒμΌμ— λŒ€ν•œ SHA-256 계산은 λ¦¬μ†ŒμŠ€λ₯Ό μ†Œλͺ¨ν•  수 μžˆμœΌλ‚˜, μ†ŒμŠ€μ—μ„œλŠ” 이λ₯Ό μ›Œν¬ν”Œλ‘œμš° μ•ˆμ •μ„±μ„ μœ„ν•œ ν•„μˆ˜μ μΈ λΉ„μš©μœΌλ‘œ κ°„μ£Όν•œλ‹€ [1]. ## πŸ› οΈ 적용 사둀 (Applied in summary) - **comfy-pack:** λͺ¨λΈ κ°€μ€‘μΉ˜μ˜ SHA-256 ν•΄μ‹œλ₯Ό μ‚¬μš©ν•˜μ—¬ 경둜 및 파일λͺ… 문제λ₯Ό ν•΄κ²°ν•˜λŠ” 직렬화 λ„κ΅¬λ‘œ λͺ…μ‹œλ¨ [1]. - **.cpack.zip (μ›Œν¬μŠ€νŽ˜μ΄μŠ€ νŒ¨ν‚€μ§•):** μ›Œν¬ν”Œλ‘œμš° JSON, λͺ¨λΈ ν•΄μ‹œ, μ»€μŠ€ν…€ λ…Έλ“œ 버전을 ν†΅ν•©ν•˜μ—¬ λ―Έλž˜μ—λ„ μž‘λ™ κ°€λŠ₯ν•œ 배포 λ‹¨μœ„λ₯Ό μƒμ„±ν•˜λŠ” 포맷에 적용됨 [2]. ## βœ… 검증 μƒνƒœ 및 신뒰도 - **μƒνƒœ:** draft - **검증 단계:** conceptual (comfy-pack λ“± μ‹€μ œ λ„κ΅¬μ—μ„œ μ‚¬μš© μ€‘μž„μ„ 확인) - **좜처 신뒰도:** B (μ „λ¬Έ μ•„ν‚€ν…μ²˜ 기술 λ¬Έμ„œ 및 곡식 λ¬Έμ„œ 기반) - **쀑볡 검사 κ²°κ³Ό:** μ‹ κ·œ 생성 ## πŸ”— κ΄€λ ¨ λ¬Έμ„œ 링크 (Related document links) ### μƒμœ„/μœ μ‚¬ κ°œλ… #### [μ•„ν‚€ν…μ²˜/기반 기술] - [[Workflow API JSON]] - μ—°κ²° 이유: ν•΄μ‹œ 정보가 μ‚½μž…λ˜κ±°λ‚˜ μ°Έμ‘°λ˜λŠ” κΈ°λ³Έ μ‹€ν–‰ ꡬ쑰체 [3]. - [[Serialization Formats]] - μ—°κ²° 이유: JSON 포맷을 λ„˜μ–΄μ„  데이터 보쑴 μ „λž΅μ˜ 일뢀 [1, 4]. #### [κ΅¬ν˜„/ν™œμš© 도ꡬ] - [[ComfyUI Manager]] - μ—°κ²° 이유: λͺ¨λΈ 검색 및 λˆ„λ½λœ μ˜μ‘΄μ„± ν•΄κ²° μ‹œ ν•΄μ‹œ 정보λ₯Ό ν™œμš©ν•  수 μžˆλŠ” 도ꡬ [2]. - [[Workspace Packaging]] - μ—°κ²° 이유: λͺ¨λΈ 해싱이 μ‹€μ œ κ΅¬ν˜„λ˜λŠ” μ΅œμƒμœ„ 배포 λ‹¨μœ„ [2]. ### 심측 후속 질문 (Deeper Research Questions) - `comfy-pack`μ—μ„œ SHA-256 ν•΄μ‹œλ₯Ό 계산할 λ•Œ λŒ€μš©λŸ‰ λͺ¨λΈ(예: 10GB+)에 λŒ€ν•œ 계산 속도 μ΅œμ ν™” 방법은 무엇인가? - λͺ¨λΈ ν•΄μ‹œκ°€ μΌμΉ˜ν•˜μ§€λ§Œ 파일λͺ…이 λ‹€λ₯Ό λ•Œ, ComfyUI λ‚΄λΆ€μ μœΌλ‘œ μžλ™μœΌλ‘œ 연결을 λ§€ν•‘ν•˜λŠ” λ‘œμ§μ€ μ–΄λ–»κ²Œ κ΅¬ν˜„λ˜λŠ”κ°€? - ν–₯ν›„ `.cpack.zip` ν‘œμ€€μ΄ 확정될 λ•Œ, λͺ¨λΈ ν•΄μ‹œ 외에 ν™˜κ²½(Python 버전 λ“±)에 λŒ€ν•œ 해싱도 포함될 κ³„νšμ΄ μžˆλŠ”κ°€? - λͺ¨λΈ κ°€μ€‘μΉ˜μ˜ 일뢀가 λ³€κ²½(Fine-tuning λ“±)λ˜μ—ˆμ„ λ•Œ, ν•΄μ‹œ 변화에 λ”°λ₯Έ μ˜μ‘΄μ„± 관리 μ „λž΅μ€ 무엇인가? - μ™ΈλΆ€ API μ„œλΉ„μŠ€(Replicate, Mystic λ“±)μ—μ„œ λͺ¨λΈ 해싱을 ν†΅ν•œ ν”„λ¦¬λ‘œλ“œ(Pre-load) μ΅œμ ν™”κ°€ κ°€λŠ₯ν•œκ°€? ### 싀무 적용 λ§₯락 (Practical Application Contexts) - **Implementation:** `comfy-pack` 라이브러리λ₯Ό μ‚¬μš©ν•˜μ—¬ λͺ¨λΈ μ˜μ‘΄μ„±μ΄ ν¬ν•¨λœ νŒ¨ν‚€μ§€λ₯Ό 생성할 λ•Œ ν•΄μ‹± λ‘œμ§μ„ ν˜ΈμΆœν•¨ [1]. - **System Design:** λ‹€μˆ˜μ˜ λ¨Έμ‹ μ—μ„œ λ™μΌν•œ μ›Œν¬ν”Œλ‘œμš°λ₯Ό μ‹€ν–‰ν•΄μ•Ό ν•˜λŠ” μ„œλ²„λ¦¬μŠ€ ν™˜κ²½μ—μ„œ λͺ¨λΈ 이름 뢈일치 문제λ₯Ό 방지함 [2]. - **Operation / Maintenance:** λͺ¨λΈ 라이브러리의 파일λͺ…이 λ³€κ²½λ˜λ”λΌλ„ κΈ°μ‘΄ μ›Œν¬ν”Œλ‘œμš°μ˜ μž‘λ™ μ—¬λΆ€λ₯Ό κ²€μ¦ν•˜λŠ” 무결성 체크용으둜 ν™œμš©ν•¨ [1]. - **Learning Path:** λ‹¨μˆœν•œ UI μ €μž₯을 λ„˜μ–΄ μ•„ν‚€ν…μ²˜ μˆ˜μ€€μ˜ μ›Œν¬ν”Œλ‘œμš° μžλ™ν™” 및 배포λ₯Ό μ΄ν•΄ν•˜λŠ” λ‹¨κ³„μ—μ„œ ν•™μŠ΅ν•¨ [5]. ### 인접 μ£Όλ³€ 주제 (Adjacent Topics) - [[Metadata Stripping]] - ν™•μž₯ λ°©ν–₯: 이미지 배포 μ‹œ ν•΄μ‹œ 정보 λ“± 메타데이터가 μ†μ‹€λ˜λŠ” λ¬Έμ œμ™€ κ·Έ λ°©μ§€μ±… [6]. ## πŸ“ λ³€κ²½ 이λ ₯ (Change history) - 2026-05-19: Initial draft generated via Datacollector_MAC P-Reinforce engine.