รู้จักกับ Smart Contract

0

บนโลก blockchain นั้นโดยทั่วไป คนจะนึกถึงเรื่องรับและส่งเงินกันเช่น Bitcoin Litecoin หรือ whatever coin (ซึ่งมีเยอะมาก ก.ไก่ 20 ตัว ลองดูที่ https://en.wikipedia.org/wiki/Digital_currency ได้ครับ) แต่จริง ๆ แล้ว มี blockchain อยู่หนึ่งประเภทที่สามารถทำได้มากกว่าแค่เรื่องรับและส่งเงิน (จริง ๆ พื้นฐานของมันก็ยังสามารถรับและส่งเงินได้) นั่นคือ Ethereum

อย่างที่บอกในตอนต้นว่า Ethereum เป็น blockchain ที่มากกว่าแค่รับและส่งเงินกัน สิ่งนั้นก็คือ Ethereum สามารถทำให้ blockchain network สามารถประมวลผลอะไรก็ได้ ซึ่งคำว่าประมวลผลอะไรก็ได้นั้น หมายถึงว่า ผู้ใช้งานสามารถเขียน code เพื่อไปฝากไว้ที่ Ethereum network และเมื่อมีใครคนอื่น (หรือเราเองก็ได้) เรียกใช้งาน code นี้ ตัวคนที่อุทิศตัวเป็น miner ก็จะหยิบเอา code ของเรามาประมวลผลให้ซึ่งคนที่เรียกใช้งานนั้น นอกจะเรียกเฉยๆได้แล้ว ยังสามารถส่ง parameter ต่าง ๆ มาให้ code เหล่านี้ประมวลผล parameter นั้นๆ ได้ ซึ่งสิ่งที่กล่าวมานี้ เค้าเรียกกันว่า Smart Contract

แล้ว miner ได้อะไรจากการประมวลผล Smart Contract !?

ตอบแบบง่าย ๆ คือ miner ได้ค่าแรงการประมวลผลครับ เสมือนให้ยืมเครื่องใช้งานก็ได้รับค่าแรงแบ่งเครื่องให้ใช้

วิธีการที่เค้าใช้ในการให้ผลตอบแทนเหล่า miner นั้น คือ การที่คนที่ต้องการประมวลผล code ทำการจ่ายค่า fee ซึ่งค่า fee นี้จะคิดจาก code ที่จะถูกทำงานแบ่งเป็น operation ต่างๆ ซึ่งแต่ละ operation ก็จะมีค่า fee ที่จะคิดไม่เท่ากัน ตามความหนักเบาของการใช้งาน CPU (ถ้าอยากรู้เพิ่มเติมหาดูได้จาก yellow paper ของ Ehtereum ครับ ลอง google ดูได้เลย ^^)

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

ค่า fee ที่กล่าวมา ในทางโลก Ethereum เค้าก็มีศัพท์ที่เรียกค่านี้ ซึ่งก็คือคำว่า Gas โดยที่ค่า Gas นี้จะมีค่าเท่ากับ 10 Szabo หรือประมาณ 1 ใน 100,000 Ether (Szabo หรือ ETH คือหนึ่งในหน่วยเงินในโลก Ethereum ครับ โดยที่เรียกจากหน่วยเล็กสุดไปมากสุดดังนี้ Wei < Kwei < Mwei < Gwei < Szabo < Finney < Ether < Kether < Mether < Gether < Tether)

Smart Contract มันเป็นยังไง ??????

หน้าตาของ code ที่ถูกเขียนขึ้นมาเพื่อเป็น Smart Contract นั้นจะมี syntax ละม้ายคล้ายคลึงกับภาษา Javascript แต่ function พื้นฐานที่จะใช้งานได้มีน้อยกว่ามาก (ขนาดตัวแปรเพื่อเก็บเลขแบบทศนิยมยังไม่มีเลย) และยังมี datatype พิเศษที่เพิ่มเข้ามาคือ mapping เพื่อทำ collection, address ก็ตามชื่อนั่นแหล่ะ เพื่อเก็บ address ต่างๆ และ struct ซึ่งมองง่ายๆก็คือ object แบบภาษา OO นั่นแหล่ะครับ


ต้นฉบับบทความ

blockchain.fish

Comments

comments

แสดงหัวข้ออื่น ๆ เพิ่มเติม
Load More By Paitoon Pairor
Load More In Ethereum

ใส่ความเห็น