Chainlink: สะพานเชื่อมบล็อกเชน

Pasin Sirirat
4 min readSep 14, 2021

--

Chainlink (source: FXLeaders)

Smart contract ถือเป็นกลไกสำคัญที่ทำให้เกิดกระแสความนิยมในโลกคริปโตเคอร์เรนซีครับ ถ้าหากไม่มี smart contract พวกเราก็คงจะทำได้แค่โอนโทเคนไปมาระหว่างกัน แต่เมื่อมี smart contract แล้ว ทำให้นักพัฒนาสายคริปโตสามารถสร้างกลไกทางการเงินต่าง ๆ ได้หลากหลายครับ ยกตัวอย่างเช่นการวางคู่เหรียญ การทำฟาร์ม การปล่อยกู้/กู้ยืม หรือการทำ leverage ก็สามารถทำได้ผ่าน smart contract ครับ สังเกตุได้จากโปรเจกต์คริปโตเคอร์เรนซีขนาดใหญ่หลายตัว เช่น Ethereum, Polkadot, Polygon หรือ Solana ล้วนแล้วแต่มีกลไก smart contract กันทั้งนั้นครับ

แต่ smart contract จะทำงานได้ดี จำเป็นต้องมีแหล่งข้อมูลที่น่าเชื่อถือครับ ยกตัวอย่างการปล่อยกู้บนบล็อกเชน Polygon ซึ่งอาจจะมีการวางสินทรัพย์ค้ำประกันเป็น stablecoin อย่างเช่น USDC หรือ BUSD หรือโทเคนคริปโตตัวใหญ่อย่าง BTC หรือ ETH ซึ่งทั้งหมดที่กล่าวมาล้วนแล้วแต่มีตัวตนอยู่บนบล็อกเชนอื่น การปล่อยกู้บน Polygon จำเป็นต้องมีแหล่งข้อมูลราคาโทเคนเหล่านี้ เพื่อใช้ควบคุมปริมาณการกู้ยืมสูงสุด รวมถึงกำหนดจุดตัด (liquidation ratio) ในการยกเลิกการกู้และคืนเงินส่วนที่เหลือให้กับผู้ปล่อยกู้ครับ ถ้าหากราคาของสินทรัพย์ค้ำประกันเหล่านี้ผิดเพี้ยนไป การปล่อยกู้บนบล็อกเชนจะมีความเสี่ยงสูงมาก ๆ ครับ วันนี้ผมพาทุกคนมารู้จักกับโปรเจกต์คริปโตเคอร์เรนซีที่ทำหน้าที่เป็นแหล่งข้อมูลชั้นยอดสำหรับโปรเจกต์คริปโตทั้งหมด นั่นก็คือ Chainlink ครับ

What is Chainlink?

Concept ของ Chainlink Oracle (https://chain.link/solutions)

Chainlink เป็นเทคโนโลยีที่เรียกว่า oracle หมายถึงตัวกลางในการเชื่อมข้อมูลระหว่างระบบใด ๆ ครับ สำหรับคริปโตเคอร์เรนซี oracle จะทำหน้าที่เชื่อมต่อระหว่างโลกของคริปโตเคอร์เรนซีที่เราสนใจ กับโลกอื่น ๆ ไม่ว่าจะเป็นโลกของคริปโตเคอร์เรนซีตัวอื่นหรือโลกความเป็นจริงครับ สมมติว่าเราอยู่บนเครือข่ายบล็อกเชน Ethereum คำถามคือบน Ethereum มีข้อมูลราคาสินทรัพย์อย่างหุ้น ทองคำ น้ำมัน หรือราคาของคริปโตเคอร์เรนซีที่อยู่บนบล็อกเชนอื่น ๆ เช่น BTC หรือ BUSD ไว้เป็นราคาอ้างอิงสำหรับสินทรัพย์ดิจิทัลที่ตรึงราคาไว้กับสินทรัพย์เหล่านี้ได้อย่างไร? oracle เป็นเทคโนโลยีที่อยู่เบื้องหลังการเชื่อมข้อมูลภายนอกเหล่านี้เข้าสู่บล็อกเชนครับ

ที่จริงแล้ว oracle ไม่ใช่เทคโนโลยีใหม่ครับ ในปัจจุบันก็มีผู้ให้บริการเกี่ยวกับการเก็บรวบรวมและส่งต่อข้อมูลเข้าสู่ระบบอยู่ครับ เพียงแต่ผู้ให้บริการเหล่านั้นมีความรวมศูนย์ (centralization) นั่นคือตัวผู้ให้บริการเองจะเป็นผู้ตัดสินว่าข้อมูลจากแหล่งใดมีความน่าเชื่อถือ และเป็นผู้เลือกนำข้อมูลเข้าสู่ระบบเอง ซึ่งจะขัดกับหลักการของคริปโตเคอร์เรนซีที่จะเน้นความกระจายศูนย์ (decentralization) และจะทำให้มีโอกาสเกิด single point of failure ได้ครับ ดังนั้นคริปโตเคอร์เรนซีที่อาศัยความกระจายศูนย์เป็นจุดขาย ก็ต้องการแหล่งข้อมูลที่มีความกระจายศูนย์เช่นกัน ทำให้ผู้ก่อตั้ง Chainlink เล็งเห็นช่องโหว่ตรงนี้ จึงสร้าง Chainlink ซึ่งเป็นตัวช่วยในการเชื่อมข้อมูลภายนอกเข้าสู่บล็อกเชนขึ้นมานั่นเองครับ

How does it work?

การทำงานของ Chainlink (source: Chainlink Official website)

Chainlink ทำงานโดยสร้างสะพานเชื่อมข้อมูลระหว่างฝั่งภายในบล็อกเชน (เรียกว่า on-chain) และภายนอก (off-chain) ครับ สำหรับฝั่ง on-chain ตัว Chainlink จะทำหน้าที่รับคำขอข้อมูลจากผู้ใช้ และส่งข้อมูลที่ได้มาให้กับผู้ใช้ตามคำขอนั้น ส่วนฝั่ง off-chain ก็จะทำหน้าที่หาแหล่งข้อมูลที่น่าเชื่อถือ และคอยเชื่อมต่อกับ on-chain เวลาที่ฝั่ง on-chain มีการขอข้อมูลมาครับ

การทำงานของ Chainlink ในฝั่ง On-Chain (source: Chainlink whitepaper)

ในฝั่ง on-chain ตัว Chainlink จะทำการสร้าง smart contract บนบล็อกเชน ซึ่งจะทำหน้าที่รับคำขอจากผู้ใช้งานบนบล็อกเชน ว่าผู้ใช้อยากได้ข้อมูลอะไร พร้อมกับ “ราคา” ของข้อมูลที่ผู้ใช้ยินดีที่จะจ่าย จากนั้นจะทำการค้นหาแหล่งข้อมูลภายนอกที่ตรงตามความต้องการผู้ใช้ มีความน่าเชื่อถือ และยินดีที่จะ “ขาย” ข้อมูลตามราคาที่ผู้ใช้เสนอมา จากนั้นเมื่อค้นหาและทำการจับคู่การซื้อ-ขายได้สำเร็จ การส่งผ่านข้อมูลจาก off-chain เข้าสู่ on-chain ก็จะเกิดขึ้นครับ

ในฝั่ง off-chain ก็จะมี oracle ของ Chainlink ที่เชื่อมต่อกับ on-chain oracle อยู่ครับ หน้าที่ของ off-chain oracle คือการเก็บรวบรวมข้อมูลต่าง ๆ ตามที่ผู้ใช้งานจากฝั่ง on-chain ร้องขอครับ ซึ่งในฝั่ง off-chain จะมีสิ่งที่เรียกว่า Chainlink Core เป็นโปรโตคอลตัวกลางในการเชื่อมต่อระบบนิเวศของ Chainlink เข้ากับแหล่งข้อมูลภายนอก ซึ่งก็ทำหน้าที่ป้อนข้อมูลภายนอกเข้าสู่ Chainlink เพื่อให้ผู้ใช้งานจากฝั่ง on-chain สามารถเรียกใช้ได้นั่นเองครับ

ที่จริงแล้วระบบที่ทำหน้าที่ดึงข้อมูลภายนอกเข้าสู่เครือข่ายของเรามีอยู่หลายตัวครับ แต่ปัจจัยสำคัญที่ทำให้ Chainlink มีความแตกต่างจากระบบอื่น ๆ คือปัจจัยด้านความกระจายศูนย์ครับ Chainlink ใช้หลักการ Oracle Distribution (กระจายคำร้องขอข้อมูลจากผู้ใช้แต่ละรายสู่ผู้ให้ข้อมูลหลาย ๆ ราย) และ Source Distribution (เก็บข้อมูลมาจากหลาย ๆ แหล่ง) เพื่อกระจายอำนาจการตัดสินใจต่าง ๆ สู่ Chainlink node ซึ่งทำหน้าที่ประมวลผลการทำงานต่าง ๆ บนบล็อกเชนของ Chainlink (เหมือนกับ Ethereum node ที่ทำหน้าที่ยืนยันการทำธุรกรรมบนบล็อกเชน Ethereum ครับ นั่นคือประชากรส่วนใหญ่ของ Chainlink node ต้องอนุญาตให้นำข้อมูลชุดหนึ่งเข้าบล็อกเชน ข้อมูลชุดนั้นถึงจะถูกนำเข้าครับ) ด้วยความกระจายศูนย์นี้ ทำให้ Chainlink มีความปลอดภัยและน่าเชื่อถือของข้อมูลสูงกว่าระบบ oracle อื่น ตรงที่แหล่งข้อมูลที่ได้มามีหลากหลาย ทำให้สามารถตรวจสอบความถูกต้องของข้อมูลได้ด้วยครับ

Chainlink Explorer (https://explorer.chain.link)

นอกจากนี้ Chainlink ยังเปิดให้บุคคลทั่วไปเข้าถึงบันทึกการทำธุรกรรมทั้งหมดบนบล็อกเชนของ Chainlink (เช่นประวัติการยอมรับ/ปฏิเสธ การนำข้อมูลเข้าของแต่ละ node, ประวัติการใช้ข้อมูลของผู้ใช้, ความเร็วในการส่งข้อมูล และอื่น ๆ) ผ่านทาง Chainlink Explorer เพื่อให้เกิดความโปร่งใส ตรวจสอบธุรกรรมได้ครับ

Use Cases

ในปัจจุบันมีแอปพลิเคชันบนบล็อกเชนจำนวนมากครับที่ใช้บริการ Chainlink ซึ่งในบทความนี้ผมจะยกตัวอย่างแอปพลิเคชันมาบางประเภทครับ

Decentralized Finance (DeFi)

DeFi คือการทำธุรกรรมทางการเงิน (เช่น กู้เงิน / ฝากเงิน / แลกเปลี่ยนโทเคน) บนบล็อกเชน ซึ่งไม่จำเป็นต้องมีตัวกลางมายืนยันการทำธุรกรรม การยืนยันธุรกรรมจะเกิดจากผู้ตรจสอบบนบล็อกเชนส่วนมาก ยอมรับการทำธุรกรรมนั้นครับ แอปพลิเคชันที่ทำงานลักษณะแบบนี้มีชื่อเรียกว่า decentralized applications (DApps) ซึ่งใช้ Chainlink ในการเชื่อมต่อข้อมูลราคาสินทรัพย์ต่าง ๆ ไม่ว่าจะเป็นสินทรัพย์บนโลกจริง เช่น ทองคำ หุ้น ค่าเงิน หรือสินทรัพย์ดิจิทัลที่อยู่บนบล็อกเชนอื่น (เช่น Chainlink บน Ethereum ก็จะเชื่อมต่อข้อมูลราคาโทเคนอย่าง BTC, BUSD, MATIC) นอกจากนั้นแอปพลิเคชันบางตัวยังใช้ Chainlink ในการสร้างสัญญา options, จ่ายเงินปันผล, รวมถึงใช้คำนวณวงเงินกู้ที่ปล่อยได้อีกด้วยครับ

สินทรัพย์จำลองบน https://synthetix.io ที่ต้องใช้ราคาหุ้นจริง ๆ มาเป็นตัวกำหนดราคาของมัน

ตัวอย่างแอปพลิเคชันที่ใช้บริการของ Chainlink ได้แก่ Aave ซึ่งเป็นแพลตฟอร์มปล่อยกู้เงินแบบกระจายศูนย์เจ้าใหญ่เจ้าหนึ่ง, Synthetix ซึ่งเป็นแพลตฟอร์มในการเทรด synthetic stock หรือสินทรัพย์จำลองหุ้นที่มีมูลค่าเท่ากับหุ้นที่ไปจำลองมา (ก็ใช้ Chainlink ในการดึงข้อมูลราคาหุ้นตัวจริง), dYdX ซึ่งเป็นแพลตฟอร์มที่สามารถเทรดสัญญา futures ได้ และยังมีแอปพลิเคชันอื่น ๆ อีกมากมายที่ใช้บริการ Chainlink ครับ

Gaming

Chainlink มีฟีเจอร์ที่มีชื่อว่า Verifiable Random Function (VRF) ซึ่งเป็นฟังก์ชันที่ช่วยให้ smart contract สามารถสุ่มเลขได้โดยมีความไม่มีรูปแบบ (randomness) ที่สูงครับ VRF ถูกนำไปใช้ในการสร้างฟังก์ชันสร้างเลขสุ่มหรือ random number generator (RNG) ครับ ซึ่ง RNG ถือว่าเป็นส่วนสำคัญในการสร้างเกมครับ เพราะในเกมหลาย ๆ เกม จะต้องมีการสุ่มให้เกิดเหตุการณ์หลาย ๆ ครั้ง เช่น สุ่มจุดเกิดของตัวละครที่ถูกควบคุมโดยคอมพิวเตอร์, สุ่มของรางวัลในการเปิดกล่องสุ่ม, หรือการปรับค่าพลังของตัวละครให้หลากหลาย เพิ่มมิติในการเล่มเกมให้มากขึ้นครับ VRF จะเข้ามาช่วยเพิ่มความน่าเชื่อถือในการสุ่มเหตุการณ์เหล่านี้ครับ

เกม Aavegotchi (https://aavegotchi.com/baazaar/aavegotchis?sort=latest) ที่ตัวละครจะมีราคาต่างกัน และต้องใช้ VRF เข้ามาช่วยสุ่ม feature ของน้องแต่ละตัว

ตัวอย่างของเกมที่ใช้ Chainlink คือ Aavegotchi ซึ่งเป็นเกมเลี้ยงสัตว์บน Polygon ครับ โดยเกมนี้ใช้ Chainlink ในการสร้าง Non-Fungible Token (NFT) ซึ่งก็คือสัตว์เลี้ยงของเราครับ ซึ่งก็จะสร้างออกมาให้มีความหลากหลายของคุณลักษณะ และคุณลักษณะเหล่านี้จะส่งผลต่อราคาขายของแต่ละตัว ดังนั้นการสร้างตัวละครแต่ละครั้งของ Aavegotchi จะต้องใช้การสุ่มคุณลักษณะของตัวละคร ซึ่งก็ใช้เทคโนโลยีของ Chainlink นั่นเองครับ อีกหนึ่งตัวอย่างคือ PoolTogether ซึ่งเป็นแพลตฟอร์มที่เราสามารถฝากเหรียญ และมีโอกาสลุ้นรางวัลลอตเตอรี่ได้ ซึ่งใช้เทคโนโลยีของ Chainlink ในการสุ่มรางวัลลอตเตอรี่ครับ

Insurance

อีกหนึ่งอุตสาหกรรมที่ใช้ Chainlink คือประกันครับ ประกันที่ว่า หมายถึงประกันบนโลกจริงครับ ประกันอุบัติเหตุ ประกันผลิตผลทางการเกษตร ที่ทางบริษัทประกัน ต้องใช้ข้อมูลเช่นข้อมูลสภาพอากาศ ข้อมูลการเกิดอุบัติเหตุในอดีต มาใช้เป็นตัวแปรในการคำนวณเบี้ยประกัน ทาง Chainlink ก็สามารถทำหน้าที่เก็บรวบรวมข้อมูลเหล่านี้ เพื่อส่งต่อให้กับบริษัทประกัน นำไปใช้คำนวณต่อไปได้ครับ

นอกจากสามตัวอย่างข้างต้นแล้ว Chainlink ยังทำหน้าที่ป้อนข้อมูลให้กับเว็บและ เครือข่าย Internet of Things (IoT) อื่น ๆ อีกด้วยครับ

LINK

LINK (source: Binance Academy)

LINK เป็นโทเคนหลักของระบบนิเวศ Chainlink ที่อยู่บนบล็อกเชนของ Ethereum ครับ (ในตอนแรกเริ่ม Chainlink เป็นระบบที่ถูกสร้างขึ้นบน Ethereum เพื่อทำหน้าที่เชื่อมต่อข้อมูลจากโลกภายนอกเข้าสู่ Ethereum เลยทำให้ LINK ถูกสร้างขึ้นบน Ethereum ครับ) โดยความต้องการ LINK โดยหลักแล้วจะมาจากสองส่วนด้วยกันครับ

  1. ใช้เป็นสื่อกลางในการแลกเปลี่ยนข้อมูลภายในระบบนิเวศของ Chainlink ครับ ถ้าหากนักพัฒนาแอปพลิเคชันต้องการข้อมูลจากภายนอกบล็อกเชนจากผู้ให้บริการข้อมูล หลังจากตกลงราคากันได้แล้วก็จะต้องซื้อข้อมูลดังกล่าวด้วย LINK ครับ
  2. เป็นหลักประกันในการทำหน้าที่เป็นแหล่งข้อมูลสำหรับผู้ให้ข้อมูล ผู้ให้ข้อมูลจากฝั่ง off-chain จะต้องทำการวาง (stake) LINK ไว้เพื่อเป็นหลักประกันว่าจะทำหน้าที่ในการส่งข้อมูลให้กับ Chainlink ตลอดครับ เพราะข้อมูลเหล่านี้ในหลาย ๆ กรณีต้องการความตรงต่อเวลา (real time) และความแม่นยำ (accuracy) ครับ ยกตัวอย่างเช่นแอปพลิเคชันเทรดหุ้น ซึ่งต้องอ้างอิงราคาหุ้นจากตลาดหุ้นภายนอกบล็อกเชน จะต้องมีการอัปเดตข้อมูลราคาให้ทันกับราคาอ้างอิงในตลาดหุ้นตลอด ถ้าหากไม่สามารถทำได้ ก็คงไม่มีใครมาเทรดบนแอปพลิเคชันดังกล่าวครับ

ถึงตรงนี้หลาย ๆ คนอาจจะมีคำถามว่า อ้าว! แล้วเราจ่ายค่าข้อมูลด้วย ETH (native token บน Ethereum) ไม่ได้เหรอ? คำตอบคือ…ไม่ได้ครับ เนื่องจาก Chainlink ecosystem มีลักษณะเฉพาะที่ไม่เหมือนกับ ecosystem อื่น ๆ และด้วยลักษณะพิเศษของ LINK ที่เป็นไปตาม ERC-677 (สำหรับคนที่งง ERC คือมาตรฐานการสร้าง token ซึ่งก็จะแตกต่างกันไปตามเลขตัวหลังครับ) ซึ่ง ERC-677 บังคับให้ token ที่สร้าง มีฟังก์ชันที่เรียกว่า transferAndCall ซึ่งทำให้​ smart contract สามารถ “รับ”​และ “ใช้” token ได้ภายในการทำธุรกรรมครั้งเดียว ซึ่ง ETH (รวมถึง token อื่น ๆ) ซึ่งเป็นไปตาม ERC-20 (ไม่มี transferAndCall) ไม่สามารถทำแบบนี้ได้ จึงทำให้การทำธุรกรรมบน Chainlink ถูกบังคับให้จ่ายด้วย LINK เท่านั้นครับ

จากหน้าที่สองข้อของ LINK ทุก ๆ คนก็น่าจะพอเดาได้นะครับ ว่าความต้องการของ LINK จะเกิดขึ้นเมื่อจำนวนการทำธุรกรรม (ขอข้อมูล) เพิ่มขึ้น นอกจากนี้การบังคับผู้ให้ข้อมูลให้ stake LINK เป็นหลักประกัน ก็ช่วยลดปริมาณ LINK ที่หมุนเวียนอยู่ในระบบ และเมื่อ Chainlink ecosystem ใหญ่ขึ้น มีผู้ให้บริการส่งข้อมูลเพิ่มขึ้น ก็จะมี LINK ที่ถูก stake เพิ่มขึ้น ทำให้ LINK ที่หมุนเวียนอยู่ในระบบลดลง ปัจจัยทั้งหมดล้วนส่งผลเชิงบวกต่อราคาของ LINK ทั้งนั้นเลยครับ

แต่ก็ไม่ใช่ว่าทุกอย่างของ LINK จะดีไปเสียหมดนะครับ ว่าด้วยเรื่องของ LINK tokenomics เราจะพบว่า LINK ถูก airdrop ให้กับสมาชิกในทีม Chainlink ในสัดส่วนที่สูงมาก ๆ และจากการตรวจสอบกระเป๋า Ethereum เหล่านี้ผ่าน etherscan.io เราจะพอเห็นว่ามีการทยอยขาย LINK ออกมาตลอด และแน่นอนว่าการขาย LINK จำนวนมาก ส่งผลเชิงลบต่อราคา LINK ในตลาดครับ ทำให้ในหลาย ๆ ครั้ง LINK สูญเสียโมเมนตัมขาขึ้น และบ่อยครั้งทำให้เราเห็นกราฟของ LINK ไม่ได้สวยงามเท่าไรนัก เพราะพอราคา LINK จะขึ้น ก็จะมีแรงเทขายออกมานั่นเองครับ

Summary

โดยสรุปแล้ว Chainlink ถือเป็นเทคโนโลยีที่ถูกสร้างขึ้นมาเพื่อตอบโจทย์การเชื่อมข้อมูลภายนอกเข้าสู่ภายในบล็อกเชน ซึ่งการตอบโจทย์ข้อนี้ได้ทำให้ Chainlink สร้างผลกระทบเชิงบวกให้กับระบบบล็อกเชนเป็นอย่างมาก ทั้งช่วยให้เกิดแอพพลิเคชันต่าง ๆ ที่ต้องการข้อมูลภายนอก เป็นกลไกเบื้องหลังในการสุ่มเลข สำหรับโปรเจค NFT หรือเกมต่าง ๆ และช่วยให้ข้อมูลที่ไหลเข้าระบบบล็อกเชนเป็นข้อมูลที่ decentralized อีกด้วยครับ สำหรับ LINK เองก็เป็นเหรียญที่มีความต้องการใช้งานตลอด และมีแนวโน้มที่ความต้องการจะสูงขึ้นเรื่อย ๆ ตามการเติบโตของ Chainlink ecosystem แต่ในขณะเดียวกันก็จะเผชิญแรงเทขายจะคนที่ถือเหรียญ LINK จำนวนมากอยู่ ทำให้ในหลาย ๆ ครั้งราคา LINK ไม่ได้ขยับตามสภาพตลาด เหมือนกับคริปโตเคอร์เรนซีตัวอื่น ๆ นั่นเองครับ สำหรับวันนี้ก็เชื่อว่าทุกคนน่าจะได้ความรู้เกี่ยวกับคริปโตเคอร์เรนซีตัวนี้ไปไม่น้อยนะครับ

--

--

Pasin Sirirat

A Data specialist passionated in Investments currently working in a FinTech startup.