📖
SHA-256 คืออะไร?
SHA-256 (Secure Hash Algorithm 256-bit) คือฟังก์ชันที่แปลงข้อมูลทุกชนิด — ไม่ว่าจะสั้นหรือยาวแค่ไหน — ให้กลายเป็น ตัวเลข hex ยาว 64 ตัวอักษร (256 bits) เสมอ เปรียบเหมือน "ลายนิ้วมือดิจิทัล" ที่ไม่มีวันซ้ำกัน และไม่มีทางย้อนกลับได้ — ใช้ใน Bitcoin ทุกขั้นตอน ตั้งแต่ Wallet Address ไปจนถึง Mining
🧪 ทดลอง Deterministic Property:
พิมพ์ข้อความใดก็ได้ในช่อง Source ด้านล่าง — ระบบจะสร้าง 3 variant อัตโนมัติ (UPPERCASE, lowercase, snake_case) และแสดง hash ของแต่ละตัวพร้อมกัน
สีเขียว = ตำแหน่ง hex ที่ตรงกับ Source | สีแดง = ตำแหน่งที่ต่างกัน
สังเกตว่าการเปลี่ยน case เพียงอย่างเดียวทำให้ hash เปลี่ยนไปเกือบทั้งหมด — นั่นคือ Avalanche Effect ในทางปฏิบัติ
▶ SOURCE INPUT
MASTER REFERENCE
พิมพ์ข้อความที่นี่ — ระบบจะ hash และเปรียบเทียบกับ variant ด้านล่างทันที
SHA-256 OUTPUT (64 HEX CHARS = 256 BITS)
input: 0 chars
⏳ รอข้อมูล... พิมพ์เพื่อเริ่ม
▶ VARIANT: UPPERCASE
— % Match
เปลี่ยนตัวพิมพ์เล็กเป็นใหญ่ทั้งหมด — แม้ความหมายเหมือนกัน แต่ SHA-256 ถือว่าเป็น input คนละตัวโดยสิ้นเชิง
SHA-256 OUTPUT
...
▶ VARIANT: LOWERCASE
— % Match
เปลี่ยนทุกตัวอักษรเป็นพิมพ์เล็ก — ลองสังเกตว่า match กี่ % กับ Source เมื่อกด เช่น "Bitcoin" vs "bitcoin"
SHA-256 OUTPUT
...
▶ VARIANT: SNAKE_CASE
— % Match
เปลี่ยน space ทุกตัวเป็น underscore (_) — "hello world" กับ "hello_world" ดูใกล้เคียง แต่ hash แตกต่างกันมหาศาล
SHA-256 OUTPUT
...
🌊
Avalanche Effect — ผลกระทบแบบโดมิโน
คุณสมบัติสำคัญที่สุดของ cryptographic hash function: เปลี่ยน input แค่ 1 ตัวอักษร (หรือแม้แต่ 1 bit) → output เปลี่ยนโดยเฉลี่ย ~50% (ประมาณ 128 ใน 256 bits) — ทำให้เป็นไปไม่ได้ที่จะ "เดา" หรือ "ค่อยๆ ปรับ" hash ให้ตรงเป้าหมาย นี่คือรากฐานที่ทำให้ Bitcoin Mining ยากมาก
🤔 ทำไมต้อง 50% ? (The 50% Rule)
หลายคนมักเข้าใจผิดว่ายิ่งเปลี่ยนมาก (เช่น 100%) ยิ่งเดายาก แต่ในทาง Cryptography
50% คือค่าความสุ่มที่สมบูรณ์แบบที่สุด (Maximum Entropy) เปรียบเสมือนการโยนเหรียญที่ยุติธรรม
ถ้าเปลี่ยนน้อยไป (เช่น 10%): แฮ็กเกอร์สามารถเล่นเกมทายใจ ค่อยๆ ปรับ Input ทีละนิดเพื่อคลำหา Hash เป้าหมายได้
ถ้าเปลี่ยนมากไป (เช่น 100%): จะกลายเป็นกระจกสะท้อน แฮ็กเกอร์แค่สลับบิตตรงข้ามทั้งหมด (Invert) ก็จะได้ค่าใหม่ทันที มี Pattern ให้จับได้อยู่ดี
ถ้าเปลี่ยน 50% (อุดมคติ): ทุกครั้งที่เปลี่ยน 1 ตัวอักษร แต่ละบิตจะมีโอกาส 50/50 ที่จะเหมือนเดิมหรือเปลี่ยนไป ทำให้ไม่มีใครสามารถจับ Pattern ใดๆ ได้เลย!
🔬 วิธีทดลอง:
① ใน Zone 1 ด้านบน ให้พิมพ์ข้อความ เช่น bitcoin
② ใน Avalanche Lab ด้านล่าง ให้พิมพ์ข้อความที่ต่างกันเล็กน้อย เช่น Bitcoin หรือ bitcon
③ ดูว่า % ที่เปลี่ยนไป (bits flipped) ใกล้ 50% มากแค่ไหน — ยิ่งใกล้ 50% ยิ่งดี
🌊 AVALANCHE TEST INPUT
COMPARE VS SOURCE
พิมพ์ข้อความที่คล้ายกับ Source — เช่น เปลี่ยนตัวอักษรเดียว เพิ่มจุด หรือเว้นวรรค
SHA-256 OUTPUT (เทียบกับ SOURCE)
input: 0 chars
⏳ รอข้อมูล... พิมพ์เพื่อเปรียบเทียบ
AVALANCHE INTENSITY
0%
0
HEX MATCH
0
HEX CHANGED
0
BITS FLIPPED