ชื่อเรื่องต้นฉบับ: "ทำความเข้าใจเชน SUAVE ของ Flashbots จากมุมมองของนักพัฒนา: นอกจาก MEV แล้ว EVM + TEE ยังมีความเป็นไปได้อื่นๆ อะไรอีกบ้าง? 》
ผู้เขียนต้นฉบับ: ZHIXIONG PAN, DUGUBUYAN, ChainFeeds Research
เชน SUAVE มอบความสามารถอันทรงพลังเพียงพอให้กับการพัฒนาแอปพลิเคชันด้วยการแนะนำสภาพแวดล้อม TEE และสถานการณ์การใช้งานที่มีศักยภาพนั้นมีมากมาย นอกจากนี้ การทำงานข้ามเชนที่เรียบง่ายและสะดวกสบายยังให้พื้นที่เพียงพอสำหรับจินตนาการในการออกแบบ Dapp
SUAVE เป็นโครงการแบบกระจายอำนาจที่พัฒนาโดย Flashbots โดยสร้างเครือข่ายที่มีสภาพแวดล้อม TEE เพื่อแก้ไขปัญหาที่พบในกระบวนการ MEV เช่น การดูแลกุญแจและความไว้วางใจซึ่งกันและกันระหว่างหลายฝ่าย ในเวลาเดียวกัน การเพิ่ม TEE ให้กับโครงการ SUAVE ยังทำให้ SUAVE มีความเป็นไปได้มากขึ้นนอกเหนือจากการแก้ปัญหา MEV
โครงการ SUAVE ขึ้นอยู่กับส่วนขยายของ Ethereum ดังนั้นจึงเข้ากันได้โดยเนื้อแท้กับ EVM โปรเจ็กต์ที่เกี่ยวข้องในปัจจุบันบน GitHub ได้แก่: SUAVE-geth, SUAVE-std, SUAVE-examples และอื่นๆ
ในจำนวนนั้น SUAVE-geth เป็นโค้ดชั้นการดำเนินการที่ขยายตาม geth โดยหลักแล้วจะเพิ่มสภาพแวดล้อมการประมวลผลแบบเข้ารหัสโดยอิงจาก geth รวมไปถึงการคอมไพล์ล่วงหน้าบางส่วนในสภาพแวดล้อมการประมวลผลแบบเข้ารหัสด้วย สิ่งที่น่ากล่าวถึงเป็นพิเศษคือ มีการเพิ่มการคอมไพล์คำขอ HTTPS มาตรฐานไว้ล่วงหน้าแล้ว ซึ่งทำให้ผู้พัฒนาสามารถใช้สภาพแวดล้อม TEE เพื่อให้ผู้ใช้สามารถเข้าถึงเครือข่ายอื่นๆ ได้ นอกจากนี้ยังรวมชุดพรีคอมไพล์ที่อิงตามฟังก์ชันการใช้งาน TEE เช่น การรับพารามิเตอร์การเข้ารหัส การจัดเก็บข้อมูลการเข้ารหัส และการรับข้อมูลการเข้ารหัส ซึ่งประกอบด้วยโครงสร้างพื้นฐานการพัฒนาบนพื้นฐานของสภาพแวดล้อมที่เชื่อถือได้
SUAVE-std เป็นโปรเจ็กต์ที่สร้างขึ้นเพื่อความสะดวกของนักพัฒนาและสามารถเข้าใจได้ว่าเป็นไลบรารีเครื่องมือการพัฒนา ตัวอย่างเช่น จะแพ็คเกจวิธีใช้คำขอ HTTP และยังแพ็คเกจไลบรารีโค้ดที่ใช้ ChatGPT บนพื้นฐานนี้ด้วย สิ่งนี้ช่วยให้ผู้พัฒนาหลีกเลี่ยงการประกอบข้อความร้องขอ ChatGPT และแยกวิเคราะห์ข้อความตอบกลับ ChatGPT ด้วยตัวเอง พวกเขาจำเป็นต้องเปลี่ยนคีย์ API ของตัวเองเท่านั้นเมื่อประกอบข้อความคำขอ HTTP สภาพแวดล้อมความปลอดภัย TEE ช่วยให้มั่นใจในความปลอดภัยของคีย์ API เนื่องจากทุกอย่างดำเนินการในสภาพแวดล้อม TEE ในตอนแรกไลบรารีมาตรฐาน ChatGPT ใช้โมเดล GPT-3.5-turbo ตามค่าเริ่มต้น และอุณหภูมิตั้งไว้ที่ 0.7 ขณะนี้มีการเพิ่มอินเทอร์เฟซที่ยืดหยุ่น และสามารถส่งโมเดลเป็นพารามิเตอร์ได้อีกด้วย
โครงการตัวอย่าง SUAVE มีวัตถุประสงค์หลักเพื่อแสดงตัวอย่างบางกรณีเกี่ยวกับวิธีการพัฒนาแอปพลิเคชัน หรืออาจเหมาะสมกว่าที่จะบอกว่าเป็นบทช่วยสอนสำหรับผู้เริ่มต้น สำหรับนักพัฒนาที่ยังใหม่ต่อการพัฒนาแอปพลิเคชัน SUAVE พวกเขาสามารถเรียนรู้และเปรียบเทียบผ่านกรณีศึกษาในโครงการนี้ได้
เนื่องจาก SUAVE ขึ้นอยู่กับส่วนขยายของ Ethereum (สภาพแวดล้อมที่ปฏิบัติการได้เรียกว่า MEVM หรือ Modified Ethereum Virtual Machine) การพัฒนาสัญญาอัจฉริยะจึงเข้ากันได้กับ EVM และเอกสารการพัฒนาอย่างเป็นทางการทั้งหมดมีอยู่ใน Solidity ดังนั้นสำหรับนักพัฒนาประสบการณ์ในการพัฒนา Solidity จึงสามารถใช้ประโยชน์ได้อย่างเต็มที่ ในการพัฒนาแอปพลิเคชัน SUAVE การพัฒนาสัญญาอัจฉริยะสามารถเข้าใจได้ว่าเป็นการพัฒนา Solidity ที่มีฟังก์ชันการประมวลผลแบบเข้ารหัสในสภาพแวดล้อม TEE
มีการพรีคอมไพล์ SUAVE MEVM สำคัญหลายรายการ อันแรกคือข้อมูลอินพุตที่เป็นความลับ การพรีคอมไพล์นี้ยอมรับพารามิเตอร์การเข้ารหัสจากคำขอแอปพลิเคชัน โดยทั่วไปพารามิเตอร์นี้จะเป็นข้อมูลส่วนตัวบางอย่างที่จำเป็นต้องเข้ารหัส เช่น คีย์ส่วนตัว คีย์ API เป็นต้น จะต้องรับประกันความปลอดภัยโดยกำหนดให้ข้อความธรรมดาปรากฏได้ในสภาพแวดล้อม TEE เท่านั้น ในการพัฒนาแอปพลิเคชัน ข้อมูลจะได้รับผ่านอินเทอร์เฟซนี้ กระบวนการส่งข้อมูลได้รับการเข้ารหัสอย่างสมบูรณ์ ปลอดภัย และเชื่อถือได้ เราจะมาพูดถึงหลักการนี้ในภายหลัง ส่วนที่สองคือ ConfidentialStore ซึ่งใช้ในการจัดเก็บข้อมูลส่วนตัว เมื่อเราได้รับข้อมูลส่วนตัวจากพารามิเตอร์ เรามักไม่จำเป็นต้องใช้ข้อมูลดังกล่าวในการเข้าร่วมการคำนวณในขณะนั้น ดังนั้นเราจึงเก็บข้อมูลดังกล่าวไว้สำหรับการใช้งานในภายหลัง อันที่สามคือข้อมูลลับ อินเทอร์เฟซนี้ใช้เพื่อร้องขอข้อมูลข้อความธรรมดาจากสภาพแวดล้อมบริบท TEE เมื่อต้องการข้อมูลส่วนตัวสำหรับการคำนวณในภายหลัง
การจัดเก็บข้อมูลส่วนตัวอย่างปลอดภัยของ SUAVE ช่วยให้ผู้พัฒนาสามารถดำเนินการตามสถานการณ์ต่อไปนี้ได้: "ผู้ใช้ทำการอัปโหลดคีย์ส่วนตัว จากนั้นบุคคลที่สามจะดำเนินการคำนวณทางธุรกิจ เมื่อตรงตามเงื่อนไขแล้ว บุคคลที่สามจะสามารถใช้คีย์ส่วนตัวของผู้ใช้เพื่อลงนามได้โดยตรง ด้วยวิธีนี้ บุคคลที่สามจะสามารถใช้คีย์ส่วนตัวของผู้ใช้เพื่อลงนามภายใต้กฎเกณฑ์บางประการได้ แต่บุคคลที่สามจะไม่สามารถรับข้อความธรรมดาของคีย์ส่วนตัวได้เลย"
SUAVE ใช้คำขอ HTTPS สำหรับการดำเนินการข้ามสายโซ่ มีไลบรารีชื่อ gateway ในชุดเครื่องมือสำหรับการอ่านข้อมูลข้ามสายโซ่โดยตรง สาระสำคัญคือผู้ใช้ตั้งค่าโหนด RPC ของเครือข่ายใดเครือข่ายหนึ่ง โดยทั่วไปแล้ว ผู้ใช้จะอัปโหลดข้อมูลคีย์ API เช่น Infura และ Etherscan จากนั้นจึงใช้คำขอ HTTP โดยตรงไปยังโหนดที่เกี่ยวข้องเมื่อจำเป็นต้องโทร เมื่อจำเป็นต้องเขียนข้อมูลแบบข้ามสายโซ่ ชุดเครื่องมือจะรวมแพ็คเกจธุรกรรมที่สามารถช่วยให้นักพัฒนาเข้ารหัสข้อความเช่น EIP1559 และสุดท้ายออกอากาศธุรกรรมผ่านอินเทอร์เฟซ eth_sendRawTransaction
สถานการณ์การใช้งานอื่น ๆ ที่ควรกล่าวถึงคือการอัปโหลดและจัดเก็บไบต์โค้ดที่รวบรวมโดย Solidity เป็นพารามิเตอร์ส่วนตัว และปรับใช้และเรียกใช้เมื่อตรงตามเงื่อนไข จึงสร้างเป็นไลบรารีส่วนตัว สถานการณ์การใช้งานนี้สามารถขยายได้เป็น: คีย์ส่วนตัว + ไลบรารีไบต์โค้ดส่วนตัว วิธีนี้ช่วยให้สามารถดำเนินธุรกรรมที่เป็นส่วนตัวได้อย่างสมบูรณ์เมื่อทำการโทรที่ได้รับมอบหมายจากบุคคลที่สาม
สถานะสุดท้ายของ SUAVE คือโซ่ ซึ่งเราเรียกว่าโซ่ SUAVE เราถือว่าโซ่ SUAVE เป็นโซ่ที่ใช้ MEVM เนื่องจากเป็นบล็อคเชนที่เข้ากันได้กับ EVM เราจึงสามารถสร้างสินทรัพย์เช่น ERC20, ERC721 และอื่นๆ บน SUAVE ได้เช่นกัน และการดำเนินการบนเชนนั้นไม่แตกต่างไปจากการดำเนินการในซีรีส์เชน EVM อย่างไรก็ตาม ความพิเศษอยู่ที่การเพิ่มการดำเนินการนอกเครือข่าย เช่น การส่งธุรกรรมไปยังโหนดในเครือข่ายอื่น ผลลัพธ์ของการดำเนินการนอกเครือข่ายหรือเงื่อนไขการใช้งานสามารถจัดเก็บไว้บนเครือข่าย SUAVE ได้ และผลลัพธ์ที่จัดเก็บไว้จะได้รับการรับประกันโดยฉันทามติ สิ่งนี้จะทำให้แน่ใจถึงความสอดคล้องระหว่างการคำนวณนอกเครือข่ายและสถานะบนเครือข่าย ตัวอย่างเช่น นักพัฒนาสามารถเขียนสัญญาอัจฉริยะและบันทึกเงื่อนไขบางอย่างบนเชน (ซึ่งสามารถแก้ไขได้เช่นกัน) เมื่อเข้าถึงโหนดเครือข่ายสายโซ่บางโหนดแล้ว และผลลัพธ์ที่ส่งคืนตรงตามข้อกำหนด สินทรัพย์ ERC20 ที่ตั้งไว้ล่วงหน้าจะถูกโอน
คุณสมบัติข้างต้นทั้งหมดเป็นคุณสมบัติที่นำเสนอโดยระบบประมวลผลที่เชื่อถือได้นอกเครือข่ายของ SUAVE เราทราบดีว่า SUAVE ได้รับการพัฒนาโดยทีมงาน Flashbots และทีมงาน Flashbots มองว่า SUAVE นั้นเป็น "อนาคตของ MEV" ดังนั้นการประมวลผลธุรกรรมแบบรวมจึงมีความจำเป็นอย่างแน่นอน หลักการที่เกี่ยวข้องกับ MEV นั้นง่ายมากโดยอิงจากเครือข่าย SUAVE ในสภาพแวดล้อมที่เชื่อถือได้: ประกอบธุรกรรมแบบมัดและส่งไปยังโหนดรีเลย์ Flashbots สามารถจัดเก็บคีย์ส่วนตัวและแม้แต่รหัสต่างๆ ได้อย่างเป็นส่วนตัว ซึ่งสร้างศักยภาพในการใช้งานมหาศาล ตัวอย่างเช่น นอกเหนือจากรางวัลก๊าซบนเครือข่ายเป้าหมายแล้ว ผู้สร้างยังสามารถรับสินทรัพย์ดิจิทัลบางส่วนบนเครือข่าย SUAVE ได้อีกด้วย สำหรับตลาด MEV การสามารถกำหนดธุรกิจได้อย่างยืดหยุ่นในขณะที่ยังรับรองความปลอดภัยของข้อมูลส่วนบุคคลเป็นสิ่งที่ MEV ไม่สามารถทำได้ในปัจจุบัน (ปัจจุบัน MEV สามารถให้การรับประกันแบบนอกเครือข่ายแบบดั้งเดิมได้เท่านั้นโดยอิงจากความไว้วางใจ สัญญา ชื่อเสียงทางการค้า ฯลฯ)
สำหรับนักพัฒนา นอกเหนือจากการพัฒนาสัญญาอัจฉริยะแบบออนเชนแล้ว ชุดเครื่องมือเช่น ether.js ในการพัฒนาส่วนหน้าก็เป็นส่วนสำคัญในการพัฒนา dapp เช่นกัน ในการพัฒนาแอปพลิเคชัน SUAVE เนื่องจากเชน SUAVE ขึ้นอยู่กับ EVM จึงสามารถใช้เครื่องมือเช่น ether.js และ web3.js ได้เช่นกัน เครื่องมือเหล่านี้โต้ตอบกับสัญญาอัจฉริยะบนเครือข่าย SUAVE และเครือข่ายอื่น ๆ ที่เข้ากันได้กับ EVM ในลักษณะเดียวกัน แต่สามารถเรียกใช้ฟังก์ชันในสภาพแวดล้อมที่ไม่เป็นความลับได้เท่านั้น สัญญาอัจฉริยะของโซ่ SUAVE แบ่งออกเป็นการดำเนินการแบบออนเชน (หมายถึงโซ่ SUAVE) และการดำเนินการแบบออฟเชน (การดำเนินการแบบครอสเชนก็รวมอยู่ในหมวดหมู่นี้ด้วย) การดำเนินการนอกเครือข่ายจริง ๆ แล้วหมายถึงการคำนวณสภาพแวดล้อมที่เป็นความลับ สำหรับสภาพแวดล้อมการคำนวณที่เป็นความลับ ทีมงาน Flashbots จัดเตรียม SDK ในสองภาษา (Go และ TypeScript) ซึ่งอธิบายไว้ในเอกสาร SUAVE เมื่อส่งธุรกรรมการประมวลผลความเป็นส่วนตัว (เรียกว่า Confidential Compute Request โดยทีมงาน Flashbots) ไปยังโหนด SUAVE อินพุตที่เป็นความลับซึ่งเป็นพารามิเตอร์ส่วนตัวสามารถส่งเข้ามาได้ ในระหว่างกระบวนการส่งข้อมูลทั้งหมด ข้อความธรรมดาขั้นสุดท้ายของพารามิเตอร์นี้จะปรากฏในสภาพแวดล้อม TEE เท่านั้น
ในที่สุด เมื่อพูดถึงการใช้งานสัญญาอัจฉริยะ เครือข่ายทดสอบของเครือข่าย SUAVE เรียกว่า Regil แต่ตอนนี้ได้รับการอัปเกรดเป็น Toliman แล้ว วิธีการใช้งานมีอธิบายไว้โดยละเอียดในเอกสาร SUAVE วิธีการใช้งาน การโต้ตอบหลังการใช้งาน ฯลฯ ไม่แตกต่างไปจากการใช้งานสัญญาอัจฉริยะ Ethereum
หลังจากที่สัญญาอัจฉริยะถูกปรับใช้ การทำงานจริงจะแตกต่างจาก Ethereum หน่วยการทำงานหลักของ SUAVE เรียกว่า Kettle Kettle คือสภาพแวดล้อมรันไทม์ TEE ของ SUAVE (ประกอบด้วยโหนด MEVM และที่เก็บข้อมูลลับ) หลังจากที่นักพัฒนาเขียนและใช้งานสัญญาอัจฉริยะแล้ว ผู้ใช้จะส่งคำขอการประมวลผลที่เป็นความลับ (ต่อไปนี้เรียกว่า CCR) เมื่อสัญญาอัจฉริยะจำเป็นต้องใช้การประมวลผลที่เป็นความลับ พวกมันจะถูกเรียกใช้โดย Kettle
โครงสร้างของ Kettle มีดังนี้:

เราจะเห็นได้ว่านักพัฒนาใช้ภาษา Solidity เพื่อพัฒนาและปรับใช้แอปพลิเคชัน และหลังจากที่คำขอสุดท้ายถึง Kettle แล้ว จะได้รับการประมวลผลโดย MEVM นอกเหนือจากฟังก์ชั่นของ geth แล้ว MEVM ยังเพิ่มการพรีคอมไพล์บางส่วนลงไปด้วย ซึ่งสามารถจัดเก็บและดึงข้อมูลส่วนตัว ฯลฯ ได้ นอกจากนี้ ยังจัดการ (รวมถึงการแก้ไขและดึงข้อมูล) สถานะบนเชน SUAVE อีกด้วย
งานหลักของ Kettle คือการรับและประมวลผลการคำนวณส่วนตัว รวมถึงจัดการการจัดเก็บและการดึงข้อมูลส่วนตัว หากใช้การจัดเก็บข้อมูลส่วนตัวเป็นตัวอย่าง กระบวนการทั้งหมดจะเป็นดังนี้: ส่วนหน้าของผู้ใช้จะใช้ SDK หรือเครื่องมือ suave geth เพื่อเริ่มคำขอ CCR ไปยังสัญญาอัจฉริยะบนเครือข่าย SUAVE SDK หรือเครื่องมือ suave geth จะใช้คีย์ข้อมูล (คีย์สมมาตร) เพื่อเข้ารหัสข้อมูลส่วนตัว คีย์ข้อมูลนี้จะปรากฏในสภาพแวดล้อม Kettle เท่านั้น และโหนด RPC ของ SUAVE จะเห็นเฉพาะข้อความเข้ารหัสเท่านั้น ในเอกสาร SUAVE ไม่ได้ระบุว่ากาต้มน้ำมีความสัมพันธ์แบบหนึ่งต่อหนึ่งกับโหนดหรือไม่ ในทำนองเดียวกัน หลักการโดยละเอียดของ Kettle เอง โหนด และการแลกเปลี่ยนคีย์ไม่ได้ถูกนำเสนอในเอกสาร อย่างไรก็ตาม จากกระบวนการเข้ารหัสและถอดรหัสที่ทราบ นักพัฒนาจึงเชื่อได้ว่าการปกป้องข้อมูลส่วนตัวสามารถรับประกันได้ตั้งแต่ส่วนหน้าของผู้ใช้ไปจนถึงสภาพแวดล้อม TEE ภายใน Kettle
ข้อมูลส่วนตัว Kettle จะถูกเก็บไว้ในที่เก็บข้อมูลลับ เมื่อมีการพัฒนาสัญญาอัจฉริยะ นักพัฒนาจะระบุตัวเข้าถึงและตัวปรับเปลี่ยนข้อมูล Kettle จะเผยแพร่ผ่านเครือข่ายการขนส่ง หากมีการระบุการเข้าถึงสำหรับสัญญานี้ คำขอ CCR ที่ตามมาจะต้องถูกส่งไปยัง Kettle นี้ด้วย เนื่องจากการจัดเก็บข้อมูลของ Kettle ไม่ได้รับการอัปเดตทั่วโลก หลังจากที่นักพัฒนาปรับใช้สัญญาอัจฉริยะแล้ว ผู้ใช้จะเข้าถึง Kettle ที่เกี่ยวข้อง (มีพารามิเตอร์ในคำขอ CCR และต้องระบุที่อยู่ Kettle) และสามารถเข้าถึงข้อมูลส่วนตัวได้ เมื่อผู้ใช้ส่ง CCR และร้องขอข้อมูลส่วนตัวในสัญญาอัจฉริยะ ข้อมูลดังกล่าวจะถูกดึงข้อมูลโดยใช้ ID และคีย์ที่สร้างขึ้นเมื่อจัดเก็บข้อมูลที่เกี่ยวข้อง กล่าวอีกนัยหนึ่งข้อมูลส่วนตัวจะถูกเข้าถึงและใช้ผ่านค่าคีย์ของมัน
คำขอ HTTP ฯลฯ ได้รับการจัดการโดย Kettle เช่นกัน เห็นได้ชัดว่านี่คืองานที่อยู่นอกเครือข่าย SUAVE ซึ่งหมายถึงงานเหล่านี้ดำเนินการโดยโหนดเดียว แม้ว่า SUAVE จะเป็นเครือข่าย แต่คุณสมบัติของบล็อคเชนนั้นอ่อนแอ เมื่อ Kettle รันคำขอ CCR จะไม่มีโหนดจำนวนมากที่ทำงานและตรวจสอบมัน เหตุผลก็ง่ายๆ เมื่อเข้าถึงทรัพยากรภายนอกเครือข่ายไม่มีการรับประกันถึงความเป็นอุดมคติ ดังนั้น งานเหล่านี้จึงอยู่ภายนอกห่วงโซ่ SUAVE และผลลัพธ์จะขึ้นอยู่กับโหนดจริงๆ ดังนั้น นักพัฒนาควรใส่ใจกับที่อยู่ Kettle ในระหว่างการปรับใช้ (จากมุมมองนี้ Kettle ถือเป็นสัญญาอัจฉริยะพิเศษได้) และคำขอ CCR ของผู้ใช้ที่ตามมาจะต้องมีที่อยู่ Kettle ที่สอดคล้องกัน
นอกจากนี้ ยังมีปัญหาอีกประการหนึ่งที่นักพัฒนาควรใส่ใจ ในเครือข่ายทดสอบปัจจุบัน Toliman ไม่รับประกันว่า Kettle จะทำงานในสภาพแวดล้อม TEE ดังนั้นในการพัฒนาสัญญาอัจฉริยะบนเครือข่ายทดสอบ คุณต้องใส่ใจกับการปกป้องข้อมูลส่วนตัวและหลีกเลี่ยงการรั่วไหลของข้อมูลส่วนตัวอย่างแท้จริง
การนำสภาพแวดล้อม TEE มาใช้ ทำให้โซ่ SUAVE สามารถนำความสามารถอันทรงพลังมาสู่การพัฒนาแอปพลิเคชันได้ และสถานการณ์แอปพลิเคชันที่มีศักยภาพก็มีจำนวนมาก การทำงานของโซ่ข้ามที่เรียบง่ายและสะดวกสบายยังให้พื้นที่เพียงพอสำหรับจินตนาการในการออกแบบ Dapp อีกด้วย
การออกแบบ Kettle ของเครือข่าย SUAVE สามารถประมวลผลทรัพยากรนอกเครือข่ายได้ ซึ่งทำให้เกิดปัญหาในการตรวจยืนยันและการบรรลุฉันทามติ Kettle ที่ไม่ซื่อสัตย์สามารถทำลายล้างเครือข่ายได้ จะมั่นใจได้อย่างไรว่า Kettle จะไม่ทำความชั่ว หรือเขาจะถูกลงโทษหากทำความชั่ว หรือว่าการทำความชั่วจะต้องเสียค่าใช้จ่ายสูงเพียงพอ เหล่านี้คือปัญหาทั้งหมดที่ต้องได้รับการแก้ไข นักพัฒนายังคงรอคอยที่จะดูว่าโมเดล PoA ที่ใช้โดยฉันทามติของเครือข่าย SUAVE จะสามารถทนต่อการพิจารณาเชิงปฏิบัติได้หรือไม่
ยินดีต้อนรับสู่ชุมชนทางการของ BlockBeats:
กลุ่ม Telegram สมัครสมาชิก: https://t.me/theblockbeats
กลุ่ม Telegram พูดคุย: https://t.me/BlockBeats_App
บัญชี Twitter ทางการ: https://twitter.com/BlockBeatsAsia