วันอังคาร, กรกฎาคม 17

ป้ายกำกับ: Hash

รู้ให้ลึกรู้ให้จริงกับ Ethereum ตอนที่ 4 (Ethereum Blockchain)

รู้ให้ลึกรู้ให้จริงกับ Ethereum ตอนที่ 4 (Ethereum Blockchain)

Technical
หลักจากที่เรารู้จักส่วนประกอบต่างๆในโลกของ ethereum อย่างเช่น บัญชีผู้ใช้ การส่ง transaction และ message ในบทความนี้เราจะมาดูว่า ethereum ออกแบบสถาปัตยกรรมของ blockchain และวิธีตรวจสอบว่าความถูกต้องของแต่ละบล็อคที่สร้างอย่างไรบ้าง ในแต่ละบล็อคจะประกอบไปด้วยข้อมูลหลักๆดังนี้ 1.เลขรายการ transaction ที่เกิดขึ้น ณ ขณะที่บล็อคถูกสร้างขึ้นมา 2.สถานะล่าสุดของข้อมูล ณ ขณะที่บล็อคถูกสร้างขึ้นมา 3.เลขที่ของบล็อคซึ่งจะเป็นค่าสูงสุดของจำนวนบล็อคที่มีอยู่ในระบบ ณ ขณะที่บล็อคถูกสร้างขึ้นมา 4.ค่า difficulty ใช้สำหรับคำนวณความยากของสูตรที่ให้ miner ทำการประมวลผลเพื่อสร้างบล็อคใหม่ต่อไป ซึ่งค่า difficultyจะเพิ่มขึ้นทุกครั้งที่มีบล็อคใหม่เกิดขึ้น จึงจะเห็นได้ว่ายิ่งมีบล็อคในระบบมากเท่าไหร่ miner ก็จะใช้เวลาสร้างบล็อคในระบบมากขึ้น 5.เวลาที่บล็อคถูกสร้างขึ้น (TimeStamp) 6.ค่า Hash ขนาด 256 bit ซ
รู้หรือไม่ Bitcoin Address เกิดขึ้นจากอะไร!? (ตอนที่ 3 กำเนิด address)

รู้หรือไม่ Bitcoin Address เกิดขึ้นจากอะไร!? (ตอนที่ 3 กำเนิด address)

Technical
รู้หรือไม่ Bitcoin Address เกิดขึ้นจากอะไร!? ตอนที่ 3 กำเนิน address จาก 2 ตอนแรกที่ผมกล่าวถึงเรื่องของการทำ encryption และ hash แล้วนั้น มาถึงตอนนี้เราจะเอาองค์ความรู้ใน 2   ตอนแรกมาสร้างเป็น address ของ bitcoin แล้วครับ จริงๆ แล้วกระบวนการสร้าง address ของ bitcoin ไม่ได้ยากเย็นอะไรเลยครับ ซึ่ง step ของการสร้างเป็นดังนี้ ทำการสร้างคู่กุญแจขึ้นมาก่อน ซึ่งการสร้างนี้เราจะได้ public key และ private key ขึ้นมา (เรื่องคู่กุญแจดูได้ในตอนที่ 1) นำเอา public key ในข้อที่ 1 มาสร้างเป็น hash โดยทำสิ่งที่เรียกว่า double hashing ซึ่ง step ในการสร้าง hash เป็นดังนี้ สร้าง hash ของ public key ด้วยวิธีการ SHA256 สร้าง hash อีกครั้งจากข้อ 2.1 ด้วยวิธีการ RIPEMD160 โดยผลลัพธ์จากการ hash นี้เราจะได้ข้อมูลที่มีขนาด 20 byte หรือ 160 bit ตามชื่อ hash function เลยครับ เอา has
รู้หรือไม่ Bitcoin Address เกิดขึ้นจากอะไร!? (ตอนที่ 2 Hash)

รู้หรือไม่ Bitcoin Address เกิดขึ้นจากอะไร!? (ตอนที่ 2 Hash)

Technical
รู้หรือไม่ Bitcoin Address เกิดขึ้นจากอะไร!? ตอนที่ 2 Hash จากตอนที่แล้วเราพูดเรื่องของการทำ encryption กันมาแล้ว ก่อนจะไปเรื่องที่ว่า Address ของ bitcoin ที่ไปที่มาของมัน มันเป็นมายังไง ผมจะขอพาไปรู้จักกับ Hash ก่อนอีกหนึ่งอย่างนะครับ โดยเจ้า “Hash” หรือศัพท์ทางการของมันคือ “Message Digest” เนี่ยเป็นการทำให้ข้อมูลไม่ว่าจะเป็นข้อมูลอะไร ขนาดเท่าไหร่ ไม่สำคัญว่าคือข้อมูลอะไร ย่อยลงมาเป็นข้อมูลอีกชุดหนึ่ง ซึ่งก็ถือว่าเป็นการเข้ารหัสข้อมูลเหมือนกัน แต่จะพิเศษกว่าตรงที่ข้อมูลที่ได้จากการทำ Hash นั้นจะถอดกลับเป็นข้อความต้นฉบับไม่ได้ และจะมีหน้าตาต่างกันตามแต่ละข้อมูลตัวตั้งต้น แต่ทุกข้อมูลที่ถูกย่อยลงมาจะมีขนาดเท่าๆ กันเสมอตามแต่ละวิธีการย่อย และวิธีการย่อยข้อมูลหรือเรียกแบบภาษาเทคนิคว่า “Cryptographic Hash Function” หรือ “Message Digest Algorithm” นั่นเอง ซึ่งผมเชื่อเลยว่า Digest Alg