ประกาศๆ ! DelegateCall.com: DAppChain แรกของ Loom Network
เขียน: James Martin Duffy
เรียบเรียง: Molly Thamrongvoraporn
ในช่วงหลายเดือนที่ผ่านมา เราได้พูดคุยถึง 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 เพื่อให้ทุกท่านได้ชมทรานแซกชั่นแต่ละอันได้แบบเรียลไทม์
เชื่อมต่อกับ 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 ในระบบนั่นเอง
ลองมาดูแผนผังโครงสร้างและโฟล์ข้อมูลกันให้เห็นภาพอีกครั้ง
ซึ่งผมอยากย้ำว่าการใช้งาน DelegateCall.com ที่เป็นเว็บไซต์เป็นเพียงแค่ตัวเลือกหนึ่งเท่านั้น ผู้ใช้สามารถเข้าไปอ่านและเขียนข้อมูลใน DAppChain ในระบบได้โดยตรง ถ้าหากไม่ต้องการใช้ผ่านเว็บไซต์ ในอนาคต นักพัฒนาทุกท่านจะสามารถเขียน front-end ของตนเอง ที่จะแสดงผลในแบบที่แต่ละท่านต้องการได้ เหมือนกับที่ block explorer ของเรามีความเป็นเอกเทศจากแอปฯ Rails โดยสิ้นเชิง
ซึ่งนี่เป็นหนึ่งในหลายๆ ข้อดีของเว็บไซต์โซเชียลที่สร้างอยู่บน DAppChain เพราะเทียบได้กับการมี API ที่เปิดฐานข้อมูลเป็นสาธารณะอย่างสมบูรณ์ เพื่อให้นักพัฒนาเติร์ดปาร์ตี้สามารถเข้ามาสร้างอินเตอร์เฟสของตัวเอง และผู้ใช้ก็ได้มีทางเลือกของวิธีใช้บริการเว็บมากขึ้นอีกด้วย
ทั้งนี้ทางทีมงานจะมีประกาศออกมาอีกภายในอาทิตย์นี้ เกี่ยวกับการใช้บริการ DelegateCall และ DAppChain อื่นๆ ของ Loom Network มาให้ทราบกันครับ
ขั้นต่อไป
เราจะมีประกาศที่มีรายละเอียดเกี่ยวกับผลิตภัณฑ์และแนวทางของ Loom Network ในอนาคตอันใกล้ อย่าพลาดนะครับ !!!
In the meantime ส่วนตอนนี้:
- ลองสมัครสมาชิก DelegateCall.com กันดูก่อนครับ
- ลงทะเบียนรับข่าวสารของ Loom Network เอาไว้กันตกข่าวนะครับ
ถ้ามีคำถามหรืออยากพูดคุยกับทีมงาน Loom Network ก็มาคุยกันที่ห้อง Telegram ได้นะครับ