จะสร้างแอปพลิเคชันแบบกระจายอำนาจที่ปรับขนาดได้อย่างไร ใช้บล็อกเชนให้น้อยลง

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

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

จะสร้างแอปพลิเคชันแบบกระจายอำนาจที่ปรับขนาดได้อย่างไร ใช้บล็อกเชนให้น้อยลง

บ่อยครั้งใน whitepapers ของแอปพลิเคชันที่สร้างขึ้นบน blockchain คุณจะพบย่อหน้าที่ระบุว่า: “blockchain มีราคาแพงและไม่สามารถรองรับจำนวนธุรกรรมที่ต้องการต่อวินาที โชคดีที่คนฉลาดจำนวนมากกำลังทำงานเพื่อปรับขนาด blockchain และ เมื่อแอปพลิเคชันของเราเปิดตัว จะสามารถปรับขนาดได้ค่อนข้างมาก”

ในย่อหน้าง่ายๆ เดียว นักพัฒนา dapp สามารถละทิ้งการสนทนาที่ลึกซึ้งยิ่งขึ้นเกี่ยวกับปัญหาความสามารถในการขยายและทางเลือกอื่นในการแก้ปัญหา สิ่งนี้มักจะนำไปสู่สถาปัตยกรรมที่ไม่มีประสิทธิภาพ โดยที่สัญญาอัจฉริยะที่ทำงานบนบล็อกเชนทำหน้าที่เป็นแบ็กเอนด์และแกนหลักของแอปพลิเคชัน

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

ก่อนอื่น เรามาดูวิธีการแบบดั้งเดิมซึ่งใช้บล็อคเชนเป็นตัวกลางโดยตรงระหว่างผู้ใช้แอปพลิเคชัน และไม่ได้ปรับขนาดได้ดีนัก

แนวทาง #1: Blockchain เป็นแบ็กเอนด์

เพื่อให้สิ่งต่าง ๆ ชัดเจนขึ้น เรามายกตัวอย่างอุตสาหกรรมโรงแรมกันดีกว่า นี่เป็นอุตสาหกรรมขนาดใหญ่ที่คนกลางอย่าง Booking.com พวกเขาคิดค่าธรรมเนียมมหาศาล สำหรับเชื่อมต่อแขกและโรงแรม

ในสถานการณ์ใดก็ตามที่เราต้องการเอาชนะคนกลางโดยใช้แนวทางนี้ เราจะพยายามจำลองตรรกะทางธุรกิจของเขาโดยใช้สัญญาอัจฉริยะบนบล็อกเชน เช่น Ethereum

สัญญาอัจฉริยะแบบโอเพ่นซอร์สที่ทำงานบน "คอมพิวเตอร์โลก" สามารถเชื่อมต่อผู้ค้ากับผู้บริโภคได้โดยไม่ต้องมีบุคคลที่สามอยู่ระหว่างนั้น ซึ่งท้ายที่สุดแล้ว ช่วยลดค่าธรรมเนียมและค่าคอมมิชชั่นที่เรียกเก็บโดยคนกลาง

ดังที่แสดงในภาพด้านล่าง โรงแรมใช้แอปพลิเคชันแบบกระจายอำนาจเพื่อโพสต์ข้อมูลบล็อกเชนเกี่ยวกับห้องพัก ห้องว่าง และราคาในวันธรรมดาหรือวันหยุดสุดสัปดาห์ และบางทีอาจเป็นคำอธิบายห้องพักพร้อมข้อมูลที่เกี่ยวข้องอื่น ๆ ทั้งหมด

จะสร้างแอปพลิเคชันแบบกระจายอำนาจที่ปรับขนาดได้อย่างไร ใช้บล็อกเชนให้น้อยลง

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

ปัญหาความสามารถในการปรับขยายมีสองด้านด้วยวิธีนี้ ประการแรก จำนวนธุรกรรมสูงสุดต่อวินาที ประการที่สอง จำนวนข้อมูลที่สามารถจัดเก็บบนบล็อกเชน

เรามาคำนวณคร่าวๆ กันดีกว่า Booking.com บอกว่ามีโรงแรมเกือบ 2 ล้านแห่งที่ลงทะเบียนกับพวกเขา สมมติว่าโรงแรมโดยเฉลี่ยมี 10 ห้อง และแต่ละห้องมีการจองเพียง 20 ครั้งต่อปี ซึ่งทำให้เรามีการจองเฉลี่ย 13 ห้องต่อวินาที

เพื่อให้เข้าใจตัวเลขนี้ในมุมมอง เป็นที่น่าสังเกตว่า Ethereum สามารถประมวลผลธุรกรรมได้ประมาณ 15 รายการต่อวินาที

ในขณะเดียวกันก็ควรพิจารณาว่าแอปพลิเคชันของเราจะมีธุรกรรมจากโรงแรมด้วย - สำหรับการดาวน์โหลดและอัปเดตข้อมูลเกี่ยวกับห้องพักอย่างต่อเนื่อง โรงแรมอัปเดตราคาห้องพักบ่อยมาก บางครั้งอาจเป็นรายวัน และการเปลี่ยนแปลงราคาหรือคำอธิบายแต่ละครั้งจำเป็นต้องมีธุรกรรมบนบล็อกเชน

นอกจากนี้ยังมีปัญหาด้านขนาดอีกด้วย - น้ำหนักของบล็อกเชน Ethereum เพิ่งเกินเครื่องหมาย 2TB หากแอปพลิเคชันด้วยวิธีนี้ได้รับความนิยมอย่างแท้จริง เครือข่าย Ethereum จะไม่เสถียรอย่างยิ่ง

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

ดังนั้น นักพัฒนา dapp จะต้องประเมินอย่างรอบคอบว่าแต่ละฟีเจอร์ที่ใช้บล็อคเชนนั้นจำเป็นต้องมีการเผยแพร่และไม่สามารถเขียนได้จริงหรือไม่

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

ถ้าเราเริ่มถามคำถามแบบนี้ เราจะเริ่มเห็นว่าเราไม่จำเป็นต้องใช้ฟีเจอร์บล็อกเชนราคาแพงทั้งหมดสำหรับฟังก์ชันทั้งหมดของเรา แล้วทางเลือกอื่นคืออะไร?

แนวทาง #2: สถาปัตยกรรมที่ได้รับแรงบันดาลใจจาก Blockstack

ถึงแม้จะเน้นเป็นหลักก็ตาม Blockstack บนแอปพลิเคชันที่ผู้ใช้เป็นเจ้าของข้อมูลของตน (เช่น เช่น ข้อความทางอากาศ, เบ็นเท็นซาวด์, เครื่องมือเพิ่มประสิทธิภาพรูปภาพ หรือ กราไฟท์) บล็อกสแต็กยังมีปรัชญาในการใช้บล็อกเชนแบบเบาๆ เฉพาะเมื่อมีความจำเป็นจริงๆ เท่านั้น ข้อโต้แย้งหลักของพวกเขาคือบล็อกเชนนั้นช้าและมีราคาแพง ดังนั้นจึงควรใช้สำหรับธุรกรรมครั้งเดียวหรือไม่บ่อยนักเท่านั้น การโต้ตอบกับแอปพลิเคชันที่เหลือควรเกิดขึ้นผ่านเพียร์ทูเพียร์ เช่น ผู้ใช้แอปพลิเคชันแบบกระจายอำนาจจะต้องแบ่งปันข้อมูลระหว่างกันโดยตรง แทนที่จะใช้บล็อกเชน ท้ายที่สุดแล้ว แอปพลิเคชันกระจายอำนาจที่เก่าแก่และประสบความสำเร็จมากที่สุด เช่น BitTorrent อีเมล และ Tor ถูกสร้างขึ้นก่อนแนวคิดของบล็อกเชน

จะสร้างแอปพลิเคชันแบบกระจายอำนาจที่ปรับขนาดได้อย่างไร ใช้บล็อกเชนให้น้อยลง
ซ้าย: แนวทางแรกที่ผู้ใช้โต้ตอบผ่านบล็อกเชน ขวา: ผู้ใช้โต้ตอบกันโดยตรง และบล็อกเชนใช้เพื่อการระบุตัวตนและสิ่งที่คล้ายกันเท่านั้น.

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

ทำไมเราไม่ปล่อยให้แขกและโรงแรมโต้ตอบกันโดยตรงแทนที่จะผ่านบล็อกเชน โรงแรมสามารถจัดเก็บราคา ห้องว่าง และข้อมูลอื่นๆ ไว้ในที่ที่ทุกคนสามารถเข้าถึงได้ เช่น IPFS, Amazon S3 หรือแม้แต่เซิร์ฟเวอร์ในเครื่องของโรงแรมเอง นี่คือสิ่งที่ระบบจัดเก็บข้อมูลแบบกระจายอำนาจของ Blockstack เรียกว่า Gaia. อนุญาตให้ผู้ใช้เลือกตำแหน่งที่ต้องการจัดเก็บข้อมูลและควบคุมผู้ที่สามารถเข้าถึงข้อมูลได้โดยใช้แนวทางที่เรียกว่า พื้นที่เก็บข้อมูลผู้ใช้หลายคน.

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

ในกรณีของ Blockstack จะมีเพียงข้อมูลประจำตัวของคุณเท่านั้นที่ถูกจัดเก็บไว้ในบล็อกเชน ข้อมูลเกี่ยวกับวิธีการรับข้อมูลของผู้ใช้แต่ละคนจะถูกจัดเก็บไว้ในไฟล์โซนและกระจายผ่านเครือข่ายเพียร์ทูเพียร์โดยใช้โหนด และอีกครั้งที่คุณไม่จำเป็นต้องเชื่อถือข้อมูลที่โหนดให้ เนื่องจากคุณสามารถตรวจสอบความถูกต้องได้โดยการเปรียบเทียบกับแฮชที่จัดเก็บไว้ในบล็อกเชนและผู้ใช้รายอื่น

ในระบบเวอร์ชันที่เรียบง่าย ผู้เข้าพักจะใช้เครือข่ายแบบ peer-to-peer ของ Blockstack เพื่อค้นหาโรงแรมและรับข้อมูลเกี่ยวกับห้องพักของตน และความถูกต้องและความสมบูรณ์ของข้อมูลทั้งหมดที่คุณได้รับสามารถตรวจสอบได้โดยใช้กุญแจสาธารณะและแฮชที่เก็บไว้ วงจรเสมือน บล็อกสแต็ค

สถาปัตยกรรมนี้ซับซ้อนกว่าแนวทางแรกและต้องการโครงสร้างพื้นฐานที่ครอบคลุมมากขึ้น ในความเป็นจริง นี่คือจุดที่ Blockstack เข้ามา โดยจัดหาองค์ประกอบที่จำเป็นทั้งหมดเพื่อสร้างระบบกระจายอำนาจดังกล่าว

จะสร้างแอปพลิเคชันแบบกระจายอำนาจที่ปรับขนาดได้อย่างไร ใช้บล็อกเชนให้น้อยลง

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

นอกจากนี้ ตรรกะของแอปพลิเคชันซึ่งตรงกันข้ามกับแนวทางแรก ทำงานบนฝั่งไคลเอ็นต์ ไม่ใช่บนสัญญาอัจฉริยะ สิ่งนี้ช่วยให้นักพัฒนาสามารถเปลี่ยนตรรกะนี้โดยไม่ต้องเสียค่าใช้จ่ายหรือบางครั้งก็เป็นไปไม่ได้เลยในการอัปเดตสัญญาอัจฉริยะ และด้วยการเก็บข้อมูลแอปพลิเคชันและลอจิกแบบออฟไลน์ แอปพลิเคชันแบบกระจายอำนาจจึงสามารถบรรลุระดับประสิทธิภาพและความสามารถในการปรับขนาดของระบบรวมศูนย์แบบเดิมได้

ข้อสรุป

แอปพลิเคชันที่ทำงานบน Blockstack สามารถปรับขนาดได้ดีกว่าแอปพลิเคชันบล็อกเชนทั่วไปมาก แต่เป็นแนวทางที่อายุน้อยกว่าที่มีปัญหาและคำถามที่ยังไม่มีคำตอบ

ตัวอย่างเช่น หากแอปพลิเคชันแบบกระจายอำนาจไม่ทำงานบนสัญญาอัจฉริยะ จะช่วยลดความจำเป็นในการใช้โทเค็นยูทิลิตี้ สิ่งนี้อาจทำให้เกิดปัญหาสำหรับธุรกิจเมื่อพิจารณาว่า ICO เป็นแหล่งเงินทุนหลักสำหรับแอปพลิเคชันที่มีการกระจายอำนาจ (รวมถึง Blockstack เองด้วย)

นอกจากนี้ยังมีปัญหาทางเทคนิคที่นี่ ตัวอย่างเช่น การใช้ฟังก์ชันการจองโรงแรมในสัญญาอัจฉริยะนั้นค่อนข้างง่าย โดยที่การดำเนินการแบบอะตอมมิก การจองห้องพักจะดำเนินการเพื่อแลกกับโทเค็น และยังไม่ชัดเจนว่าการจองจะทำงานอย่างไรในแอปพลิเคชัน Blockstack โดยไม่มีสัญญาอัจฉริยะ

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

ที่มา: will.com

เพิ่มความคิดเห็น