ประกาศๆ ! DelegateCall.com: DAppChain แรกของ Loom Network

เขียน: James Martin Duffy
เรียบเรียง: Molly Thamrongvoraporn

MollyMolls
Loom Network Thai
3 min readMar 19, 2018

--

ในช่วงหลายเดือนที่ผ่านมา เราได้พูดคุยถึง DAppChains ที่เข้ามาเป็นโซลูชั่นในการสเกลขีดจำกัดในการรองรับผู้ใช้งานแอปพลิเคชั่นอิสระที่รันบน Ethereum แต่ความคิดดังกล่าวก็ยังเป็นเพียงทฤษฏีเท่านั้น….จนแค่วันนี้เท่านั่นแหละ!

เมื่อวันที่ 14 มีนาคม ที่ผ่านมา ทีมงาน Loom Network ได้ภูมิใจนำเสนอผลงานชิ้นแรกของเรา ซึ่งก็คือ DApp แรกที่รันอยู่บนเครือข่าย Loom Network อย่างแท้จริง!!

ขอนำเสนอ DelegateCall.com

DelegateCall คืออะไร

DelegateCall คือเว็บไซต์ถาม-ตอบ ที่สร้างขึ้นเพื่อตอบคำถามเกี่ยวกับบล็อกเชนและ Ethereum ซึ่งรันอยู่บน DAppChain ของ Loom Network อย่างสมบูรณ์

ซึ่งผู้ใช้งานจะได้สะสมคะแนน karma point เมื่อคำถามหรือคำตอบของผู้ใช้ได้รับการโหวตขึ้น (upvote) แต่สิ่งที่ทำให้ DelegateCall แตกต่างจาก Web 2.0 ทั่วๆ ไป คือคะแนน karma point จะสามารถแลกเปลี่ยนเป็นโทเค่นที่สามารถซื้อขายได้ประเภท ERC-20 ชื่อ DelegateCall token บนเครือข่ายหลักของ Ethereum ซึ่งทำให้ผู้ใช้งานสามารถสะสมคะแนนเพื่อแลกของรางวัลได้มากน้อยเท่ากับความช่วยเหลือที่ผู้ใช้มอบให้แก่ชุมชนผู้ใช้งานในเว็บ

เพราะฉะนั้น DelegateCall ก็ถือเป็นเว็บที่ผสมผสาน Steemit และ StackOverflow ที่มี Ethereum คอยรองรับนั่นเอง

แรงบันดาลใจ

ตั้งแต่เราได้เปิดตัว CryptoZombies เมื่อหลายเดือนก่อน เราได้สร้างชุมชนนักพัฒนาแอปพลิเคชั่น Ethereum และผู้ที่มีความสนใจในการพัฒนาแอปฯ ในห้องแช็ท Telegram และห้องแช็ทเฉพาะ developer ที่มีความแน่แฟ้นอยู่พอสมควร

แต่ชุมชนใน Telegram ก็ยังไม่ใช่รูปแบบของห้องเสวนาของที่เหมาะสมกับ developers ที่สุดเพราะบางครั้งคำถามบางคำถามก็จมหายไปในบทสนทนาในห้องแช็ท หรือคำตอบดีๆ ก็อาจจะเลื่อนหายขึ้นไปและไม่สามารถหาได้เจออีก

ทีมงาน Loom Network จึงตักสินใจสร้างเว็บไซต์ชุมชนถาม-ตอบบนบล็อกเชนขึ้นมา

1. ชุมชนของเราจะได้มีโอกาสแชร์ความรู้ของสมาชิกแต่ละคนเกี่ยวกับบล็อกเชนและนักพัฒนา Ethereum เพื่อตอบคำถามได้ชัดเจนมากยิ่งขึ้น
2. เว็บไซต์ของเราจะรันอยู่บน DAppChain ของ Loom Network อย่างสมบูรณ์ จึงได้ทำหน้าที่ในการทดสอบแพลตฟอร์มหลักของเรา
3. อีกทั้งยังจะทำหน้าที่กระตุ้นการมีปฏิสัมพันธ์ระหว่างผู้ใช้งานในเว็บไซต์ โดยใช้โทเค่น ERC-20 เป็นรางวัล ซึ่งก็ยังเป็นการแสดงให้เห็นประโยชน์และข้อดีของเว็บแอปฯ มีพื้นฐานอยู่ใน DAppChain เมื่อเทียบกับเว็บแอปฯ ทั่วๆ ไป (นอกจากนี้ก็ยังมีความเก๋อื่นๆ ของเรา เช่น บล็อกเชนที่เปิดให้บริการเป็น API แบบเปิดให้ผู้ใช้นักพัฒนาของเรา ที่สามารถฟอร์คและออดิทได้อย่างเต็มที่)

DelegateCall เป็นหนึ่งในโปรเจคทดลองที่เราได้สร้างขึ้นมาภายในเน็ตเวิร์คของเรา ที่แสดงให้ developer ได้เห็นว่า Loom Network สามารถรองรับ DApp ประเภทใดได้บ้าง

Sneak Peak! ต่อจากนี้เราจะหันไปโฟกัสกับเกมส์ที่รันบนบล็อกเชนมากขึ้นนะครับ ดังนั้นจึงขอให้ตั้งใจรอข่าวอัพเดทจากเราได้ภายในสองเดือนจากนี้ไปนะครับ!!

รายละเอียดทางโครงสร้าง

โดยหลัก ๆ แล้ว แอปฯ DelegateCall ของเรารันบนเครือข่าย DAppChain ของ Loom Network แบบ 100% ซึ่งเครือข่ายดังกล่าวประกอบไปด้วยบล็อกเชนแบบสแตนอะโลน ที่เชื่อมต่อกับ smart contract ของ Ethereum ผ่านรีเร

ซึ่งบล็อกเชนสแตนอะโลนของ DelegateCall ใช้โปรโตไทป์ของ Loom DPoS เป็นเลเยอร์คอนเซนซัส ในอนาคตเรามีแผนการที่จะรองรับอัลกอริทึม PoS ของ Tendermint และ Casper ทันทีที่ทั้งสองทีมได้มีการอัพเดทอัลกอริทึมดังกล่าว

ทั้งนี้ DAppChains ของ Loom แตกต่างจะบล็อกเชนทั่วไป เพราะความสามารถในการแยกแยะประเภทของทรานแซกชั่นที่มีความซับซ้อนได้อย่างเป็นธรรมชาติ ซึ่งในกรณีของ DelegateCall ประเภทของทรานแซกชั่นภายในแอปฯ ก็มีอยู่หลายประเภทซึ่งประกอบไปด้วย การสร้างบัญชี การสร้าง/อัพเดทโค้ด การรับคำตอบ และการอัพโหวต/ดาว์นโหวต

และในด้านของความสามารถในการรองรับเมธอด DAppChains ก็มีความสามารถรองรับเมธอดที่ผู้ใช้เรียกใช้ได้ในจำนวนจำกัด เช่นเดียวกับ API ทั่วๆ ไป

เราได้สร้างฟีเจอร์ block explorer ใน DelegateCall DAppChain ณ ลิ้งค์นี้ blockchain.delegatecall.com เพื่อให้ทุกท่านได้ชมทรานแซกชั่นแต่ละอันได้แบบเรียลไทม์

block explorer นี้จะทำให้ผู้ใช้สามารถมองเห็นทรานแซกชั่นในขณะที่กำลังถูกบรรจุเข้าไปสู่ DAppChain
และยังสามารถตรวจสอบดูแต่ละทรานแซกชั่นเพื่อดูเนื้อหาของแต่ละอันได้อีกด้วย

เชื่อมต่อกับ Ethereum ผ่าน Relay

เป็นที่ทราบกันดีว่าชื่อเสียงของ DPoS ภายในชุมชนผู้สนใจบล็อกเชนไม่ค่อยจะดีสักเท่าไหร่ โดยเฉพาะเมื่อเทียบกันกับ PoW และ PoS ที่มีความเป็นเอกเทศ (decentralized) มากกว่า

ซึ่งประเด็นนี้เป็นเรื่องน่าเป็นห่วงอยู่ไม่น้อย แต่ถึงกระนั้น DPoS ก็ยังมีความสามารถในการรองรับทรานแซกชั่นต่อหนึ่งวินาที่ได้มากกว่าอัลกอริทึมคอนเซนซัสที่มีความเป็นเอกเทศมากกว่า

ทางทีมงานจึงเจอความท้าทายเข้าเต็มเปา เพราะว่า DApps จำเป็นจะต้องสามารถในการคำนวนที่รวดเร็ว เพื่อแข่งขันกับเว็บแอปฯ ทั่วๆ ไป (ตัวอย่างเช่น Twitter ที่จำเป็นต้องคำนวนทวีทถึง 7,000 ข้อความต่อวินาที) แต่บล็อกเชน DPoS แบบสแตนอะโลนก็ยังไม่ได้รับความไว้วางใจในความสามารถในการคำนวน มากเท่ากับที่บล็อกเชน PoW แบบ Ethereum ได้รับ

DappChains จึงเป็นแก้ปัญหานี้ด้วยการนำเอาบล็อกเชน DPoS ไปเชื่อมติดกับ Ethereum Smart Contract ที่ทำหน้าที่รองรับข้อมูลผ่าน Relay ให้เป็นระบบเดียวกัน และเมื่อทุกส่วนทำงานเป็นระบบเดียวกัน ผู้ใช้งานจึงสามารถโอน/ซื้อ-ขายแอสเซ็ทของตนเองบน Ethereum ได้อย่างสะดวกในรูปแบบของโทเค่น ERC-20 ในขณะที่ตัวแอปฯ ก็ยังคงความเป็นเอกเทศ ความรวดเร็วในการคำนวน และราคาในการส่งข้อมูลที่ย่อมเยาเหมือนเดิม

ซึ่งผลลัพท์ของแนวคิดนี้ก็สามารถมองเห็นได้ใน DelegateCall ที่เป็นแอปฯ ที่มีความเป็นเอกเทศแต่อยู่ในสเกลที่ใหญ่กว่าที่ Ethereum จะรอบรับได้โดยลำพัง และยังสามารถจัดการแอสเซ็ทของผู้ใช้ได้อย่างปลอดภัยและเป็นไปตามมาตราฐาน อีกทั้งยังคงความเร็วในการส่งข้อมูลในราคาที่ไม่แพงเอาไว้อีกด้วย

ทางทีมงานจะประกาศข้อมูลเกี่ยวกับการอิมพลีเมนท์ Relay และอัลกอริทึม DPoS ของ Loom Network เพิ่มอีกในอนาคต (และรวมไปถึงข้อมูลเกี่ยวกับ Loom Vault ซึ่งเป็นบริการแบบเทิร์ดปาร์ตี้ในการบริหารจัดการ private keys ของผู้ใช้)

แล้วเว็บไซต์ DelegateCall เกี่ยวข้องอย่างไร

ท่านผู้อ่านจะลองคิดว่า DelegateCall.com เป็นเลเยอร์ที่อำนวยความสะดวกในการใช้งาน DAppChain ที่อยู่ลึกลงไปในระบบก็ได้ครับ ถึงแม้ว่าผู้ใช้จะไม่จำเป็นต้องเข้ามาที่เว็บไซต์เพื่อที่จะใช้บริการบล็อกเชนของ DelegateCall แต่ตัวเว็บไซต์ก็ถือเป็นยูไอที่ดีและอำนวยความสะดวกในการเข้าถึงบล็อกเชนนี้ครับ (คล้ายๆ กับ Steemit.com หรือ MyEtherWallet / EtherScan นั่นแหละครับ)

ซึ่งตัวเว็บก็เปรียบได้เหมือน Ruby ของแอปฯ Rail ที่ทำหน้าที่อ่านแคชจากข้อมูลที่อยู่ใน DAppChain ที่อยู่ลึกลงไป ซึ่งตัวแคชแบบที่สามารถอ่านได้เพียงอย่างเดียว (read-only) (ที่สร้างมาจากดาต้าเบส MySQL และ Elasticsearch) ทำหน้าที่เป็นเหมือนกน้าจอที่แสดงข้อมูลในบล็อกเชน และถูกอัพเดททุกๆ ครั้งที่บล็อกใหม่ถูกเพิ่มเข้ามาในระบบ และแคชนี้มีอยู่เพื่อให้ตัวเว็บไซต์สามารถรองรับหน้าเว็บได้อย่างรวดเร็วเหมือนกับเว็บ 2.0 ทั่วไป

ซึ่งเมื่อท่านผู้อ่านลองเข้าไปที่ DelegateCall.com ข้อมูลที่ท่านเห็นอยู่ก็คือข้อมูลที่ถูกดึงมาจากแคช MySQL นั่นเอง ซึ่งเว็บนี้ก็ทำหน้าที่แสดงตัวเว็บ DelegateCall ที่ถูกสร้างไว้ใน Loom.js

Loom.js เป็นเลเยอร์อินเตอร์เฟสของ DAppChains ของ Loom Network ที่ทำหน้าที่รับรองทรานแซกชั่นฝั่งของผู้ใช้งานและเปลี่ยนแปลงฟอร์แมตให้เป็นประเภทที่้งานกับ DAppChain ได้ ซึ่งผู้ใช้งานจะคิดซะว่า Loom.js เป็นเหมือน web3.js ของ Ethereum แต่เป็นเของ Loom Network ก็ได้ครับ

เมื่อผู้ใช้ได้ทำกิจกรรมในเว็บ (อัพโหวตคำตอบหรือโพสคอมเมนท์ ฯลฯ) แทนที่ข้อมูลจะถูกส่งไปยังเซิร์ฟเวอร์เว็บเหมือนเว็บแอปฯ ทั่วๆ ไป Loom.js จะนำข้อมูลนี้ไปปล่อยยัง DAppChain ของ DelegateCall โดยตรง

ซึ่งใน DelegateCall.com จะมีฟังก์ชั่นในการตรวจสอบหาความเปลี่ยนแปลงในบล็อกเชนอยู่ตลอดเวลา และนำเอาทรานแซกชั่นใหม่ๆ ไปอัพเดทมใน MySQL และ Elasticsearch พร้อมๆ กัน เพื่อที่อัพเดทบล็อกเชนนี้จะไปแสดงผลอยู่ใน DelegateCall.com

อย่างไรก็ดี DAppChain ก็ยังเป็นแหล่งข้อมูลที่สำคัญและเที่ยงตรงที่สุด และข้อมูลที่แสดงอยู่ในแอปฯ Rails ก็เป็นเพียงการแสดงผลข้อมูลที่อยู่ใน DAppChain ในระบบนั่นเอง

ลองมาดูแผนผังโครงสร้างและโฟล์ข้อมูลกันให้เห็นภาพอีกครั้ง

ผู้ใช้งานจะสามารถเขียนและยืนยันทรานแซกชั่นลงไปใน DAppChain ได้โดยตรง ซึ่งทรานแซกชั่นจะถูกก็อปปี้ไว้เป็นแคชแบบ read-only ใน Rails เพื่อการอ่านที่รวดเร็ว ฟีเจอร์ blockchain explorer จะเป็นแอปฯ ที่แยกต่างหาก ที่จะทำหน้าที่อ่านข้อมูลจาก DAppChain เดียวกัน

ซึ่งผมอยากย้ำว่าการใช้งาน DelegateCall.com ที่เป็นเว็บไซต์เป็นเพียงแค่ตัวเลือกหนึ่งเท่านั้น ผู้ใช้สามารถเข้าไปอ่านและเขียนข้อมูลใน DAppChain ในระบบได้โดยตรง ถ้าหากไม่ต้องการใช้ผ่านเว็บไซต์ ในอนาคต นักพัฒนาทุกท่านจะสามารถเขียน front-end ของตนเอง ที่จะแสดงผลในแบบที่แต่ละท่านต้องการได้ เหมือนกับที่ block explorer ของเรามีความเป็นเอกเทศจากแอปฯ Rails โดยสิ้นเชิง

ซึ่งนี่เป็นหนึ่งในหลายๆ ข้อดีของเว็บไซต์โซเชียลที่สร้างอยู่บน DAppChain เพราะเทียบได้กับการมี API ที่เปิดฐานข้อมูลเป็นสาธารณะอย่างสมบูรณ์ เพื่อให้นักพัฒนาเติร์ดปาร์ตี้สามารถเข้ามาสร้างอินเตอร์เฟสของตัวเอง และผู้ใช้ก็ได้มีทางเลือกของวิธีใช้บริการเว็บมากขึ้นอีกด้วย

ทั้งนี้ทางทีมงานจะมีประกาศออกมาอีกภายในอาทิตย์นี้ เกี่ยวกับการใช้บริการ DelegateCall และ DAppChain อื่นๆ ของ Loom Network มาให้ทราบกันครับ

ขั้นต่อไป

เราจะมีประกาศที่มีรายละเอียดเกี่ยวกับผลิตภัณฑ์และแนวทางของ Loom Network ในอนาคตอันใกล้ อย่าพลาดนะครับ !!!

In the meantime ส่วนตอนนี้:

  1. ลองสมัครสมาชิก DelegateCall.com กันดูก่อนครับ
  2. ลงทะเบียนรับข่าวสารของ Loom Network เอาไว้กันตกข่าวนะครับ

ถ้ามีคำถามหรืออยากพูดคุยกับทีมงาน Loom Network ก็มาคุยกันที่ห้อง Telegram ได้นะครับ

https://loomx.io

ติดตามข่าวสารและพูดคุยกับทีมงาน Loom Network เป็นภาษาไทยได้ทางนี้ค่ะ!

ห้องแช็ท Telegram

แฟนเพจ Facebook

--

--