Cosmos พบกับ CometBFT
วันนี้เราประกาศเปิดตัว CometBFT ซึ่งเป็นกลไกจำลองเครื่องสถานะสำหรับอินเตอร์เชนและอื่นๆ! CometBFT เป็นทางแยกของTendermint Coreและจะทำหน้าที่เป็นเครื่องมือจำลองอย่างเป็นทางการที่ขับเคลื่อนInterchain Stack วิสัยทัศน์ระยะยาวสำหรับ CometBFT คือการเป็นตัวเลือกหลักของเครื่องมือจำลองสำหรับบล็อกเชนเฉพาะแอปพลิเคชันขนาดใหญ่ที่เชื่อถือได้ ปลอดภัย ส่งบล็อกของคุณกับ CometBFT วันนี้!
Interchain Foundation, Informal Systems, ทีม Cosmos SDK และทีมอื่นๆ อีกมากมายใน ระบบนิเวศ ของ Cosmosได้ทำงานร่วมกันเพื่อเตรียมการเปิดตัวนี้ โพสต์นี้จะจัดการกับคำถามที่สำคัญที่สุดบางข้อเกี่ยวกับการเปิดตัวนี้ วางใจได้ เราได้ทำงานอย่างหนักเพื่อให้การอัปเกรดหรือการนำ CometBFT มาใช้เป็นไปอย่างราบรื่นที่สุด เราจะกล่าวถึงรายละเอียดเบื้องหลัง วิสัยทัศน์และวัตถุประสงค์ของ CometBFT ทีมงานที่อยู่เบื้องหลังความพยายามนี้ และขั้นตอนต่อไปในแง่ของผลกระทบทางเทคนิค
ทำไมตอนนี้?
เราตัดสินใจพัฒนาเอนจิน Cosmos Consensus รุ่นเรือธงภายใต้ชื่อใหม่นี้เพื่อทำเครื่องหมายการเปลี่ยนแปลงที่สำคัญหลายอย่างที่แผ่ขยายไปทั่วระบบนิเวศ
ในด้านเทคนิค อินเตอร์เชนมีการพัฒนาอย่างมากในช่วงสองสามปีที่ผ่านมา เรากำลังอาศัยอยู่ในโลกหลายห่วงโซ่ที่เป็นเจ้าของโดย IBC ABCI 2.0เป็นส่วนสำคัญที่ขาดหายไปจาก Interchain Stack เช่นเดียวกับการออกแบบหรือการรับประกันคุณภาพ เช่น โมดูลาร์ การรวมระบบ หรือการทดสอบอย่างเข้มงวด นอกจากนี้ การละทิ้ง Tendermint Core รุ่น v0.35 และ v0.36 เผยให้เห็นข้อจำกัดทางเทคนิคเกี่ยวกับวิธีการพัฒนา ดูที่นี่สำหรับรายละเอียดเพิ่มเติม
ในปี 2022 องค์กรที่ดูแล Interchain Stack ได้ริเริ่มแนวทางเชิงกลยุทธ์เพื่อลดข้อจำกัดทางเทคนิคข้างต้น วิธีการนี้เกี่ยวข้องกับการสร้างและอุทิศทีมทั้งหมดให้กับ Tendermint Core ที่ Informal Systems นอกจากนี้ ในการเตรียมการเผยแพร่ เราเริ่มจัดลำดับความสำคัญของคุณภาพและการผสานรวมกับ Interchain Stack ที่เหลือ (เช่น Cosmos SDK, IBCและ Interchain Building Block ที่กว้างขึ้น)
ในด้านการดูแลระบบ เราไม่ได้เป็นเจ้าของ องค์กร Tendermint GitHub หรือสิทธิ์ในเครื่องหมายการค้าเหนือ “Tendermint'' All in Bits (AiB) เป็นเจ้าของ การพัฒนาซอฟต์แวร์ Tendermint Core เกิดขึ้นนอก All in Bits ในช่วงสามปีที่ผ่านมา อย่างไรก็ตาม ความเป็นเจ้าของเครื่องหมายการค้าของ AiB มีความเสี่ยงอย่างต่อเนื่องที่จะถูกดำเนินการเครื่องหมายการค้า หากไม่มีข้อตกลงที่ซับซ้อนกับ AiB ก็จะไม่สามารถลดความเสี่ยงนี้ได้อย่างเต็มที่ซึ่งอยู่เหนือหัวของผู้พัฒนาชิ้นส่วนที่สำคัญที่สุดของ Interchain Stack
ดังที่เราได้กล่าวไว้ก่อนหน้านี้บน Twitterและจากการสนทนานี้ AiB ตัดสินใจเพียงฝ่ายเดียวที่จะเก็บถาวรที่เก็บ Tendermint Core ดังนั้นหนทางข้างหน้าในการดำเนินการพัฒนาต่อไป และได้รับการสนับสนุนจาก AiB คือการแยกพื้นที่เก็บข้อมูล Tendermint Core CometBFT จะสร้างบนรากฐานที่วางโดย Tendermint Core โดยมีการพัฒนาใหม่โดยเน้นที่ผู้ใช้ คุณภาพ และการผสานรวม
ตามข้อกังวลด้านเทคนิคและการบริหารเหล่านี้ การเปลี่ยนแปลงที่สำคัญที่สุดอยู่ในวิสัยทัศน์ระยะยาว วัตถุประสงค์ และการบริหารของโครงการ สิ่งนี้นำเราไปสู่ส่วนถัดไปของการสนทนานี้
อะไรต่อไป?
ในฐานะสจ๊วตที่มุ่งมั่นของระบบนิเวศ Cosmos และ Interchain Foundation Interchain Foundationทำหน้าที่เป็นโฮสต์ที่เชื่อถือได้สำหรับการระดมทุนและสินทรัพย์สาธารณะ ICF เป็นเจ้าของเครื่องหมายการค้า “Cosmos” ตั้งแต่เริ่มก่อตั้ง และปกป้องการใช้งานเพื่อประโยชน์สูงสุดของชุมชนในวงกว้าง ในทำนองเดียวกัน ICF ได้จดเครื่องหมายการค้าชื่อ “CometBFT” และตั้งองค์กร CometBFT GitHub และตั้งใจที่จะดูแลทั้งสองอย่างในระยะยาวเพื่อประโยชน์สูงสุดสำหรับอินเตอร์เชนที่กำลังเติบโต CometBFT จะยังคงเป็นโอเพ่นซอร์สและ Apache2.0 ที่ได้รับอนุญาต เราขอเชิญบุคคลที่สนใจทั้งหมดมีส่วนร่วมในการเติบโตและการพัฒนาซอฟต์แวร์นี้ และเพื่อส่งเสริมคุณค่าของโอเพ่นซอร์ส
ดังที่ได้กล่าวไว้ก่อนหน้านี้ คำสั่งระยะยาวสำหรับ CometBFT คือการเป็นตัวเลือกหลักของเครื่องมือจำลองแบบสำหรับอินเตอร์เชน ทีม CosmosSDK, ทีม IBC, ผู้ดูแล CometBFT และทีมวิศวกรจำนวนมากที่ประกอบด้วยอินเตอร์เชน ทั้งในระดับแอปพลิเคชันและสินค้าสาธารณะ แบ่งปันวิสัยทัศน์ร่วมกันในการทำให้ CometBFT เป็นสถานที่ที่ทีมสามารถทดลองคุณสมบัติใหม่ๆ สร้าง และทำซ้ำด้วยการเพิ่มประสิทธิภาพ และรับประกันความยืดหยุ่นระดับสูงสำหรับผู้ใช้ ในขณะที่ยังคงความสมบูรณ์และความทนทานของสแต็ก หากคุณเป็นผู้มีส่วนร่วมใน Interchain Stack, ดำเนินการตรวจสอบหรือโหนด, บูรณาการกับระบบนิเวศอื่น ๆ หรือค้นหาเส้นทางรอบ ๆ Cosmos ในฐานะผู้ใช้ใหม่ ความช่วยเหลือของคุณจะได้รับการชื่นชมอย่างมากในการทำให้สิ่งนี้เป็นจริง ดู "ข้อมูลอ้างอิง" ด้านล่างเกี่ยวกับวิธีติดต่อเรา
วัตถุประสงค์ของ CometBFT คืออะไร?
ตามที่อธิบายไว้ข้างต้นและก่อนหน้านี้ ถือเป็นเฟสใหม่ในอินเตอร์เชน กลไกฉันทามติของมันกำลังพัฒนาเป็นหน่วยการสร้างเฉพาะสำหรับโลกที่เป็นเจ้าของภาษา IBC เราพยายามที่จะทำงานอย่างใกล้ชิดกับทีม Cosmos SDK และผู้ใช้ปัจจุบันต่อไป ในขณะเดียวกันก็อำนวยความสะดวกในการนำไปใช้สำหรับระบบนิเวศที่กำลังเติบโตของนักพัฒนาแอปพลิเคชันที่สร้างเหนือ ABCI และกับ IBC เป้าหมายระยะยาวที่สำคัญสำหรับ CometBFT คือการมีส่วนสำคัญในการสนับสนุนการเติบโตของอินเตอร์เชน
โดยเฉพาะอย่างยิ่ง วัตถุประสงค์ของ CometBFT คือ:
- มุ่งเน้นที่ผู้ใช้เป็นหลักด้วยกลยุทธ์ผลิตภัณฑ์ที่ชัดเจนซึ่งคำนึงถึงความต้องการของผู้ใช้เป็นอันดับแรก นี่เป็นทางเลือกเชิงกลยุทธ์เพื่อให้มั่นใจว่า CometBFT มีความเกี่ยวข้องและให้ประโยชน์
- ปรับปรุงการประกันคุณภาพและการรับประกันความถูกต้อง โดยมีเป้าหมายเพื่อระบุและทดสอบการใช้งานของเราอย่างเข้มงวดโดยใช้เทคนิคขั้นสูง เช่น การทดสอบตามแบบจำลอง เรากำลังนำความเชี่ยวชาญของเราในด้านข้อมูลจำเพาะและวิธีการที่เป็นทางการมาสนับสนุน QA ที่มีอยู่ ซึ่งเสริมด้วยความพยายามในการทดสอบขนาดใหญ่
- ความเป็นโมดูลาร์มุ่งเน้นไปที่ขอบเขตที่ถูกต้องของสิ่งที่เป็นนามธรรม ช่วยให้สามารถแยกระบบออกจากกันได้หากจำเป็น ทำให้สามารถบูรณาการทีละส่วนในโครงการที่ขึ้นอยู่กับระบบได้ เราต้องการอนุญาตให้ใช้ CometBFT เป็นไลบรารีมากขึ้น และลดส้อมและการกระจายตัวให้เหลือน้อยที่สุดด้วยการจัดเตรียมอินเทอร์เฟซใหม่เพื่อรองรับกรณีการใช้งานที่เพิ่มมากขึ้น
- การเปิดตัวฟังก์ชันที่เร็วขึ้นโดยไม่ลดทอนคุณภาพด้วยการอัปเดตสถาปัตยกรรมของระบบอย่างต่อเนื่องเพื่อทำหน้าที่เป็นแพลตฟอร์มเสียงสำหรับการเปลี่ยนแปลง ตลอดจนการประสานงานโครงการที่ราบรื่นยิ่งขึ้นทั่วทั้ง Interchain Stack ทั้งหมด
ใครอยู่เบื้องหลัง CometBFT?
การเปิดตัว CometBFT เป็นการตัดสินใจจากหลายองค์กร CometBFT ดูแลโดย Informal Systems โดยร่วมมือกับผู้มีส่วนได้ส่วนเสียของ Cosmos จำนวนมาก การเปิดตัวเกี่ยวข้องกับการทำงานระหว่างหลายทีมทั่วทั้งเครือข่าย ได้แก่ Cosmos SDK, IBC, Osmosis, Cosmos Hub และการประสานงานกับ Agoric, Axelar, Oasis, Penumbra, Celestia, Anoma, Skip, Umee, Confio, Nomic, Numia, Sei, Evmos , Sommelier, Andromeda, Cronos และอื่น ๆ อีกมากมาย
ทีม CometBFT ที่ Informal ประกอบด้วยผู้มีส่วนร่วมของ Cosmos ที่มีความสามารถและมีความกระตือรือร้นมากที่สุด เราจะติดตามผลบน Twitter ด้วยการแนะนำสมาชิกหลักของทีม เช่นเดียวกับสมาชิกที่สนับสนุนจากทีมอินเตอร์เชนอื่น ๆ ในตอนนี้ เพียงพอแล้วที่จะกล่าวว่าทีมงานหลักประกอบด้วยวิศวกรวิจัย DevOps และวิศวกรซอฟต์แวร์มากประสบการณ์ที่มีประสบการณ์รวมกันหลายทศวรรษ ตลอดจนผู้นำโครงการ ผลิตภัณฑ์ และเทคโนโลยีที่มีประสบการณ์รวมกันมากกว่า 10 ปีใน Cosmos
ขั้นตอนต่อไปในทันทีคืออะไร?
การเปิดตัว CometBFT เป็นความพยายามอย่างมากที่ยังคงดำเนินต่อไป สิ่งสำคัญที่ควรทราบมีดังนี้
หากงานของคุณขึ้นอยู่กับ CometBFTให้พิจารณาเข้าร่วมการโทรชุมชน ซึ่งจัดทุกสองสัปดาห์ในวันพฤหัสบดี:https://groups.google.com/g/cometbft-community/. นอกเหนือจากพื้นที่เก็บข้อมูล GitHub แล้ว การประชุมสายชุมชนยังเป็นฟอรัมสำคัญสำหรับการหารือเกี่ยวกับการพัฒนาของ CometBFT เป็นสถานที่สำหรับนักพัฒนาในการรวบรวมข้อเสนอแนะจากคุณ เพื่อตอบคำถาม และสำหรับคุณในฐานะผู้ใช้ เพื่อแลกเปลี่ยนความรู้อันมีค่ากับผู้ใช้รายอื่น
หากแอปพลิเคชันของคุณสร้างบน Cosmos SDK:เวอร์ชัน SDK ใหม่สำหรับบรรทัด 0.45, 0.46 และ 0.47 จะเผยแพร่โดยทีม Cosmos SDK รุ่นเหล่านี้จะใช้ CometBFT v0.34 แทน Tendermint Core 0.34 ตามข้อตกลงระหว่างผู้มีส่วนร่วมและโครงการ Interchain Stack การอัปเกรดเป็น SDK เวอร์ชันนี้ไม่จำเป็นต้องมีการอัปเกรดที่ประสานกัน เนื่องจากเป็นการเปลี่ยนแปลงเวอร์ชันเล็กน้อย บันทึกการเปลี่ยนแปลง Cosmos SDKจะบันทึกการเปลี่ยนแปลงที่เกี่ยวข้องสำหรับแอปพลิเคชันของคุณ
หากคุณกำลังสร้างบน Tendermint Core โดยตรง:ในฐานะผู้ดูแล เราขอแนะนำให้คุณเปลี่ยนจาก Tendermint Core v0.34 เป็น CometBFT v0.34 เราจะให้คำแนะนำในการอัปเกรดเมื่อเราตัดรุ่นแรกออก จับตาดูrepoที่นี่
หากคุณยังคงใช้ Tendermint Core ทางแยก:เราขอแนะนำให้เปลี่ยนไปใช้ CometBFT โดยเร็วที่สุด เช่น โดยการรีเบสหรือเชอร์รี่เลือกการเปลี่ยนแปลงที่เกี่ยวข้องไปยังทางแยกของ CometBFT เรายินดีที่จะช่วยเหลือในกระบวนการนี้ นอกจากนี้ เรายินดีรับคำติชมและข้อมูลเกี่ยวกับข้อกำหนดเฉพาะของคุณ เพื่อขจัดความจำเป็นที่คุณจะต้องรักษาส้อม (ดูข้อมูลอ้างอิง "ชุมชน" ด้านล่าง)
อ้างอิง
ที่นี่คุณจะพบลิงค์อย่างเป็นทางการและคำแนะนำที่เกี่ยวข้องกับ Comet:
- จะหาเครื่องมือฉันทามติ CometBFT ได้ที่ไหนhttps://github.com/cometbft/cometbft/. อย่าลืมที่จะติดดาว repo!
- จะหาการสนับสนุนได้อย่างไร? หากคุณเป็นนักพัฒนา สถานที่ที่ดีที่สุดสำหรับการสนับสนุนคือ เซิร์ฟเวอร์ Cosmos Network Discord ในช่อง`#cometbft`
- เราได้เปิดตัวช่องทาง Telegram เพื่อให้ได้รับข้อเสนอแนะและการสื่อสารที่รวดเร็ว และเพื่อจัดการกับช่วงเวลาแห่งการเปลี่ยนแปลงนี้ กรุณาเข้าร่วมที่นี่:https://t.me/CometBFT
- ลิงก์ไปยังเอกสารประกอบ:https://docs.cometbft.com/
- ที่จับใหม่สำหรับโครงการดังต่อไปนี้ องค์กร GitHub:https://github.com/cometbft/. ความขัดแย้ง: ใน เซิร์ฟเวอร์ Cosmos Networkเข้าร่วมช่อง`#cometbft` ช่อง `#tendermint-core`ที่มีอยู่จะเลิกใช้งาน
- Twitter: ประกาศและ การอัปเดตจะทำจาก@cometbftและ@informalinc
- สำหรับข้อมูลทั่วไป: [email protected]
- เพื่อความปลอดภัยหรือช่องโหว่: [email protected]
อัลกอริทึมฉันทามติที่อยู่ภายใต้ CometBFT คืออะไร
อัลกอริทึมฉันทามติที่ อยู่ภายใต้ CometBFT นั้นขึ้นอยู่กับ (เช่น เป็นการดำเนินการตาม) Tendermint Consensus
CometBFT จะย้ายออกจากอัลกอริทึมฉันทามติของ Tendermint หรือไม่
ไม่ได้อยู่ในการเปิดตัวครั้งแรก เรามุ่งมั่นที่จะสร้าง CometBFT ให้เป็นไลบรารีฉันทามติที่รวบรวมได้ ซึ่งอัลกอริธึมฉันทามติเริ่มต้นสามารถเปลี่ยนเป็นอย่างอื่นได้อย่างง่ายดาย แต่ไม่จำกัดเฉพาะอัลกอริทึมที่นำมาใช้โดยผู้ดูแลหลัก
นอกจากนี้ เรายังวางแผนที่จะทำงานร่วมกับทีมที่ทำการเปลี่ยนแปลงหรือเพิ่มประสิทธิภาพให้กับอัลกอริทึมที่สอดคล้องกันหรือที่อื่น ๆ (ดูทางแยกโดย LINE , PeggyJV , SeiNetworkหรือCelestia Org ) เพื่ออัพสตรีมการปรับเปลี่ยนที่ผู้ใช้รายอื่นต้องการเข้าสู่สายการพัฒนาหลัก
จะมี Tendermint Core ที่แข่งขันกันหลายอันที่จ่ายไฟให้กับอินเตอร์เชนหรือไม่
เป็นโอเพ่นซอร์สทั้งหมดดังนั้นจึงอาจมีได้ อย่างไรก็ตาม หน่วยการสร้างแบบบัญญัติจะสร้างขึ้นบน CometBFT Cosmos chain สร้างขึ้นด้วย Cosmos SDK (@cosmossdk) ซึ่งจะต่อยอดจาก CometBFT การพัฒนา Cosmos SDK จะดำเนินต่อไปตามปกติ
ที่ระดับ IBC ห้องสมุดจะยังคงสนับสนุน Tendermint light client ต่อไป CometBFT มีการปรับใช้อัลกอริธึมฉันทามติของ Tendermint ดังนั้นไคลเอนต์ Tendermint light จะยังคงทำงานกับ CometBFT ได้ตามปกติ
ทีมใดก็ตามอาจแยก CometBFT และแทนที่เอ็นจิ้นการจำลองในแอปพลิเคชันของตน แต่เราขอแนะนำให้คุณติดต่อเราหากคุณต้องการการเปลี่ยนแปลงที่สำคัญ (ดู “วิธีค้นหาการสนับสนุน” ด้านบน) เราจะนำความต้องการของคุณมาพิจารณาและปรับแผนงานทางเทคนิคของเราให้สอดคล้องกันเพื่อหลีกเลี่ยงหากเป็นไปได้ ส้อมที่ไม่จำเป็นหรือไม่ปลอดภัย
สิ่งนี้จะทำให้โซ่แยกหรือไม่?
ยืนยัน "ไม่" ระบบที่ใช้ Tendermint Core v0.34 สามารถอัปเกรดเป็น CometBFT v0.34 ได้ และสาย CometBFT v0.34 จะยังคงเข้ากันได้กับ Tendermint Core v0.34
หากฉันกำลังตรวจสอบความถูกต้องบนเครือข่ายที่ใช้ Tendermint Core จะมีข้อกังวลใดๆ สำหรับการดำเนินการของฉันหรือไม่
เราจะส่งสัญญาณการเปลี่ยนแปลงที่ทำลายอย่างระมัดระวังในบันทึกการเปลี่ยนแปลงของรุ่น และการเปลี่ยนแปลงที่ทำลายจะน้อยที่สุด ชื่อไบนารีสำหรับ Tendermint Core จะเปลี่ยนไป แต่แอปพลิเคชันส่วนใหญ่จะมีไบนารีเฉพาะแอป (เช่น`osmosisd` , `gaiad` ) ที่มี Tendermint Core คอมไพล์ (แทนที่ด้วย CometBFT) เว้นแต่คุณจะเรียกใช้ไบนารี Tendermint Core แยกต่างหาก สิ่งนี้จะไม่ส่งผลกระทบต่อการดำเนินการของคุณ การเปลี่ยนแปลงที่เกี่ยวข้องคือ`TMHOME` env var จะถูกเปลี่ยนชื่อเป็น` CMTHOME` คำสั่งย่อยเช่น`gaiad tendermint`อาจถูกเปลี่ยนชื่อตามเวลาที่กำหนด ขึ้นอยู่กับทีมที่รักษาไบนารี่ สิ่งนี้จะถูกทำเครื่องหมายไว้อย่างชัดเจนในบันทึกการเปลี่ยนแปลง
เกิดอะไรขึ้นกับ tendermint-rs
( https://github.com/informalsystems/tendermint-rs/ )
เราจะเปลี่ยนชื่อโครงการนี้ในไม่ช้าเป็น cometbft-rs และพัฒนาต่อไป
เกิดอะไรขึ้นกับ tm-db หรือ tm-load-test
เราได้แยกและเปลี่ยนชื่อ tm-db เป็นcometbft-dbและจะพัฒนาต่อไป ไม่มี API ใดเสียหายและการใช้งานเหมือนกัน ยกเว้นเป็นโมดูล Go อื่น: `github.com/cometbft/cometbft-db`
เราจะย้ายและเปลี่ยนชื่อtm-load-testเป็นcmt-load-testและจะพัฒนาต่อไป หมายเหตุ: ชื่อด้านบนบางชื่ออาจยังอยู่ในฟลักซ์
ปล. ด้วยจังหวะแห่งความสุขของจักรวาล การเปิดตัว CometBFT เกิดขึ้นพร้อมกับ Comet C /2022 E3 (ZTF) ซึ่งเข้าใกล้โลกของเรามากที่สุด ความสว่างของดาวหางถูกกำหนดให้ถึงจุดสูงสุดในวันนี้ และเพื่อมอบประสบการณ์การมองเห็นที่ยากจะลืมเลือนสำหรับผู้ที่สังเกตการณ์





































![รายการที่เชื่อมโยงคืออะไร? [ส่วนที่ 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)