วันพฤหัส, เมษายน 18

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

หลังจากที่เราพอจะรู้จัก Ethereum จากบทความก่อนหน้าแล้วว่าเป้าหมายของ Ethereum เกิดจากต้องการสร้างโปรโตคอลสำหรับพัฒนาโปรแกรมบนพื้นฐานของแนวคิดการกระจายข้อมูล (Decentralized File Storage) ซึ่งเป็นวิธีการนำข้อมูลไปเก็บไว้กับทุกๆโหนด (Public Ledger) ที่อยู่ในระบบเน็ตเวิร์ค Ethereum หลังจากนั้นทุกๆคนในระบบเน็ตเวิร์คจำเป็นจะต้องมีข้อมูลบัญชี (Account) เพื่อใช้ในการระบุตัวตนสำหรับการทำรายการต่างๆในระบบครับ

Account คืออะไร

เป็นข้อมูลขนาด 20 ไบต์ (Byte) เป็นเหมือนบ้านเลขที่ สำหรับบอกให้ผู้อื่นรู้ว่าถ้าอยากส่งข้อมูลมาให้เราต้องระบุผู้รับปลายทางเป็นเลข 20 ไบต์ของเรานะ หรือใช้ระบุว่าเราเป็นคนส่งข้อมูลชุดนี้ไปนะ (เหมือนกับที่อยู่ตอนเราจ่าหน้าซองจดหมายเลยครับ) โดยจะเป็นตัวเลขชุดที่สร้างมาจาก private key ของ account อีกทีครับ

ตัวอย่างหน้าตา address ของ account ที่แสดงบน myetherwallet.com

Account มีกี่ประเภท

ในระบบเน็ตเวิร์ค Ethereum จะแบ่ง Account เป็น 2 ประเภท

1.Externally Owned Accounts

เป็น account ปกติที่ผู้ใช้งานสามารถใช้สำหรับรับส่งข้อมูลต่างๆแต่จะไม่สามารถประมวลผลคำสั่งหรือโปรแกรมต่างๆได้

2.Contract Accounts

เป็น account ที่มีชุดคำสั่งสำหรับประมวลผลผูกไว้หรือที่เรียกว่า smart contract โดยจะมีข้อมูลที่อยู่เรียกว่า contract code เก็บไว้สำหรับให้กลุ่ม Externally Owned Accounts สามารถเรียกใช้งานได้ สามารถอ่านเพิ่มเติมได้ smart contract คืออะไรจากบทความ http://www.blockchain.fish/ethereum-smart-contract/ ครับ

Account ประกอบด้วย Field อะไรบ้าง

1.Nonce

เป็นค่าตัวเลขใช้สำหรับกระบวนการตรวจสอบ transaction ที่ account นี้ทำรายการว่าจะถูกนำไปทำ process ได้เพียงครั้งเดียวและถูกต้องตามลำดับการทำ transaction (ช่วยป้องกันปัญหา Double Spending) โดยค่า nonce ของ account จะแนบไปใน transaction และจะเพิ่มขึ้นทุกครั้งที่มีการทำ transaction

2.Ether Balance

เก็บเงินที่บัญชีนี้มีอยู่

3.Contract Code

4.Storage

องค์ประกอบของ Ethereum Account หลักๆจะมีเท่านี้ครับ สามารถอ่านเพิ่มเติมได้ที่ https://github.com/ethereum/wiki/wiki/White-Paper#ethereum

Facebook Comments