Cosmos: Một mạng lưới sổ cái phân tán
การแนะนำ
ความสำเร็จร่วมกันของระบบนิเวศโอเพ่นซอร์ส การแบ่งปัน yle แบบกระจายอำนาจ และ cryptocurrencies สาธารณะก็มี เป็นแรงบันดาลใจให้เกิดความเข้าใจว่าโปรโตคอลอินเทอร์เน็ตแบบกระจายอำนาจ สามารถใช้เพื่อปรับปรุงโครงสร้างพื้นฐานทางเศรษฐกิจและสังคมอย่างรุนแรง เราได้เห็นแอปพลิเคชันพิเศษ blockchain เช่น Bitcoin [1] (a cryptocurrency), Zerocash [2] (สกุลเงินดิจิตอลเพื่อความเป็นส่วนตัว) และ แพลตฟอร์ม smart contract ทั่วไป เช่น Ethereum [3] ด้วย แอปพลิเคชั่นแบบกระจายจำนวนนับไม่ถ้วนสำหรับ Etherium Virtual เครื่องจักร (EVM) เช่น Augur (ตลาดการทำนาย) และ TheDAO [4] (สโมสรการลงทุน) อย่างไรก็ตาม จนถึงขณะนี้ blockchains เหล่านี้ได้รับความเดือดร้อนจากจำนวนหนึ่ง ข้อเสีย รวมถึงการขาดพลังงานรวม แย่หรือ ประสิทธิภาพที่จำกัด และกลไกการกำกับดูแลที่ยังไม่บรรลุนิติภาวะ ข้อเสนอเพื่อขยายปริมาณธุรกรรมของ Bitcoin เช่น แยกพยาน [5] และ BitcoinNG [6] เป็นการปรับขนาดแนวตั้ง โซลูชันที่ยังคงถูกจำกัดด้วยความจุทางกายภาพเพียงเครื่องเดียว เครื่องจักรเพื่อให้มั่นใจในคุณสมบัติของการตรวจสอบที่สมบูรณ์ Lightning Network [7] สามารถช่วยปรับขนาดธุรกรรม Bitcoin ได้
ปริมาณโดยทิ้งธุรกรรมบางอย่างออกจากบัญชีแยกประเภทโดยสมบูรณ์ และเหมาะอย่างยิ่งสำหรับการชำระเงินแบบไมโครและการรักษาความเป็นส่วนตัว รางการชำระเงิน แต่อาจไม่เหมาะกับการใช้งานทั่วไปมากขึ้น ความต้องการปรับขนาด วิธีแก้ปัญหาในอุดมคติคือวิธีที่อนุญาตให้ blockchains หลายขนานกันได้ ทำงานร่วมกันโดยยังคงรักษาคุณสมบัติด้านความปลอดภัยไว้ นี้ก็มี พิสูจน์แล้วว่าเป็นเรื่องยาก หากไม่ใช่เป็นไปไม่ได้ ด้วย proof-of-work รวมแล้ว ตัวอย่างเช่น การขุดช่วยให้งานที่ทำสามารถรักษาความปลอดภัยให้กับผู้ปกครองได้ chain เพื่อนำมาใช้ซ้ำบน chain ลูก แต่ธุรกรรมจะต้องยังคงอยู่ ตรวจสอบตามลำดับโดยแต่ละโหนดและ blockchain ที่ขุดแบบผสาน มีความเสี่ยงที่จะถูกโจมตีหากพลัง hashing ส่วนใหญ่บน parent ไม่ได้ทำการผสานการขุดลูกอย่างแข็งขัน การทบทวนทางวิชาการ ของสถาปัตยกรรมเครือข่ายทางเลือก blockchain มีไว้สำหรับ บริบทเพิ่มเติมและเราให้ข้อมูลสรุปของข้อเสนออื่นๆ และข้อเสียในงานที่เกี่ยวข้อง ที่นี่เราขอนำเสนอ Cosmos สถาปัตยกรรมเครือข่ายแบบใหม่ blockchain ที่ตอบโจทย์ปัญหาเหล่านี้ทั้งหมด Cosmos เป็นเครือข่ายของหลายๆ คน blockchains อิสระ เรียกว่าโซน โซนต่างๆ ขับเคลื่อนโดย Tendermint Core [8] ซึ่งให้ประสิทธิภาพสูง กลไกฉันทามติเหมือน PBFT ที่สอดคล้องและปลอดภัย โดยที่การรับประกันการรับผิดชอบที่เข้มงวดจะยึดถือพฤติกรรมของผู้ประสงค์ร้าย นักแสดง อัลกอริธึมฉันทามติ BFT ของ Tendermint Core เหมาะสมอย่างยิ่ง สำหรับการปรับขนาดสาธารณะ proof-of-stake blockchains โซนแรกบน Cosmos เรียกว่า Cosmos Hub Cosmos Hub เป็นสกุลเงินดิจิตอล proof-of-stake หลายสินทรัพย์ที่มีความเรียบง่าย กลไกการกำกับดูแลที่ทำให้เครือข่ายสามารถปรับตัวและ อัพเกรด นอกจากนี้ Cosmos Hub ยังสามารถขยายได้ด้วย เชื่อมต่อโซนอื่นๆ ฮับและโซนของเครือข่าย Cosmos สื่อสารด้วย ซึ่งกันและกันผ่านทางโปรโตคอลการสื่อสารระหว่าง-blockchain (IBC) UDP เสมือนหรือ TCP ชนิดหนึ่งสำหรับ blockchains โทเค็นสามารถเป็นได้ ถ่ายโอนจากโซนหนึ่งไปยังอีกโซนหนึ่งอย่างปลอดภัยและรวดเร็วโดยไม่ต้องมีการแลกเปลี่ยนสภาพคล่องระหว่างโซน แทน การถ่ายโอน token ระหว่างโซนทั้งหมดจะต้องผ่าน Cosmos Hub ซึ่ง ติดตามจำนวนรวมของ tokens ที่ถือโดยแต่ละโซน ที่ ฮับจะแยกแต่ละโซนออกจากความล้มเหลวของโซนอื่น เพราะว่า ทุกคนสามารถเชื่อมต่อโซนใหม่กับ Cosmos Hub ได้ โซนอนุญาต เพื่อความเข้ากันได้กับนวัตกรรม blockchain ใหม่ในอนาคต ในส่วนนี้ เราจะอธิบายโปรโตคอลฉันทามติของ Tendermint และอินเทอร์เฟซที่ใช้สร้างแอปพลิเคชันด้วย สำหรับข้อมูลเพิ่มเติม รายละเอียดดูภาคผนวก ในอัลกอริธึมความทนทานต่อข้อผิดพลาดของไบเซนไทน์คลาสสิก (BFT) แต่ละโหนด มีน้ำหนักเท่ากัน ใน Tendermint โหนดจะมีค่าไม่เป็นลบ จำนวนอำนาจการลงคะแนนเสียง และโหนดที่มีการลงคะแนนเสียงเชิงบวก กำลังเรียกว่า validators ผู้ตรวจสอบมีส่วนร่วมใน โปรโตคอลฉันทามติโดยการเผยแพร่ลายเซ็นเข้ารหัสหรือ โหวตเพื่อตกลงในบล็อกถัดไป อำนาจการลงคะแนนของผู้ตรวจสอบจะถูกกำหนดตั้งแต่กำเนิดหรือเป็น เปลี่ยนตามที่กำหนดโดย blockchain ขึ้นอยู่กับ ใบสมัคร ตัวอย่างเช่น ในแอปพลิเคชัน proof-of-stake เช่น Cosmos Hub อำนาจการลงคะแนนอาจถูกกำหนดโดย จำนวน staking tokens ที่ผูกมัดเป็นหลักประกัน หมายเหตุ: เศษส่วนเช่น ⅔ และ ⅓ หมายถึงเศษส่วนของการลงคะแนนเสียงทั้งหมด กำลัง ไม่เคยเป็นจำนวนรวมของ validators ยกเว้น validators ทั้งหมด มีน้ำหนักเท่ากัน >⅔ หมายถึง “มากกว่า ⅔”, ≥⅓ หมายถึง “อย่างน้อย ⅓” Tendermint เป็นโปรโตคอลฉันทามติ BFT แบบซิงโครนัสบางส่วน มาจากอัลกอริธึมฉันทามติ DLS [20] อ่อนโยนคือ
โดดเด่นด้วยความเรียบง่าย ประสิทธิภาพ และความรับผิดชอบทางแยก โปรโตคอลต้องการชุด validators ที่รู้จัก yxed โดยที่แต่ละชุด validator ถูกระบุโดยรหัสสาธารณะ ผู้ตรวจสอบพยายามที่จะ ตกลงกันทีละบล็อก โดยที่บล็อกคือรายการ ของการทำธุรกรรม การลงคะแนนเสียงเพื่อให้เห็นพ้องต้องกันในบล็อกดำเนินไป รอบ แต่ละรอบจะมีผู้นำรอบหรือผู้เสนอชื่อใคร เสนอบล็อก จากนั้น validators จะลงคะแนนเสียงเป็นระยะว่าหรือไม่ เพื่อยอมรับบล็อกที่เสนอหรือผ่านเข้าสู่รอบต่อไป ที่ ผู้เสนอรอบจะถูกเลือกตามที่กำหนดจากคำสั่ง รายการ validators ตามสัดส่วนของอำนาจการลงคะแนนของพวกเขา รายละเอียดทั้งหมดของโปรโตคอลมีอธิบายไว้ที่นี่ ความปลอดภัยของ Tendermint มาจากการใช้ Byzantine ที่เหมาะสมที่สุด การยอมรับข้อผิดพลาดผ่านการลงคะแนนเสียงส่วนใหญ่มาก (>⅔) และการล็อค กลไก พวกเขาร่วมกันรับประกันว่า: อำนาจการลงคะแนนเสียง≥⅓จะต้องเป็นไบเซนไทน์จึงจะทำให้เกิดการละเมิด ความปลอดภัยซึ่งมีความมุ่งมั่นมากกว่าสองค่า หากชุด validators ใด ๆ ประสบความสำเร็จในการละเมิดความปลอดภัย หรือแม้กระทั่ง พยายามที่จะทำเช่นนั้น สามารถระบุได้โดยโปรโตคอล นี้ รวมถึงทั้งการลงคะแนนสำหรับบล็อกที่ขัดแย้งกันและการออกอากาศ คะแนนเสียงที่ไม่ยุติธรรม แม้จะมีการรับประกันที่แข็งแกร่ง แต่ Tendermint ก็มอบสิ่งที่ยอดเยี่ยม ประสิทธิภาพการทำงาน ในการวัดประสิทธิภาพ 64 โหนดที่กระจายอยู่ใน 7 ศูนย์ข้อมูลใน 5 ทวีป บนอินสแตนซ์คลาวด์สินค้าโภคภัณฑ์ ฉันทามติ Tendermint สามารถประมวลผลธุรกรรมได้หลายพันรายการต่อ ประการที่สอง โดยมีเวลาแฝงประมาณหนึ่งถึงสองวินาที โดยเฉพาะอย่างยิ่งประสิทธิภาพการทำธุรกรรมมากกว่าหนึ่งพันรายการต่อ ประการที่สองยังคงอยู่แม้ในสภาวะที่ไม่เป็นมิตรด้วย validators หยุดทำงานหรือเผยแพร่การโหวตที่จัดทำขึ้นโดยมีเจตนาร้าย ดูสิ ygure ด้านล่างเพื่อดูรายละเอียด

ประโยชน์หลักของอัลกอริธึมฉันทามติของ Tendermint นั้นเรียบง่าย การรักษาความปลอดภัยไคลเอ็นต์แบบเบา ทำให้เป็นตัวเลือกที่เหมาะสำหรับมือถือและ กรณีการใช้งานอินเทอร์เน็ตออฟธิงส์ ในขณะที่ไคลเอ็นต์ light Bitcoin ต้องซิงค์ โซ่ของส่วนหัวของบล็อกและอันที่มีการพิสูจน์มากที่สุด การทำงาน ลูกค้า Tendermint light ต้องการเพียงเพื่อให้ทันกับการเปลี่ยนแปลง ไปที่ชุด validator จากนั้นตรวจสอบ >⅔ PreCommits ใน บล็อกล่าสุดเพื่อกำหนดสถานะล่าสุด การพิสูจน์ไคลเอ็นต์แบบเบาที่กระชับยังเปิดใช้งาน inter-blockchain การสื่อสาร Tendermint มีมาตรการป้องกันในการป้องกันบางอย่าง การโจมตีที่โดดเด่น เช่น การโจมตีระยะไกลโดยไม่มีอะไรต้องเดิมพันเป็นสองเท่า และการเซ็นเซอร์ สิ่งเหล่านี้จะกล่าวถึงอย่างละเอียดยิ่งขึ้นในภาคผนวกอัลกอริธึมฉันทามติของ Tendermint ถูกนำมาใช้ใน โปรแกรมชื่อ Tendermint Core Tendermint Core เป็น “กลไกฉันทามติ” ที่ไม่เชื่อเรื่องแอปพลิเคชันซึ่งสามารถเปลี่ยนอะไรก็ได้ แอปพลิเคชัน blackbox ที่กำหนดไว้ในการจำลองแบบกระจาย blockchain. Tendermint Core เชื่อมต่อกับแอปพลิเคชัน blockchain ผ่านทาง Application Blockchain Interface (ABCI) [17] ดังนั้น ABCI อนุญาตให้ blockchain โปรแกรมใด ๆ ก็ได้ ภาษาไม่ใช่แค่ภาษาโปรแกรมที่มติเป็นเอกฉันท์ เอ็นจิ้นถูกเขียนไว้ นอกจากนี้ ABCI ยังทำให้เป็นไปได้อย่างง่ายดาย สลับเลเยอร์ฉันทามติของสแต็ก blockchain ที่มีอยู่ เราทำการเปรียบเทียบกับสกุลเงินดิจิทัลที่รู้จักกันดี Bitcoin Bitcoin เป็นสกุลเงินดิจิทัล blockchain โดยที่แต่ละโหนดจะรักษา ฐานข้อมูล Unspent Transaction Output (UTXO) ที่ได้รับการตรวจสอบอย่างครบถ้วน ถ้า มีคนต้องการสร้างระบบที่เหมือน Bitcoin บน ABCI Tendermint Core จะต้องรับผิดชอบ การแชร์บล็อกและธุรกรรมระหว่างโหนด การสร้างลำดับการทำธุรกรรมที่เป็นที่ยอมรับ/ไม่เปลี่ยนรูป (the blockchain) ในขณะเดียวกัน แอปพลิเคชัน ABCI จะต้องรับผิดชอบ การดูแลรักษาฐานข้อมูล UTXO ตรวจสอบลายเซ็นการเข้ารหัสของธุรกรรม ป้องกันการทำธุรกรรมจากการใช้จ่ายเงินที่ไม่มีอยู่จริง การอนุญาตให้ไคลเอ็นต์สืบค้นฐานข้อมูล UTXO Tendermint สามารถสลายการออกแบบ blockchain ได้โดย นำเสนอ API ที่ง่ายมากระหว่างขั้นตอนการสมัครและ กระบวนการฉันทามติ
Giới thiệu
Sự thành công tổng hợp của hệ sinh thái nguồn mở, chia sẻ yle phi tập trung và tiền điện tử công cộng có truyền cảm hứng cho sự hiểu biết rằng các giao thức internet phi tập trung có thể được sử dụng để cải thiện triệt để cơ sở hạ tầng kinh tế xã hội. Chúng tôi đã thấy các ứng dụng blockchain chuyên dụng như Bitcoin [1] (a tiền điện tử), Zerocash [2] (tiền điện tử bảo mật) và nền tảng smart contract tổng quát như Ethereum [3], với vô số ứng dụng được phân phối cho Etherium Virtual Máy (EVM) như Augur (thị trường dự đoán) và TheDAO [4] (câu lạc bộ đầu tư). Tuy nhiên, cho đến nay, blockchain này đã gặp phải một số vấn đề về những hạn chế, bao gồm cả sự kém hiệu quả về năng lượng, kém hoặc hiệu quả hoạt động còn hạn chế và cơ chế quản trị chưa trưởng thành. Đề xuất mở rộng quy mô thông lượng giao dịch của Bitcoin, chẳng hạn như Nhân chứng tách biệt [5] và BitcoinNG [6], có tỷ lệ theo chiều dọc các giải pháp vẫn bị giới hạn bởi khả năng của một thiết bị vật lý duy nhất máy, để đảm bảo tính chất có thể kiểm toán hoàn chỉnh. Lightning Network [7] có thể giúp mở rộng quy mô giao dịch Bitcoin
khối lượng bằng cách loại bỏ hoàn toàn một số giao dịch khỏi sổ cái, và rất phù hợp cho các khoản thanh toán vi mô và bảo vệ quyền riêng tư đường ray thanh toán, nhưng có thể không phù hợp cho tổng quát hơn nhu cầu mở rộng quy mô. Giải pháp lý tưởng là giải pháp cho phép nhiều blockchains song song tương tác trong khi vẫn giữ được các đặc tính bảo mật của chúng. Cái này có đã được chứng minh là khó khăn, nếu không nói là không thể, với proof-of-work. Đã hợp nhất ví dụ: khai thác mỏ cho phép công việc được thực hiện để bảo đảm cấp độ cha mẹ chuỗi được tái sử dụng trên chuỗi con, nhưng các giao dịch vẫn phải được thực hiện được xác thực theo thứ tự theo từng nút và blockchain được khai thác hợp nhất dễ bị tấn công nếu phần lớn nguồn điện hash trên cha mẹ không tích cực khai thác hợp nhất đứa trẻ. Một đánh giá học thuật kiến trúc mạng blockchain thay thế được cung cấp cho bối cảnh bổ sung và chúng tôi cung cấp bản tóm tắt các đề xuất khác và những hạn chế của chúng trong Công việc liên quan. Ở đây chúng tôi giới thiệu Cosmos, một kiến trúc mạng blockchain mới lạ đó giải quyết tất cả những vấn đề này. Cosmos là một mạng lưới gồm nhiều blockchain độc lập, được gọi là vùng. Các khu vực được cung cấp năng lượng bởi Tendermint Core [8], cung cấp hiệu suất cao, công cụ đồng thuận giống như PBFT nhất quán, an toàn, trong đó trách nhiệm phân tách nghiêm ngặt đảm bảo duy trì hành vi độc hại diễn viên. Thuật toán đồng thuận BFT của Tendermint Core rất phù hợp để mở rộng quy mô công khai proof-of-stake blockchains. Vùng đầu tiên trên Cosmos được gọi là Cosmos Hub. Cosmos Hub là một loại tiền điện tử proof-of-stake đa tài sản với cách thức đơn giản Cơ chế quản trị cho phép mạng thích ứng và nâng cấp. Ngoài ra, Cosmos Hub có thể được mở rộng bằng cách kết nối các khu vực khác. Trung tâm và các vùng của mạng Cosmos giao tiếp với với nhau thông qua giao thức liên lạc giữa blockchain (IBC), một loại UDP hoặc TCP ảo cho blockchains. Token có thể chuyển từ vùng này sang vùng khác một cách an toàn và nhanh chóngmà không cần trao đổi thanh khoản giữa các khu vực. Thay vào đó, tất cả các giao dịch chuyển khoản liên vùng token đều đi qua Trung tâm Cosmos. theo dõi tổng số token được nắm giữ bởi mỗi khu vực. các hub cô lập từng vùng khỏi sự thất bại của các vùng khác. Bởi vì bất kỳ ai cũng có thể kết nối một vùng mới với Cosmos Hub, các vùng cho phép để có khả năng tương thích trong tương lai với những cải tiến blockchain mới. Trong phần này chúng tôi mô tả giao thức đồng thuận Tendermint và giao diện được sử dụng để xây dựng các ứng dụng với nó. Để biết thêm chi tiết xem phụ lục. Trong thuật toán chịu lỗi Byzantine cổ điển (BFT), mỗi nút có cùng trọng lượng. Trong Tendermint, các nút có giá trị không âm số lượng quyền biểu quyết và các nút có biểu quyết tích cực sức mạnh được gọi là validators. Người xác nhận tham gia vào giao thức đồng thuận bằng cách phát sóng chữ ký mật mã, hoặc phiếu bầu, để thống nhất khối tiếp theo. Quyền biểu quyết của người xác nhận được xác định ngay từ đầu hoặc được thay đổi một cách xác định bởi blockchain, tùy thuộc vào ứng dụng. Ví dụ: trong ứng dụng proof-of-stake chẳng hạn như Trung tâm Cosmos, quyền biểu quyết có thể được xác định bởi số tiền staking token được thế chấp làm tài sản thế chấp. LƯU Ý: Các phân số như ⅔ và ⅓ đề cập đến các phân số của tổng số phiếu bầu công suất, không bao giờ là tổng số validator giây, trừ khi tất cả validators có trọng lượng bằng nhau. >⅔ có nghĩa là “hơn ⅔”, ≥⅓ có nghĩa là “ít nhất ⅓”. Tendermint là giao thức đồng thuận BFT đồng bộ một phần bắt nguồn từ thuật toán đồng thuận DLS [20]. bạc hà là
đáng chú ý vì tính đơn giản, hiệu suất và trách nhiệm giải trình của nó. Giao thức yêu cầu một tập hợp validator đã biết yxed, trong đó mỗi validator được xác định bằng khóa chung của họ. Người xác thực cố gắng đạt được sự đồng thuận về từng khối một, trong đó khối là một danh sách của các giao dịch. Việc bỏ phiếu cho sự đồng thuận về một khối tiến hành trong vòng. Mỗi vòng có một người đứng đầu hoặc người đề xuất, người này đề xuất một khối. Sau đó, validator sẽ bỏ phiếu theo từng giai đoạn về việc liệu chấp nhận khối được đề xuất hoặc chuyển sang vòng tiếp theo. các người đề xuất cho một vòng được chọn một cách xác định từ thứ tự danh sách validator, tương ứng với quyền biểu quyết của họ. Các chi tiết đầy đủ của giao thức được mô tả ở đây. Tính bảo mật của Tendermint bắt nguồn từ việc sử dụng Byzantine tối ưu khả năng chịu lỗi thông qua biểu quyết siêu đa số (>⅔) và khóa cơ chế. Cùng nhau, họ đảm bảo rằng: ≥⅓ quyền biểu quyết phải thuộc về Byzantine mới có thể vi phạm an toàn, trong đó có nhiều hơn hai giá trị được cam kết. nếu bất kỳ tập hợp validator nào vi phạm an toàn thành công hoặc thậm chí cố gắng làm như vậy, chúng có thể được xác định bởi giao thức. Cái này bao gồm cả việc bỏ phiếu cho các khối xung đột và phát sóng số phiếu không chính đáng. Mặc dù có sự đảm bảo mạnh mẽ, Tendermint vẫn mang đến những điều đặc biệt hiệu suất. Trong điểm chuẩn của 64 nút được phân bổ trên 7 trung tâm dữ liệu trên 5 châu lục, trên các phiên bản đám mây hàng hóa, Sự đồng thuận của Tendermint có thể xử lý hàng nghìn giao dịch mỗi lần thứ hai, với độ trễ cam kết theo thứ tự từ một đến hai giây. Đáng chú ý là hiệu suất của hơn một nghìn giao dịch trên mỗi thứ hai được duy trì ngay cả trong điều kiện đối nghịch khắc nghiệt, với validator bị lỗi hoặc phát đi các phiếu bầu được tạo ra một cách độc hại. Xem ygure bên dưới để biết chi tiết.

Lợi ích chính của thuật toán đồng thuận của Tendermint được đơn giản hóa bảo mật khách hàng nhẹ, làm cho nó trở thành một ứng cử viên lý tưởng cho thiết bị di động và các trường hợp sử dụng internet của vạn vật. Trong khi ứng dụng khách nhẹ Bitcoin phải đồng bộ hóa chuỗi tiêu đề khối và tìm chuỗi có nhiều bằng chứng nhất về hoạt động, khách hàng của Tendermint chỉ cần theo kịp các thay đổi đến bộ validator, sau đó xác minh >⅔ Cam kết trước trong khối mới nhất để xác định trạng thái mới nhất. Bằng chứng ứng dụng khách ngắn gọn cũng cho phép inter-blockchain giao tiếp. Tendermint có các biện pháp bảo vệ để ngăn ngừa một số các cuộc tấn công đáng chú ý, chẳng hạn như chi tiêu gấp đôi tầm xa mà không bị đe dọa và kiểm duyệt. Những vấn đề này sẽ được thảo luận đầy đủ hơn trong phần phụ lục.Thuật toán đồng thuận Tendermint được triển khai theo cách chương trình có tên Tendermint Core. Tendermint Core là một "công cụ đồng thuận" bất khả tri về ứng dụng có thể biến bất kỳ ứng dụng hộp đen xác định thành một bản sao phân tán blockchain. Tendermint Core kết nối với blockchain ứng dụng thông qua Giao diện chuỗi khối ứng dụng (ABCI) [17]. Vì vậy, ABCI cho phép các ứng dụng blockchain được lập trình ở bất kỳ ngôn ngữ, không chỉ là ngôn ngữ lập trình mà sự đồng thuận công cụ được ghi vào. Ngoài ra, ABCI giúp bạn có thể dễ dàng hoán đổi lớp đồng thuận của bất kỳ ngăn xếp blockchain hiện có nào. Chúng tôi rút ra sự tương tự với tiền điện tử nổi tiếng Bitcoin. Bitcoin là tiền điện tử blockchain trong đó mỗi nút duy trì cơ sở dữ liệu Đầu ra giao dịch chưa chi tiêu (UTXO) đã được kiểm tra đầy đủ. Nếu người ta muốn tạo một hệ thống giống Bitcoin trên ABCI, Tendermint Core sẽ chịu trách nhiệm Chia sẻ khối và giao dịch giữa các nút Thiết lập một trật tự giao dịch chuẩn/bất biến (các blockchain) Trong khi đó, ứng dụng ABCI sẽ chịu trách nhiệm Duy trì cơ sở dữ liệu UTXO Xác thực chữ ký mật mã của các giao dịch Ngăn chặn các giao dịch chi tiêu các khoản tiền không tồn tại Cho phép khách hàng truy vấn cơ sở dữ liệu UTXO Tendermint có thể phân hủy thiết kế blockchain bằng cách cung cấp một API rất đơn giản giữa quá trình đăng ký và quá trình đồng thuận.
Cosmos สถาปัตยกรรม
Cosmos เป็นเครือข่ายของ blockchains แบบขนานอิสระที่ แต่ละอันขับเคลื่อนโดยอัลกอริธึมฉันทามติคลาสสิก BFT เช่น เทนเดอร์มินต์ 1. blockchain ปีแรกในเครือข่ายนี้จะเป็น Cosmos Hub ที่ Cosmos ฮับเชื่อมต่อกับ blockchains (หรือโซน) อื่นๆ มากมายผ่าน โปรโตคอลการสื่อสารระหว่าง-blockchain ใหม่ ฮับ Cosmos ติดตาม token ประเภทจำนวนมากและเก็บบันทึกผลรวมทั้งหมด จำนวน tokens ในแต่ละโซนที่เชื่อมต่อ โทเค็นสามารถเป็นได้ ถ่ายโอนจากโซนหนึ่งไปยังอีกโซนหนึ่งอย่างปลอดภัยและรวดเร็ว โดยไม่ต้องมีการแลกเปลี่ยนของเหลวระหว่างโซนเพราะทั้งหมด การโอนเหรียญระหว่างโซนต้องผ่าน Cosmos Hub สถาปัตยกรรมนี้แก้ปัญหามากมายที่พื้นที่ blockchain ใบหน้าในปัจจุบัน เช่น การทำงานร่วมกันของแอปพลิเคชัน ความสามารถในการปรับขนาด และ การอัพเกรดที่ราบรื่น ตัวอย่างเช่น โซนที่ได้มาจาก Bitcoind Go-Ethereum, CryptoNote, ZCash หรือระบบ blockchain ใด ๆ สามารถทำได้ เสียบเข้ากับฮับ Cosmos โซนเหล่านี้อนุญาตให้ Cosmos ปรับขนาดได้อย่างไม่มีที่สิ้นสุดเพื่อตอบสนองความต้องการในการทำธุรกรรมทั่วโลก โซนก็เช่นกัน yt ที่ดีสำหรับการแลกเปลี่ยนแบบกระจายซึ่งจะได้รับการสนับสนุนเป็น เอาล่ะ Cosmos ไม่ได้เป็นเพียงบัญชีแยกประเภทแบบกระจายเดียว และ Cosmos ฮับไม่ใช่สวนที่มีกำแพงล้อมรอบหรือศูนย์กลางของจักรวาล เราเป็น การออกแบบโปรโตคอลสำหรับเครือข่ายเปิดของบัญชีแยกประเภทแบบกระจาย ที่สามารถใช้เป็นรากฐานใหม่สำหรับระบบการเงินในอนาคต ตามหลักการของการเข้ารหัส เศรษฐศาสตร์ที่ดี ฉันทามติ ทฤษฎี ความโปร่งใส และความรับผิดชอบ Cosmos Hub เป็น blockchain สาธารณะแห่งแรกใน Cosmos เครือข่าย ขับเคลื่อนโดยอัลกอริธึมฉันทามติ BFT ของ Tendermint ที่ โครงการโอเพ่นซอร์ส Tendermint ถือกำเนิดขึ้นในปี 2014 เพื่อจัดการกับ ความเร็ว ความสามารถในการปรับขนาด และปัญหาด้านสิ่งแวดล้อมของอัลกอริธึมฉันทามติพิสูจน์การทำงานของ Bitcoin โดยใช้และปรับปรุงตามที่ได้รับการพิสูจน์แล้ว
BFT อัลกอริธึมที่พัฒนาขึ้นที่ MIT ในปี 1988 [20] Tendermint ทีมงานเป็นทีมแรกที่สาธิตแนวคิด proof-of-stake สกุลเงินดิจิทัลที่จัดการกับปัญหาที่ไม่มีความเสี่ยง ได้รับความทุกข์ทรมานจาก cryptocurrencies รุ่นแรก proof-of-stake เช่นนี้ เป็น NXT และ BitShares1.0 ทุกวันนี้ กระเป๋าเงินมือถือ Bitcoin ทั้งหมดใช้เซิร์ฟเวอร์ที่เชื่อถือได้ ให้การยืนยันธุรกรรมแก่พวกเขา นี่เป็นเพราะว่าการพิสูจน์การทำงานต้องรอการยืนยันหลายครั้งก่อน a ธุรกรรมถือได้ว่ามีความมุ่งมั่นอย่างถาวร การโจมตีแบบ Doublespend ได้แสดงให้เห็นแล้วในบริการต่างๆ เช่น CoinBase. แตกต่างจากระบบฉันทามติอื่นๆ blockchain Tendermint เสนอ การยืนยันการชำระเงินผ่านมือถือของลูกค้าทันทีและพิสูจน์ได้อย่างปลอดภัย เนื่องจาก Tendermint ได้รับการออกแบบมาให้เคลื่อนที่ได้ไม่เคยแยกเลย กระเป๋าเงินสามารถรับการทำธุรกรรมได้ทันทีซึ่งทำให้ การชำระเงินที่ไม่น่าเชื่อถือและใช้งานได้จริงบนสมาร์ทโฟน นี้ มีขอบเขตที่ชัดเจนสำหรับแอปพลิเคชัน Internet of Things เช่น เอาล่ะ เครื่องมือตรวจสอบใน Cosmos มีบทบาทคล้ายกับ Bitcoin นักขุด แต่ ใช้ลายเซ็นเข้ารหัสแทนในการลงคะแนนเสียง ผู้ตรวจสอบความถูกต้องคือ เครื่องจักรเฉพาะที่ปลอดภัยซึ่งมีหน้าที่รับผิดชอบในการดำเนินการ บล็อก ผู้ที่ไม่ใช่ validators สามารถมอบหมาย staking tokens ของตนได้ (เรียกว่า “อะตอม”) ไปยัง validator ใดๆ เพื่อรับส่วนแบ่งค่าธรรมเนียมบล็อกและอะตอม รางวัล แต่พวกเขามีความเสี่ยงที่จะถูกลงโทษ (เฉือน) หาก ผู้รับมอบสิทธิ์ validator ถูกแฮ็กหรือละเมิดโปรโตคอล ที่ได้รับการพิสูจน์แล้ว รับประกันความปลอดภัยของ Tendermint BFT ฉันทามติและหลักประกัน ฝากของผู้มีส่วนได้ส่วนเสีย–validatorsและผู้มอบหมาย–ให้ การรักษาความปลอดภัยเชิงปริมาณที่พิสูจน์ได้สำหรับโหนดและไคลเอ็นต์แบบเบา บัญชีแยกประเภทสาธารณะแบบกระจายควรมีรัฐธรรมนูญและก ระบบการกำกับดูแล Bitcoin อาศัย Bitcoin มูลนิธิและการขุดเพื่อประสานงานการอัพเกรด แต่นี่เป็นกระบวนการที่ช้า Ethereum แบ่งออกเป็น ETH และ ETC หลังจากการฮาร์ดฟอร์กเพื่อระบุที่อยู่ แฮ็คDAO ส่วนใหญ่เป็นเพราะไม่มีสัญญาทางสังคมมาก่อน หรือกลไกในการตัดสินใจดังกล่าว ผู้ตรวจสอบและผู้มอบหมายใน Cosmos Hub สามารถลงคะแนนได้ ข้อเสนอที่สามารถเปลี่ยนพารามิเตอร์ที่ตั้งไว้ล่วงหน้าของระบบได้ อัตโนมัติ (เช่น บล็อกแก๊สจำกัด) ประสานงานการอัพเกรด เช่น รวมถึงการลงคะแนนเสียงแก้ไขรัฐธรรมนูญที่มนุษย์อ่านได้ ที่ควบคุมนโยบายของ Cosmos Hub รัฐธรรมนูญ ช่วยให้เกิดการทำงานร่วมกันระหว่างผู้มีส่วนได้ส่วนเสียในประเด็นต่างๆเช่น การโจรกรรมและข้อบกพร่อง (เช่นเหตุการณ์ TheDAO) ช่วยให้ดำเนินการได้รวดเร็วยิ่งขึ้น ความละเอียดที่สะอาดยิ่งขึ้น แต่ละโซนสามารถมีรัฐธรรมนูญและการปกครองของตนเองได้ กลไกเช่นกัน ตัวอย่างเช่น Cosmos Hub อาจมี รัฐธรรมนูญที่บังคับใช้ความไม่เปลี่ยนแปลงที่ศูนย์กลาง (ไม่มีการย้อนกลับ บันทึกสำหรับข้อบกพร่องของการใช้งานโหนด Cosmos Hub) ในขณะที่ แต่ละโซนสามารถกำหนดนโยบายของตนเองเกี่ยวกับการย้อนกลับได้ โดยการเปิดใช้งานการทำงานร่วมกันระหว่างโซนนโยบายที่แตกต่างกัน เครือข่าย Cosmos มอบอิสระและศักยภาพสูงสุดให้กับผู้ใช้ การทดลองโดยไม่ได้รับอนุญาต ที่นี่เราจะอธิบายรูปแบบใหม่ของการกระจายอำนาจและความสามารถในการปรับขนาด Cosmos เป็นเครือข่ายของ blockchains มากมายที่ขับเคลื่อนโดย สะระแหน่. ในขณะที่ข้อเสนอที่มีอยู่มุ่งเป้าไปที่การสร้าง “โสด” blockchain” พร้อมลำดับธุรกรรมทั่วโลกทั้งหมด Cosmos อนุญาตให้ blockchains จำนวนมากทำงานพร้อมกัน ในขณะที่ยังคงรักษาความสามารถในการทำงานร่วมกัน โดยพื้นฐานแล้ว Cosmos Hub จะจัดการอิสระจำนวนมาก blockchains เรียกว่า "โซน" (บางครั้งเรียกว่า "เศษชิ้นส่วน" ใน อ้างอิงถึงเทคนิคการปรับขนาดฐานข้อมูลที่เรียกว่า "การแบ่งส่วน")
การส่งบล็อกล่าสุดอย่างต่อเนื่องจากโซนที่โพสต์ไว้ Hub ช่วยให้ Hub ติดตามสถานะของแต่ละโซนได้ ในทำนองเดียวกัน แต่ละโซนจะติดตามสถานะของ Hub (แต่โซน ไม่ตามทันกันเว้นแต่ทางอ้อมผ่านทาง ฮับ) จากนั้นแพ็คเก็ตข้อมูลจะถูกสื่อสารจากที่เดียว ไปยังอีกฟากหนึ่งโดยการโพสต์หลักฐาน Merkle ไว้เป็นหลักฐานว่า ข้อมูลถูกส่งและรับ กลไกนี้เรียกว่า การสื่อสารระหว่าง-blockchain หรือเรียกสั้น ๆ ว่า IBC โซนใดๆ ก็สามารถเป็นศูนย์กลางเพื่อสร้างกราฟแบบอะไซคลิกได้ แต่เพื่อความชัดเจนเราจะอธิบายเฉพาะเรื่องง่ายๆ เท่านั้น การกำหนดค่าที่มีฮับเพียงอันเดียวและหลายอันที่ไม่ใช่ฮับ โซน Cosmos Hub คือ blockchain ที่โฮสต์หลายสินทรัพย์ บัญชีแยกประเภทแบบกระจาย โดยที่ tokens สามารถถือครองโดยผู้ใช้แต่ละรายหรือ ตามโซนต่างๆ เอง tokens เหล่านี้สามารถย้ายจากโซนเดียวได้ ไปยังอีกอันในแพ็กเก็ต IBC พิเศษที่เรียกว่า "แพ็กเก็ตเหรียญ" ศูนย์กลางอยู่ที่ รับผิดชอบในการรักษาค่าคงที่ทั่วโลกของยอดรวม จำนวนแต่ละ token ทั่วทั้งโซน IBC ซองใส่เหรียญ ธุรกรรมจะต้องกระทำโดยผู้ส่ง ฮับ และผู้รับ blockchainส.เนื่องจาก Cosmos Hub ทำหน้าที่เป็นบัญชีแยกประเภทกลางสำหรับทั้งหมด ความปลอดภัยของ Hub มีความสำคัญอย่างยิ่ง ในขณะที่ แต่ละโซนอาจเป็น Tendermint blockchain ที่ถูกรักษาความปลอดภัยโดย as น้อยกว่า 4 (หรือน้อยกว่านั้นหากไม่ต้องการฉันทามติ BFT) ฮับ จะต้องได้รับการรักษาความปลอดภัยโดยชุดการกระจายอำนาจทั่วโลกของ validators นั้น สามารถทนต่อสถานการณ์การโจมตีที่รุนแรงที่สุด เช่น ก พาร์ติชันเครือข่ายระดับทวีปหรือการโจมตีที่ได้รับการสนับสนุนจากรัฐชาติ โซน Cosmos เป็นโซนอิสระ blockchain ที่แลกเปลี่ยน IBC ข้อความกับฮับ จากมุมมองของ Hub โซนคือ บัญชีหลายลายเซ็นสมาชิกแบบไดนามิกหลายสินทรัพย์นั้น สามารถส่งและรับ tokens โดยใช้แพ็กเก็ต IBC เหมือนก บัญชีสกุลเงินดิจิตอล โซนไม่สามารถถ่ายโอนมากกว่า tokens ได้ มี แต่สามารถรับ tokens จากผู้อื่นที่มีได้ โซน อาจถูกกำหนดให้เป็น "แหล่งที่มา" ของ token หนึ่งประเภทขึ้นไป ให้อำนาจแก่มันในการเติมพลัง token อุปทานนั้น อะตอมของ Cosmos Hub อาจถูกเดิมพันโดย validators ของโซน เชื่อมต่อกับฮับ ในขณะที่โจมตีสองครั้งในโซนเหล่านี้ จะส่งผลให้เกิดการเฉือนอะตอมด้วยความต้องรับผิดชอบของ Tendermint ซึ่งเป็นโซนที่ >⅔ ของอำนาจการลงคะแนนเสียงอยู่ที่ ไบเซนไทน์สามารถกระทำสถานะที่ไม่ถูกต้อง Cosmos Hub ไม่มี ตรวจสอบหรือดำเนินธุรกรรมที่กระทำในโซนอื่น ๆ ดังนั้นจึงเป็นเช่นนั้น ความรับผิดชอบของผู้ใช้ในการส่ง tokens ไปยังโซนที่พวกเขาเชื่อถือ ในอนาคต ระบบการกำกับดูแลของ Cosmos Hub อาจผ่าน Hub ข้อเสนอการปรับปรุงที่คำนึงถึงความล้มเหลวของโซน สำหรับ ตัวอย่างเช่น การถ่ายโอน token ขาออกจากบางโซน (หรือทั้งหมด) อาจเกิดขึ้น ถูกควบคุมปริมาณเพื่อให้สามารถตัดวงจรฉุกเฉินของโซนได้ (หยุดการถ่ายโอน token ชั่วคราว) เมื่อตรวจพบการโจมตี ตอนนี้เรามาดูกันว่าฮับและโซนต่างๆ สื่อสารกันอย่างไร อื่น ๆ ตัวอย่างเช่น หากมี blockchain สามรายการ ได้แก่ “Zone1”, “Zone2”

และ "Hub" และเราหวังว่า "Zone1" จะผลิตแพ็กเก็ตที่ถูกกำหนดไว้ สำหรับ “Zone2” ผ่าน “Hub” เพื่อย้ายแพ็กเก็ตจากที่หนึ่ง blockchain ไปยังอีกคนหนึ่ง มีการโพสต์หลักฐานบนห่วงโซ่การรับ หลักฐานระบุว่าห่วงโซ่การส่งเผยแพร่แพ็กเก็ตสำหรับ จุดหมายปลายทางที่ถูกกล่าวหา เพื่อให้สายรับสามารถตรวจสอบหลักฐานนี้ได้ ต้องสามารถติดตามส่วนหัวบล็อกของผู้ส่งได้ นี้ กลไกคล้ายกับที่ใช้โดย sidechains ซึ่งต้องใช้ สองเครือข่ายที่มีปฏิสัมพันธ์เพื่อรับทราบถึงกันและกันผ่านทาง กระแสข้อมูลแบบสองทิศทางของดาต้าแกรมพิสูจน์การมีอยู่ (ธุรกรรม) โปรโตคอล IBC สามารถกำจัดได้ตามธรรมชาติโดยใช้สองประเภท ธุรกรรม: ธุรกรรม IBCBlockCommitTx ซึ่งอนุญาตให้ blockchain เพื่อพิสูจน์ให้ผู้สังเกตการณ์เห็นบล็อกล่าสุด-hash และธุรกรรม IBCPacketTx ซึ่งอนุญาตให้ blockchain พิสูจน์ให้ผู้สังเกตการณ์เห็นว่าแพ็กเก็ตที่ให้มานั้นได้รับการเผยแพร่แล้วจริงๆ โดยแอปพลิเคชันของผู้ส่งผ่านการพิสูจน์ Merkle ไปจนถึงล่าสุด บล็อก-hash. เราแบ่งกลไก IBC ออกเป็นสองธุรกรรมแยกกัน อนุญาตให้มีกลไกตลาดค่าธรรมเนียมดั้งเดิมของห่วงโซ่การรับ กำหนดว่าแพ็กเก็ตใดที่ได้รับการคอมมิต (เช่น ได้รับการยอมรับ) ในขณะที่ ปล่อยให้มีอิสระเต็มที่ในห่วงโซ่การส่งว่าอย่างไร อนุญาตให้ใช้แพ็กเก็ตขาออกจำนวนมาก ในตัวอย่างด้านบน เพื่ออัปเดต block-hash ของ "Zone1" บน “Hub” (หรือของ “Hub” บน “Zone2”), IBCBlockCommitTxธุรกรรมจะต้องโพสต์บน "Hub" ด้วย block-hash of “Zone1” (หรือบน "Zone2" พร้อมด้วยบล็อก-hash ของ “Hub”) ดู IBCBlockCommitTx และ IBCPacketTx สำหรับข้อมูลเพิ่มเติม ในธุรกรรม IBC สองประเภท ในลักษณะเดียวกับที่ Bitcoin มีความปลอดภัยมากขึ้นโดยการกระจาย บัญชีแยกประเภทที่ทำซ้ำจำนวนมาก เราสามารถทำให้การแลกเปลี่ยนมีความเสี่ยงน้อยลง แฮ็กภายนอกและภายในโดยเรียกใช้บน blockchain เรา เรียกสิ่งนี้ว่าการแลกเปลี่ยนแบบกระจาย สิ่งที่ชุมชนสกุลเงินดิจิทัลเรียกว่าการกระจายอำนาจ การแลกเปลี่ยนในปัจจุบันขึ้นอยู่กับบางสิ่งที่เรียกว่าธุรกรรม "atomic crosschain" (AXC) ด้วยธุรกรรม AXC ผู้ใช้สองคนเปิดอยู่ สองเครือข่ายที่แตกต่างกันสามารถทำธุรกรรมการโอนได้สองรายการนั่นคือ มุ่งมั่นร่วมกันในทั้งสองบัญชีแยกประเภทหรือไม่มีเลย (เช่น ในทางอะตอม) ตัวอย่างเช่น ผู้ใช้สองคนสามารถแลกเปลี่ยน bitcoins เป็น ether (หรือ token สองรายการใดๆ ในบัญชีแยกประเภทสองรายการ) โดยใช้ธุรกรรม AXC แม้ว่า Bitcoin และ Ethereum จะไม่เชื่อมต่อกัน อื่น ๆ ประโยชน์ของการดำเนินการแลกเปลี่ยนในธุรกรรม AXC คือ ที่ผู้ใช้ไม่จำเป็นต้องเชื่อถือซึ่งกันและกันหรือการจับคู่ทางการค้า บริการ ข้อเสียคือทั้งสองฝ่ายต้องออนไลน์เพื่อ การค้าที่จะเกิดขึ้น การแลกเปลี่ยนแบบกระจายอำนาจอีกประเภทหนึ่งคือการทำซ้ำจำนวนมาก การแลกเปลี่ยนแบบกระจายที่ทำงานด้วยตัวมันเอง blockchain ผู้ใช้บน การแลกเปลี่ยนประเภทนี้สามารถส่งคำสั่งจำกัดและเปลี่ยนได้ ปิดคอมพิวเตอร์ และการซื้อขายสามารถดำเนินการได้โดยไม่ต้องมีผู้ใช้ ออนไลน์ blockchain ตรงกันและเสร็จสิ้นการซื้อขายในนามของ ของเทรดเดอร์
Cosmos Kiến trúc
Cosmos là mạng gồm các blockchains song song độc lập mỗi cái được hỗ trợ bởi các thuật toán đồng thuận BFT cổ điển như Bạc hà dịu dàng 1. blockchain năm đầu tiên trong mạng này sẽ là Cosmos Hub. các Cosmos Hub kết nối với nhiều blockchain (hoặc vùng) khác thông qua giao thức truyền thông liên blockchain mới. Trung tâm Cosmos theo dõi nhiều loại token và lưu giữ bản ghi tổng số số token trong mỗi vùng được kết nối. Token có thể chuyển từ vùng này sang vùng khác một cách an toàn và nhanh chóng mà không cần trao đổi chất lỏng giữa các vùng, bởi vì tất cả Chuyển tiền liên vùng đi qua Trung tâm Cosmos. Kiến trúc này giải quyết được nhiều vấn đề mà không gian blockchain phải đối mặt ngày nay, chẳng hạn như khả năng tương tác ứng dụng, khả năng mở rộng và khả năng nâng cấp liền mạch. Ví dụ: các vùng bắt nguồn từ Bitcoind, Go-Ethereum, CryptoNote, ZCash hoặc bất kỳ hệ thống blockchain nào đều có thể được cắm vào Cosmos Hub. Những vùng này cho phép Cosmos mở rộng quy mô một cách vô tận để đáp ứng nhu cầu giao dịch toàn cầu. Các khu vực cũng một yt tuyệt vời cho một sàn giao dịch phân tán, sẽ được hỗ trợ như tốt. Cosmos không chỉ là một sổ cái phân tán duy nhất và Cosmos Hub không phải là một khu vườn có tường bao quanh hay trung tâm vũ trụ của nó. Chúng tôi là thiết kế một giao thức cho một mạng lưới sổ cái phân tán mở có thể đóng vai trò là nền tảng mới cho các hệ thống tài chính trong tương lai, dựa trên các nguyên tắc mật mã, kinh tế hợp lý, sự đồng thuận lý thuyết, tính minh bạch và trách nhiệm giải trình. Trung tâm Cosmos là công khai đầu tiên blockchain trong Cosmos Mạng, được hỗ trợ bởi thuật toán đồng thuận BFT của Tendermint. các Dự án nguồn mở Tendermint ra đời vào năm 2014 nhằm giải quyết vấn đề các vấn đề về tốc độ, khả năng mở rộng và môi trường của thuật toán đồng thuận bằng chứng công việc của Bitcoin. Bằng cách sử dụng và cải tiến dựa trên những gì đã được chứng minh
BFT thuật toán được phát triển tại MIT vào năm 1988 [20], Tendermint nhóm là nhóm đầu tiên chứng minh một cách khái niệm proof-of-stake tiền điện tử giải quyết vấn đề không có gì đáng lo ngại phải chịu đựng các loại tiền điện tử thế hệ thứ nhất proof-of-stake như như NXT và BitShares1.0. Ngày nay, thực tế tất cả ví di động Bitcoin đều sử dụng máy chủ đáng tin cậy để cung cấp cho họ xác minh giao dịch. Điều này là do bằng chứng công việc đòi hỏi phải chờ nhiều sự đồng ý trước khi giao dịch có thể được coi là cam kết không thể đảo ngược. Các cuộc tấn công chi tiêu gấp đôi đã được chứng minh trên các dịch vụ như CoinBase. Không giống như các hệ thống đồng thuận blockchain khác, Tendermint cung cấp xác minh thanh toán của khách hàng di động ngay lập tức và được chứng minh là an toàn. Vì Tendermint được thiết kế để không bao giờ phân nhánh nên thiết bị di động ví có thể nhận được xác nhận giao dịch ngay lập tức, điều này làm cho thanh toán đáng tin cậy và thiết thực trở thành hiện thực trên điện thoại thông minh. Cái này có sự phân chia đáng kể cho các ứng dụng Internet of Things như tốt. Trình xác thực trong Cosmos có vai trò tương tự như công cụ khai thác Bitcoin, nhưng thay vào đó hãy sử dụng chữ ký mật mã để bỏ phiếu. Trình xác nhận là máy móc an toàn, chuyên dụng chịu trách nhiệm thực hiện khối. Những người không phảivalidator có thể ủy quyền staking token của họ (được gọi là “nguyên tử”) cho bất kỳ validator nào để kiếm một phần phí khối và nguyên tử phần thưởng, nhưng họ có nguy cơ bị trừng phạt (chém) nếu đại biểu validator bị hack hoặc vi phạm giao thức. Đã được chứng minh đảm bảo an toàn của sự đồng thuận Tendermint BFT và tài sản thế chấp tiền gửi của các bên liên quan–validators và người được ủy quyền–cung cấp bảo mật có thể chứng minh, định lượng được cho các nút và máy khách hạng nhẹ. Sổ cái công khai được phân phối phải có cấu trúc và hệ thống quản trị. Bitcoin dựa vào Bitcoin Foundation vàkhai thác để phối hợp nâng cấp, nhưng đây là một quá trình chậm. Ethereum chia thành ETH và ETC sau khi hard fork để giải quyết Vụ hackDAO, phần lớn là do không có hợp đồng xã hội trước đó cũng như cơ chế đưa ra các quyết định đó. Người xác nhận và người ủy quyền trên Trung tâm Cosmos có thể bỏ phiếu đề xuất có thể thay đổi các tham số đặt trước của hệ thống tự động (chẳng hạn như giới hạn khối gas), phối hợp nâng cấp, như cũng như bỏ phiếu về việc sửa đổi hiến pháp mà con người có thể đọc được chi phối các chính sách của Cosmos Hub. Hiến pháp cho phép sự gắn kết giữa các bên liên quan về các vấn đề như trộm cắp và lỗi (chẳng hạn như sự cố TheDAO), cho phép xử lý nhanh hơn và độ phân giải sạch hơn. Mỗi khu vực cũng có thể có hiến pháp và quản lý riêng cơ chế nữa. Ví dụ: Trung tâm Cosmos có thể có hiến pháp thực thi tính bất biến tại Hub (không quay lui, lưu lại các lỗi trong quá trình triển khai nút Trung tâm Cosmos), trong khi mỗi khu vực có thể thiết lập chính sách riêng của mình về việc khôi phục. Bằng cách cho phép khả năng tương tác giữa các vùng chính sách khác nhau, Mạng Cosmos mang đến cho người dùng sự tự do tối đa và tiềm năng thử nghiệm không được phép. Ở đây chúng tôi mô tả một mô hình mới về phân quyền và khả năng mở rộng. Cosmos là mạng gồm nhiều blockchain được cung cấp bởi Bạc hà. Trong khi các đề xuất hiện tại nhằm mục đích tạo ra một “khu vực duy nhất blockchain” với tổng số đơn đặt hàng giao dịch toàn cầu, Cosmos cho phép nhiều blockchain chạy đồng thời với nhau trong khi vẫn duy trì khả năng tương tác. Về cơ bản, Trung tâm Cosmos quản lý nhiều blockchain được gọi là "vùng" (đôi khi được gọi là "phân đoạn", trong tham chiếu đến kỹ thuật mở rộng quy mô cơ sở dữ liệu được gọi là “sharding”).
Một luồng liên tục các cam kết khối gần đây từ các khu vực được đăng trên Hub cho phép Hub theo dõi trạng thái của từng vùng. Tương tự như vậy, mỗi vùng sẽ cập nhật trạng thái của Hub (nhưng các vùng không theo kịp nhau ngoại trừ gián tiếp thông qua trung tâm). Các gói thông tin sau đó được truyền đi từ một vùng này sang vùng khác bằng cách đăng Merkle-proofs làm bằng chứng cho thấy thông tin đã được gửi và nhận. Cơ chế này được gọi là liên lạc giữa blockchain hoặc gọi tắt là IBC. Bản thân bất kỳ vùng nào cũng có thể là trung tâm để tạo thành biểu đồ không theo chu kỳ, nhưng để rõ ràng, chúng tôi sẽ chỉ mô tả những điều đơn giản tập đoàn nơi chỉ có một trung tâm và nhiều trung tâm không phải là trung tâm khu. Trung tâm Cosmos là blockchain lưu trữ nhiều nội dung sổ cái phân tán, trong đó token có thể được giữ bởi người dùng cá nhân hoặc theo từng khu vực. Những token này có thể được di chuyển từ một vùng tới gói khác trong gói IBC đặc biệt được gọi là "gói tiền xu". Trung tâm là chịu trách nhiệm bảo toàn tính bất biến toàn cục của tổng số lượng của mỗi token trên các vùng. IBC gói tiền xu giao dịch phải được cam kết bởi người gửi, trung tâm và người nhận blockchains.Vì Trung tâm Cosmos đóng vai trò là sổ cái trung tâm cho toàn bộ hệ thống, tính bảo mật của Hub là hết sức quan trọng. Trong khi mỗi vùng có thể là Tendermint blockchain được bảo mật bởi ít nhất là 4 (hoặc thậm chí ít hơn nếu không cần sự đồng thuận BFT), Hub phải được bảo mật bằng một tập hợp validator phi tập trung toàn cầu có thể chịu được các tình huống tấn công nghiêm trọng nhất, chẳng hạn như phân vùng mạng lục địa hoặc một cuộc tấn công do quốc gia tài trợ. Vùng Cosmos là blockchain độc lập trao đổi IBC tin nhắn với Hub. Từ quan điểm của Hub, một vùng là một tài khoản đa chữ ký thành viên năng động đa tài sản có thể gửi và nhận token bằng gói IBC. Giống như một tài khoản tiền điện tử, một vùng không thể chuyển nhiều hơn token giây nó có nhưng có thể nhận token từ những người khác có chúng. Một khu vực có thể được chỉ định là "nguồn" của một hoặc nhiều loại token, cấp cho nó quyền cung cấp token nguồn cung cấp đó. Các nguyên tử của Cosmos Hub có thể được đặt cọc bởi validator của một vùng được kết nối với Hub. Trong khi các cuộc tấn công chi tiêu gấp đôi vào các khu vực này sẽ dẫn đến việc cắt giảm các nguyên tử với khả năng phân chia của Tendermint, một khu vực có >⅔ quyền biểu quyết Byzantine có thể cam kết trạng thái không hợp lệ. Trung tâm Cosmos không xác minh hoặc thực hiện các giao dịch đã cam kết trên các vùng khác, do đó, trách nhiệm của người dùng là gửi token tới các vùng mà họ tin tưởng. Trong tương lai, hệ thống quản trị của Hub Cosmos có thể vượt qua Hub đề xuất cải tiến giải thích cho các lỗi vùng. cho ví dụ: chuyển khoản đi token từ một số (hoặc tất cả) khu vực có thể được điều chỉnh để cho phép ngắt mạch khẩn cấp các khu vực (tạm dừng token chuyển) khi phát hiện một cuộc tấn công. Bây giờ chúng ta xem xét cách Hub và các vùng giao tiếp với nhau khác. Ví dụ: nếu có ba blockchain, “Zone1”, “Zone2”,

và “Hub”, đồng thời chúng tôi mong muốn “Zone1” tạo ra gói tin được gửi đến cho “Zone2” đi qua “Hub”. Để di chuyển một gói từ một blockchain cho người khác, bằng chứng được đăng trên chuỗi nhận. Bằng chứng chỉ ra rằng chuỗi gửi đã xuất bản một gói cho điểm đến được cho là. Để chuỗi nhận kiểm tra bằng chứng này, nó phải có khả năng theo kịp các tiêu đề khối của người gửi. Cái này cơ chế tương tự như cơ chế được sử dụng bởi sidechains, đòi hỏi hai chuỗi tương tác để nhận biết nhau thông qua một luồng hai chiều của các gói dữ liệu chứng minh sự tồn tại (giao dịch). Giao thức IBC có thể được loại bỏ một cách tự nhiên bằng cách sử dụng hai loại giao dịch: giao dịch IBCBlockCommitTx , cho phép blockchain để chứng minh cho bất kỳ người quan sát nào về khối gần đây nhất của nó-hash, và giao dịch IBCPacketTx , cho phép blockchain chứng minh cho bất kỳ người quan sát nào rằng gói đã cho thực sự đã được xuất bản bởi ứng dụng của người gửi, thông qua Merkle-proof đến gần đây khối-hash. Bằng cách chia cơ chế IBC thành hai giao dịch riêng biệt, chúng tôi cho phép cơ chế thị trường phí gốc của chuỗi tiếp nhận xác định gói nào được cam kết (tức là đã được xác nhận), trong khi cho phép hoàn toàn tự do trong chuỗi gửi về cách thức nhiều gói gửi đi được cho phép. Trong ví dụ trên, để cập nhật block-hash của "Zone1" trên “Hub” (hoặc của “Hub” trên “Zone2”), IBCBlockCommitTxgiao dịch phải được đăng trên “Hub” với khối-hash của “Zone1” (hoặc trên "Zone2" có khối-hash của “Hub”). Xem IBCBlockCommitTx và IBCPacketTx để biết thêm thông tin trên hai loại giao dịch IBC. Theo cách tương tự, Bitcoin sẽ an toàn hơn bằng cách được phân phối, sổ cái được sao chép hàng loạt, chúng ta có thể làm cho các sàn giao dịch ít bị tấn công hơn hack bên ngoài và bên trong bằng cách chạy nó trên blockchain. Chúng tôi gọi đây là một cuộc trao đổi phân tán. Cái mà cộng đồng tiền điện tử gọi là phi tập trung Exchange ngày nay dựa trên một thứ gọi là giao dịch “chuỗi chéo nguyên tử” (AXC). Với giao dịch AXC, hai người dùng trên hai chuỗi khác nhau có thể thực hiện hai giao dịch chuyển khoản được cam kết cùng nhau trên cả hai sổ cái hoặc không có gì cả (tức là về mặt nguyên tử). Ví dụ: hai người dùng có thể giao dịch bitcoin lấy ether (hoặc bất kỳ hai token nào trên hai sổ cái khác nhau) sử dụng giao dịch AXC, mặc dù Bitcoin và Ethereum không được kết nối với nhau khác. Lợi ích của việc thực hiện trao đổi trên các giao dịch AXC là rằng cả hai người dùng đều không cần phải tin tưởng lẫn nhau hoặc việc kết hợp giao dịch dịch vụ. Nhược điểm là cả hai bên cần trực tuyến để thương mại xảy ra. Một loại sàn giao dịch phi tập trung khác là sàn giao dịch được nhân rộng hàng loạt trao đổi phân phối tự chạy blockchain. Người dùng trên loại sàn giao dịch này có thể gửi lệnh giới hạn và chuyển giao tắt máy tính và giao dịch có thể được thực hiện mà người dùng không cần phải trực tuyến. blockchain thay mặt khớp và hoàn tất giao dịch của người buôn bán.
การใช้งาน
การแลกเปลี่ยนแบบรวมศูนย์สามารถสร้างรายการสั่งซื้อที่มีขีดจำกัดในระดับลึกได้ คำสั่งซื้อและดึงดูดเทรดเดอร์มากขึ้น สภาพคล่องเริ่มเพิ่มมากขึ้น สภาพคล่องในโลกการแลกเปลี่ยนจึงมีเครือข่ายที่แข็งแกร่ง เอฟเฟกต์ (หรืออย่างน้อยก็เอฟเฟกต์ของผู้ชนะ-ได้มากที่สุด) ในการแลกเปลี่ยน ธุรกิจ ผู้นำปัจจุบันสำหรับการแลกเปลี่ยนสกุลเงินดิจิทัลในปัจจุบัน คือ Poloniex ที่มีปริมาณการขายตลอด 24 ชั่วโมงที่ 20 ล้านเหรียญสหรัฐ และอันดับที่สองคือ Bitynex ด้วยปริมาณการซื้อขายตลอด 24 ชั่วโมงที่ 5 ล้านเหรียญสหรัฐ ด้วยเครือข่ายที่แข็งแกร่งเช่นนี้ ผลกระทบ ไม่น่าจะเป็นไปได้สำหรับการแลกเปลี่ยนแบบกระจายอำนาจตาม AXC ชนะปริมาณมากกว่าการแลกเปลี่ยนแบบรวมศูนย์ สำหรับการกระจายอำนาจ การแลกเปลี่ยนเพื่อแข่งขันกับการแลกเปลี่ยนแบบรวมศูนย์ก็จะต้องมี เพื่อรองรับคำสั่งซื้อเชิงลึกที่มีคำสั่งซื้อที่จำกัด มีแต่แจก การแลกเปลี่ยนใน blockchain สามารถให้ได้ Tendermint ให้ประโยชน์เพิ่มเติมในการทำธุรกรรมที่รวดเร็วยิ่งขึ้น กระทำ โดยจัดลำดับความสำคัญของความรวดเร็วโดยไม่เสียสละ ความสอดคล้อง โซนใน Cosmos สามารถวิเคราะห์ธุรกรรมได้อย่างรวดเร็ว ทั้งธุรกรรม Exchange Order และ IBC token โอนไปที่ และจากโซนอื่นๆ เมื่อพิจารณาถึงสถานะของการแลกเปลี่ยนสกุลเงินดิจิตอลในปัจจุบัน ถือว่ายอดเยี่ยมมาก แอปพลิเคชันสำหรับ Cosmos คือการแลกเปลี่ยนแบบกระจาย (หรือที่เรียกว่า Cosmos เดกซ์) ความสามารถในการรับส่งข้อมูลของธุรกรรมเช่นกัน เวลาแฝงที่กระทำสามารถเทียบเคียงได้กับเวลาแฝงแบบรวมศูนย์ การแลกเปลี่ยน เทรดเดอร์สามารถส่งคำสั่งจำกัดที่สามารถดำเนินการได้ โดยที่ทั้งสองฝ่ายไม่ต้องออนไลน์ และด้วยเทนเดอร์มิ้นต์ ฮับ Cosmos และ IBC เทรดเดอร์สามารถโอนเงินเข้าและออกจาก การแลกเปลี่ยนไปและกลับจากโซนอื่นด้วยความรวดเร็ว โซนสิทธิพิเศษสามารถทำหน้าที่เป็นแหล่งที่มาของการเชื่อมต่อ token ของ สกุลเงินดิจิทัลอื่น สะพานก็คล้ายกับความสัมพันธ์ ระหว่างฮับ Cosmos และโซน ทั้งสองจะต้องตามให้ทัน บล็อกล่าสุดของอีกบล็อกหนึ่งเพื่อตรวจสอบหลักฐานที่ tokens มี ย้ายจากที่หนึ่งไปอีกที่หนึ่ง "โซนสะพาน" บน Cosmos เครือข่ายสามารถติดตาม Hub ได้เป็นอย่างดี
สกุลเงินดิจิทัล ทิศทางผ่านโซนสะพานช่วยให้ ตรรกะของ Hub ที่จะคงความเรียบง่ายและไม่เชื่อเรื่องพระเจ้าสำหรับผู้อื่น blockchain กลยุทธ์ที่เป็นเอกฉันท์ เช่น Bitcoin ของ proof-of-work การทำเหมืองแร่ แต่ละบริดจ์โซน validator จะขับเคลื่อนด้วย Tendermint blockchain พร้อมด้วย ABCI บริดจ์แอปพิเศษ แต่ยังเป็นโหนดเต็มของ “ต้นกำเนิด” blockchain เมื่อมีการขุดบล็อกใหม่บนจุดเริ่มต้น โซนสะพาน validators จะบรรลุข้อตกลงเกี่ยวกับบล็อกที่กระทำโดยการลงนาม และแบ่งปันมุมมองในท้องถิ่นของตนเกี่ยวกับ blockchain ของแหล่งกำเนิด ทิป เมื่อโซนบริดจ์ได้รับการชำระเงินจากต้นทาง (และ มีการเห็นพ้องต้องกันอย่างเพียงพอในกรณีนี้ ของห่วงโซ่ PoW เช่น Ethereum หรือ Bitcoin) ที่สอดคล้องกัน บัญชีถูกสร้างขึ้นบนบริดจ์โซนด้วยยอดคงเหลือนั้น ในกรณีของ Ethereum โซนบริดจ์สามารถใช้ร่วมกันได้ validator-ตั้งเป็น Cosmos ฮับ ที่ด้าน Ethereum (the origin) สัญญาสะพานจะอนุญาตให้ผู้ถืออีเทอร์ส่งอีเทอร์ได้ ไปยังเขตสะพานโดยส่งไปที่สัญญาสะพานบน Ethereum. เมื่อสัญญาสะพานได้รับอีเธอร์แล้ว อีเทอร์ไม่สามารถถอนออกได้เว้นแต่จะมีแพ็กเก็ต IBC ที่เหมาะสม ได้รับสัญญาสะพานจากโซนสะพาน ที่ Bridge-contract ติดตาม validator-set ของ Bridge-zone ซึ่ง อาจเหมือนกับชุด Cosmos ของ validator ของ Hub ในกรณีของ Bitcoin แนวคิดจะคล้ายกันยกเว้นว่าแทนที่จะเป็น สัญญาบริดจ์เดียว แต่ละ UTXO จะถูกควบคุมโดย pubscript P2SH แบบหลายลายเซ็นตามเกณฑ์ เนื่องจากข้อจำกัดของ ระบบ P2SH ผู้ลงนามไม่สามารถเหมือนกับ Cosmos ฮับ validator-ชุดอีเธอร์บนบริดจ์โซน (“บริดจ์-อีเทอร์”) สามารถถ่ายโอนไปได้ และจากฮับและต่อมาก็ถูกทำลายด้วยธุรกรรมนั้น ส่งไปยังที่อยู่การถอนเงินเฉพาะใน Ethereum IBC แพ็กเก็ตพิสูจน์ว่าธุรกรรมเกิดขึ้นบนบริดจ์โซน สามารถโพสต์ไปที่ Ethereum สัญญาบริดจ์เพื่ออนุญาตอีเธอร์ ที่จะถูกถอนออก ในกรณีของ Bitcoin ระบบสคริปต์ที่ถูกจำกัดจะทำขึ้นมา ยากที่จะจำลองกลไกการโอนเหรียญ IBC แต่ละ UTXO มี pubscript อิสระของตัวเอง ดังนั้นทุก UTXO จะต้องเป็น ย้ายไปยัง UTXO ใหม่เมื่อมีการเปลี่ยนแปลงในชุดของ Bitcoin ผู้ลงนามเอสโครว์ ทางออกหนึ่งคือการบีบอัดและ ขยาย UTXO-set ตามความจำเป็นเพื่อคงจำนวนทั้งหมดไว้ จาก UTXOs ลง ความเสี่ยงของสัญญาเชื่อมโยงดังกล่าวถือเป็นชุดโกง validator ≥⅓ อำนาจการลงคะแนนแบบไบแซนไทน์อาจทำให้เกิดการแตกแยกและถอนอีเทอร์ได้ จากสัญญาสะพานเมื่อ Ethereum ในขณะที่รักษาสะพานไว้บนโซนสะพาน ที่แย่กว่านั้นคือ >⅔ อำนาจการลงคะแนนแบบไบเซนไทน์สามารถทำได้ ขโมยอีเธอร์ทันทีจากผู้ที่ส่งมันไปที่สัญญาสะพาน โดยการเบี่ยงเบนไปจากตรรกะการบริดจ์ดั้งเดิมของโซนบริดจ์ สามารถแก้ไขปัญหาเหล่านี้ได้ด้วยการออกแบบสะพานให้เป็น รับผิดชอบโดยสิ้นเชิง ตัวอย่างเช่น แพ็กเก็ต IBC ทั้งหมด จากฮับและ ต้นกำเนิดอาจต้องได้รับการตอบรับจากโซนสะพานใน ในลักษณะที่การเปลี่ยนสถานะของโซนบริดจ์ทั้งหมดสามารถทำได้ ถูกท้าทายและตรวจสอบอย่างมีประสิทธิภาพโดยทั้งฮับหรือต้นกำเนิด สัญญาสะพาน ฮับและต้นทางควรอนุญาตให้บริดจ์โซน validators โพสต์หลักประกัน และ token โอนออกจาก สัญญาสะพานควรล่าช้า (และการปลดหลักประกัน ระยะเวลานานเพียงพอ) เพื่อให้สามารถรับมือกับความท้าทายต่างๆ ได้ ผู้ตรวจสอบอิสระ เราทิ้งการออกแบบ speciycation และ การนำระบบนี้ไปใช้ในอนาคต Cosmos
ข้อเสนอการปรับปรุงที่จะส่งผ่านโดย Cosmos Hub's ระบบการกำกับดูแล การแก้ปัญหาการปรับขนาดเป็นปัญหาแบบเปิดสำหรับ Ethereum ปัจจุบัน Ethereum โหนดประมวลผลทุกธุรกรรมและ ยังเก็บทุกรัฐอีกด้วย ลิงค์ เนื่องจาก Tendermint สามารถคอมมิตบล็อกได้เร็วกว่า Ethereum's มาก proof-of-work, EVM โซนขับเคลื่อนโดยฉันทามติของ Tendermint และ การทำงานบนบริดจ์อีเทอร์สามารถให้ประสิทธิภาพที่สูงกว่าได้ Ethereum blockchains. นอกจากนี้ แม้ว่า Cosmos Hub และ IBC กลไกแพ็กเก็ตไม่อนุญาตให้มีตรรกะสัญญาตามอำเภอใจ การดำเนินการต่อ se สามารถใช้เพื่อประสานงานการเคลื่อนไหว token ระหว่าง Ethereum สัญญาที่ทำงานในโซนที่แตกต่างกัน จัดเตรียมรากฐานสำหรับการปรับขนาด token-centric Ethereum ผ่าน การแบ่งส่วน Cosmos โซนเรียกใช้ตรรกะของแอปพลิเคชันตามอำเภอใจ ซึ่งกำหนดไว้ที่ จุดเริ่มต้นของชีวิตของโซนและสามารถอัปเดตได้ เมื่อเวลาผ่านไปโดยการปกครอง zexibility ดังกล่าวอนุญาตให้ Cosmos โซนได้ ทำหน้าที่เป็นสะพานเชื่อมไปยัง cryptocurrencies อื่น ๆ เช่น Ethereum หรือ Bitcoin และยังอนุญาตให้มีอนุพันธ์ของ blockchains เหล่านั้นด้วย ใช้โค้ดเบสเดียวกัน แต่มีชุด validator และที่แตกต่างกัน การกระจายเบื้องต้น สิ่งนี้ทำให้มีสกุลเงินดิจิทัลที่มีอยู่มากมาย เฟรมเวิร์ก เช่น Ethereum, Zerocash, Bitcoin, CryptoNote และอื่นๆ ที่จะนำมาใช้กับ Tendermint Core ซึ่งก็คือ กลไกฉันทามติที่มีประสิทธิภาพสูงกว่าบนเครือข่ายทั่วไป เปิดโอกาสอันยิ่งใหญ่สำหรับการทำงานร่วมกันข้าม แพลตฟอร์ม นอกจากนี้ ในฐานะสินทรัพย์หลายรายการ blockchain เดียว ธุรกรรมอาจมีหลายอินพุตและเอาต์พุตโดยที่แต่ละอินพุต อินพุตสามารถเป็นประเภท token ใดก็ได้ ทำให้ Cosmos ทำหน้าที่โดยตรงเป็น แพลตฟอร์มสำหรับการแลกเปลี่ยนแบบกระจายอำนาจ แม้ว่าจะมีคำสั่งซื้อก็ตามเพื่อจับคู่ผ่านแพลตฟอร์มอื่นๆ หรือจะให้บริการโซนก็ได้ เป็นการแลกเปลี่ยนที่ทนต่อข้อผิดพลาดแบบกระจาย (พร้อมใบสั่งซื้อ) ซึ่ง สามารถปรับปรุงอย่างเข้มงวดเหนือการรวมศูนย์ที่มีอยู่ การแลกเปลี่ยนสกุลเงินดิจิทัลซึ่งมีแนวโน้มที่จะถูกแฮ็กเมื่อเวลาผ่านไป โซนยังสามารถทำหน้าที่เป็นเวอร์ชันขององค์กรที่ได้รับการสนับสนุน blockchain ได้อีกด้วย และระบบราชการซึ่งชิ้นส่วนของบริการเฉพาะนั้น มักจะดำเนินการโดยองค์กรหรือกลุ่มองค์กร จะถูกเรียกใช้เป็นแอปพลิเคชัน ABCI ในบางโซนแทน ซึ่ง ช่วยให้สามารถสืบทอดความปลอดภัยและการทำงานร่วมกันของสาธารณะได้ Cosmos เครือข่ายโดยไม่สูญเสียการควบคุมพื้นฐาน บริการ ดังนั้น Cosmos อาจเสนอสิ่งที่ดีที่สุดของทั้งสองโลกให้ องค์กรที่ต้องการใช้เทคโนโลยี blockchain แต่เป็นใคร ระวังการสละการควบคุมอย่างสมบูรณ์ให้กับบุคคลที่สามแบบกระจาย ปาร์ตี้ บางคนอ้างว่าเป็นปัญหาสำคัญเกี่ยวกับความสม่ำเสมอ อัลกอริธึมที่เป็นเอกฉันท์เช่น Tendermint คือเครือข่ายใดก็ได้ พาร์ติชันซึ่งทำให้ไม่มีพาร์ติชันเดียวที่มี >⅔ อำนาจการลงคะแนนเสียง (เช่น ≥⅓ กำลังจะหมดไป) จะหยุดฉันทามติโดยสิ้นเชิง สถาปัตยกรรม Cosmos สามารถช่วยบรรเทาปัญหานี้ได้โดยใช้ ศูนย์กลางระดับโลกที่มีเขตปกครองตนเองของภูมิภาคซึ่งมีอำนาจในการลงคะแนนเสียง สำหรับแต่ละโซนจะกระจายตามภูมิศาสตร์ทั่วไป ภูมิภาค ตัวอย่างเช่น กระบวนทัศน์ทั่วไปอาจเป็นเรื่องสำหรับบุคคล เมืองหรือภูมิภาคเพื่อดำเนินการโซนของตนเองในขณะที่แบ่งปัน ศูนย์กลางทั่วไป (เช่น Cosmos Hub) ช่วยให้สามารถทำกิจกรรมของเทศบาลได้ คงอยู่ในกรณีที่ฮับหยุดทำงานเนื่องจากเครือข่ายชั่วคราว พาร์ติชัน โปรดทราบว่าสิ่งนี้ช่วยให้เกิดธรณีวิทยา การเมือง และได้อย่างแท้จริง คุณสมบัติทอพอโลยีเครือข่ายที่ต้องพิจารณาในการออกแบบที่แข็งแกร่ง ระบบทนทานต่อข้อผิดพลาดแบบรวมศูนย์
NameCoin เป็นหนึ่งใน blockchains แรกที่พยายามแก้ไขปัญหา ปัญหาการแก้ไขชื่อโดยการปรับ Bitcoin blockchain น่าเสียดายที่แนวทางนี้มีปัญหาหลายประการ ด้วย Namecoin เราสามารถตรวจสอบได้ว่า @satoshi เคยเป็นเช่นนั้น ลงทะเบียนด้วยกุญแจสาธารณะเฉพาะ ณ จุดใดจุดหนึ่งในอดีต แต่เราไม่รู้ว่ารหัสสาธารณะนั้นมีตั้งแต่นั้นมาหรือไม่ อัปเดตเมื่อเร็ว ๆ นี้เว้นแต่เราจะดาวน์โหลดบล็อกทั้งหมดตั้งแต่ครั้งล่าสุด อัปเดตชื่อนั้น นี่เป็นเพราะข้อจำกัดของ Bitcoin's UTXO ธุรกรรมรูปแบบ Merkle-ization โดยที่เท่านั้น ธุรกรรม (แต่ไม่ใช่สถานะแอปพลิเคชันที่ไม่แน่นอน) เป็นแบบ Merkle เข้าไปในบล็อก-hash สิ่งนี้ช่วยให้เราพิสูจน์ได้ว่ามีอยู่จริง แต่ไม่ใช่การไม่มีการอัปเดตชื่อในภายหลัง ดังนั้นเราจึงไม่สามารถรู้ได้ ตรวจสอบค่าล่าสุดของชื่อโดยไม่ต้องเชื่อถือเต็ม โหนดหรือทำให้เกิดค่าใช้จ่ายแบนด์วิดท์ที่สำคัญโดยการดาวน์โหลด ทั้งหมด blockchain แม้ว่าแผนผังการค้นหาแบบ Merkle-ized จะถูกนำมาใช้ใน NameCoin ก็ตาม การพึ่งพา proof-of-work ทำให้การตรวจสอบไคลเอ็นต์แบบเบา มีปัญหา ลูกค้า Light ต้องดาวน์โหลดสำเนาที่สมบูรณ์ของ ส่วนหัวสำหรับบล็อกทั้งหมดใน blockchain ทั้งหมด (หรืออย่างน้อยทั้งหมด ส่วนหัวตั้งแต่การอัปเดตชื่อครั้งล่าสุด) ซึ่งหมายความว่า ความต้องการแบนด์วิธจะปรับขนาดเป็นเส้นตรงกับระยะเวลา [21]. นอกจากนี้ การเปลี่ยนชื่อใน proof-of-work blockchain ต้องรอบล็อกการเชื่อมต่อ proof-of-work เพิ่มเติม ซึ่งอาจใช้เวลาถึงหนึ่งชั่วโมงใน Bitcoin ด้วย Tendermint สิ่งเดียวที่เราต้องการคือบล็อกล่าสุด-hash ลงนามโดยองค์ประชุม validators (ตามอำนาจการลงคะแนน) และ Merkle พิสูจน์ถึงมูลค่าปัจจุบันที่เกี่ยวข้องกับชื่อ แค่นี้ก็ทำให้ เป็นไปได้ที่จะมี light-client ที่กระชับ รวดเร็ว และปลอดภัย การยืนยันค่าชื่อ ใน Cosmos เราสามารถนำแนวคิดนี้ไปขยายเพิ่มเติมได้ แต่ละ โซนการลงทะเบียนชื่อใน Cosmos สามารถมีชื่อโดเมนระดับบนสุด (TLD) ที่เกี่ยวข้อง เช่น “.com” หรือ “.org” และแต่ละชื่อ-
โซนการลงทะเบียนสามารถมีการปกครองและการลงทะเบียนของตนเองได้ กฎ
Ứng dụng
Một sàn giao dịch tập trung có thể tạo ra một sổ đặt hàng có giới hạn sâu đơn đặt hàng và do đó thu hút nhiều thương nhân hơn. Thanh khoản ngày càng nhiều tính thanh khoản trong thế giới trao đổi và do đó có một mạng lưới mạnh mẽ hiệu ứng (hoặc ít nhất là hiệu ứng người thắng được nhiều nhất) trong trao đổi kinh doanh. Người dẫn đầu hiện tại về trao đổi tiền điện tử là Poloniex với khối lượng giao dịch trong 24 giờ là 20 triệu USD và ở vị trí thứ hai là Bitynex với khối lượng 24 giờ là 5 triệu USD. Với mạng lưới mạnh mẽ như vậy có hiệu lực, các sàn giao dịch phi tập trung dựa trên AXC khó có thể giành được khối lượng trên các sàn giao dịch tập trung. Đối với một nền tảng phi tập trung trao đổi để cạnh tranh với một sàn giao dịch tập trung, nó sẽ cần để hỗ trợ sổ đặt hàng sâu với các đơn đặt hàng giới hạn. Chỉ có một phân phối trao đổi trên blockchain có thể cung cấp điều đó. Tendermint cung cấp thêm lợi ích cho giao dịch nhanh hơn cam kết. Bằng cách ưu tiên khả năng hoạt động nhanh chóng mà không phải hy sinh tính nhất quán, các vùng trong Cosmos có thể thúc đẩy giao dịch nhanh chóng – cho cả giao dịch đặt hàng trao đổi cũng như IBC token chuyển tới và từ các khu vực khác. Với tình trạng trao đổi tiền điện tử ngày nay, một điều tuyệt vời ứng dụng cho Cosmos là sàn giao dịch phân tán (còn gọi là Cosmos DEX). Năng lực thông lượng giao dịch cũng như độ trễ cam kết có thể tương đương với độ trễ của tập trung trao đổi. Nhà giao dịch có thể gửi lệnh giới hạn có thể được thực hiện mà không cần cả hai bên phải trực tuyến. Và với Tendermint, trung tâm Cosmos và IBC, nhà giao dịch có thể chuyển tiền vào và ra trao đổi đến và đi từ các khu vực khác với tốc độ. Vùng đặc quyền có thể đóng vai trò là nguồn của token cầu nối của một loại tiền điện tử khác. Một cây cầu tương tự như mối quan hệ giữa trung tâm và vùng Cosmos; cả hai đều phải theo kịp các khối mới nhất của khối kia để xác minh bằng chứng rằng token có chuyển từ cái này sang cái khác. "Khu vực cầu" trên Cosmos mạng theo kịp Hub cũng như các mạng khác
tiền điện tử. Việc chuyển hướng qua vùng cầu cho phép logic của Hub vẫn đơn giản và không thể tin được đối với những người khác blockchain chiến lược đồng thuận như proof-of-work của Bitcoin khai thác mỏ. Mỗi vùng cầu validator sẽ chạy một hệ thống được hỗ trợ bởi Tendermint blockchain với ứng dụng cầu nối ABCI đặc biệt nhưng cũng có nút đầy đủ của “nguồn gốc” blockchain. Khi các khối mới được khai thác ở điểm gốc, vùng cầu validators sẽ đi đến thống nhất về các khối đã cam kết bằng cách ký tên và chia sẻ quan điểm địa phương tương ứng của họ về nguồn gốc blockchain tiền boa. Khi một bridge-zone nhận được khoản thanh toán từ nguồn gốc (và sự đồng ý đầy đủ đã được đồng ý đã được nhìn thấy trong vụ án của chuỗi PoW chẳng hạn như Ethereum hoặc Bitcoin), tương ứng tài khoản được tạo trên bridge-zone với số dư đó. Trong trường hợp Ethereum, bridge-zone có thể chia sẻ tương tự validator-được đặt làm Trung tâm Cosmos. Về phía Ethereum ( Origin), một hợp đồng bắc cầu sẽ cho phép người nắm giữ ether gửi ether tới bridge-zone bằng cách gửi nó tới bridge-contract trên Ethereum. Sau khi hợp đồng cầu nối nhận được ether, không thể rút ether trừ khi có gói IBC thích hợp được nhận bởi hợp đồng cầu từ khu vực cầu. các hợp đồng cầu nối theo dõi tập hợp validator của vùng cầu, trong đó có thể giống hệt với bộ validator của Hub Cosmos. Trong trường hợp Bitcoin, khái niệm này tương tự ngoại trừ việc thay vì một hợp đồng cầu nối duy nhất, mỗi UTXO sẽ được kiểm soát bởi một ngưỡng công bố P2SH đa chữ ký. Do những hạn chế của hệ thống P2SH, người ký không thể giống với Cosmos Bộ trung tâm validator.Ether trên vùng cầu (“bridged-ether”) có thể được chuyển sang và từ Hub, sau đó bị hủy bởi một giao dịch gửi nó đến một địa chỉ rút tiền cụ thể trên Ethereum. Một IBC gói chứng minh rằng giao dịch xảy ra trên bridge-zone có thể được đăng lên hợp đồng cầu nối Ethereum để cho phép ether được rút lại. Trong trường hợp Bitcoin, hệ thống tập lệnh bị hạn chế khiến nó khó có thể phản ánh cơ chế chuyển tiền IBC. Mỗi UTXO có bản công bố độc lập riêng, vì vậy mọi UTXO đều phải được di chuyển sang UTXO mới khi có thay đổi trong tập hợp Bitcoin người ký khế ước. Một giải pháp là nén và giải nén bộ UTXO nếu cần để giữ tổng số trong số UTXO giây bị hỏng. Rủi ro của một hợp đồng bắc cầu như vậy là có thể xảy ra validator lừa đảo. ≥⅓ Quyền biểu quyết của Byzantine có thể gây ra fork, rút ether từ hợp đồng cầu trên Ethereum trong khi vẫn giữ cầu nối trên vùng cầu. Tệ hơn nữa, >⅔ Quyền biểu quyết của Byzantine có thể ăn cắp ether hoàn toàn từ những người đã gửi nó đến hợp đồng cầu nối bằng cách đi chệch khỏi logic bắc cầu ban đầu của vùng cầu. Có thể giải quyết những vấn đề này bằng cách thiết kế cây cầu phù hợp hoàn toàn chịu trách nhiệm. Ví dụ: tất cả các gói IBC, từ trung tâm và nguồn gốc, có thể yêu cầu xác nhận của bridge-zone trong theo cách mà tất cả các chuyển đổi trạng thái của vùng cầu có thể được được thách thức và xác minh một cách hiệu quả bởi trung tâm hoặc nguồn gốc hợp đồng cầu đường. Hub và nguồn gốc phải cho phép các bridgezone validator gửi tài sản thế chấp và token chuyển ra khỏi hợp đồng bắc cầu sẽ bị trì hoãn (và tài sản thế chấp sẽ được hủy bỏ khoảng thời gian đủ dài) để cho phép mọi thách thức được thực hiện bởi kiểm toán viên độc lập. Chúng tôi để lại thiết kế của thông số kỹ thuật và việc triển khai hệ thống này mở như một tương lai Cosmos
đề xuất cải tiến sẽ được Trung tâm Cosmos thông qua hệ thống quản trị. Giải quyết vấn đề mở rộng quy mô là một vấn đề mở đối với Ethereum. Hiện tại, các nút Ethereum xử lý mọi giao dịch và cũng lưu trữ tất cả các trạng thái. liên kết. Vì Tendermint có thể thực hiện các khối nhanh hơn nhiều so với Ethereum proof-of-work, EVM khu vực được hỗ trợ bởi sự đồng thuận của Tendermint và hoạt động trên bridged-ether có thể mang lại hiệu suất cao hơn cho Ethereum blockchains. Ngoài ra, mặc dù Trung tâm Cosmos và IBC cơ chế gói không cho phép logic hợp đồng tùy ý thực chất nó có thể được sử dụng để phối hợp các chuyển động token giữa Ethereum hợp đồng chạy trên các vùng khác nhau, cung cấp nền tảng cho việc mở rộng quy mô token lấy trung tâm Ethereum thông qua phân mảnh. Cosmos vùng chạy logic ứng dụng tùy ý, được xác định tại thời điểm bắt đầu vòng đời của vùng và có thể được cập nhật theo thời gian bởi sự quản lý. Tính linh hoạt như vậy cho phép các vùng Cosmos đóng vai trò là cầu nối với các loại tiền điện tử khác như Ethereum hoặc Bitcoin và nó cũng cho phép các dẫn xuất của blockchain đó, sử dụng cùng một cơ sở mã nhưng với bộ validator khác và phân phối ban đầu. Điều này cho phép nhiều loại tiền điện tử hiện có các khuôn khổ, chẳng hạn như của Ethereum, Zerocash, Bitcoin, CryptoNote, v.v., sẽ được sử dụng với Tendermint Core, một công cụ đồng thuận hiệu suất cao hơn, trên một mạng chung, mở ra cơ hội to lớn cho khả năng tương tác giữa nền tảng. Hơn nữa, với tư cách là nhiều nội dung blockchain, một giao dịch có thể chứa nhiều đầu vào và đầu ra, trong đó mỗi đầu vào có thể là bất kỳ loại token nào, cho phép Cosmos phân phát trực tiếp dưới dạng một nền tảng trao đổi phi tập trung, mặc dù các đơn đặt hàng được giả địnhđể được khớp thông qua các nền tảng khác. Ngoài ra, một vùng có thể phục vụ như một sàn giao dịch có khả năng chịu lỗi phân tán (với sổ đặt hàng), có thể là một cải tiến nghiêm ngặt so với tập trung hiện có trao đổi tiền điện tử có xu hướng bị hack theo thời gian. Các vùng cũng có thể đóng vai trò là phiên bản doanh nghiệp được blockchain hỗ trợ và các hệ thống chính phủ, nơi các phần của một dịch vụ cụ thể theo truyền thống được điều hành bởi một tổ chức hoặc một nhóm tổ chức thay vào đó được chạy dưới dạng ứng dụng ABCI trên một vùng nhất định, cho phép nó kế thừa tính bảo mật và khả năng tương tác của công chúng Cosmos mạng mà không hy sinh quyền kiểm soát cơ bản dịch vụ. Do đó, Cosmos có thể mang lại những điều tốt nhất cho cả hai thế giới các tổ chức đang tìm cách sử dụng công nghệ blockchain nhưng ai cảnh giác với việc từ bỏ hoàn toàn quyền kiểm soát cho một bên thứ ba được phân phối bữa tiệc. Một số người cho rằng vấn đề lớn với việc ủng hộ tính nhất quán các thuật toán đồng thuận như Tendermint là bất kỳ mạng nào phân vùng khiến không có phân vùng duy nhất có >⅔ quyền biểu quyết (ví dụ: ≥⅓ chuyển sang sử dụng zine) sẽ ngăn chặn hoàn toàn sự đồng thuận. Kiến trúc Cosmos có thể giúp giảm thiểu vấn đề này bằng cách sử dụng một trung tâm toàn cầu với các khu tự trị khu vực, nơi quyền biểu quyết cho mỗi khu vực được phân bổ dựa trên một địa lý chung khu vực. Ví dụ, một mô hình chung có thể dành cho cá nhân thành phố hoặc khu vực để vận hành các khu vực riêng của họ trong khi chia sẻ trung tâm chung (ví dụ: Trung tâm Cosmos), cho phép hoạt động của thành phố tồn tại trong trường hợp trung tâm tạm dừng do mạng tạm thời phân vùng. Lưu ý rằng điều này cho phép thực tế về địa chất, chính trị và các tính năng cấu trúc liên kết mạng cần được xem xét trong việc thiết kế mạnh mẽ các hệ thống có khả năng chịu lỗi liên kết.
NameCoin là một trong những blockchain đầu tiên cố gắng giải quyết vấn đề vấn đề phân giải tên bằng cách điều chỉnh Bitcoin blockchain. Thật không may, đã có một số vấn đề với cách tiếp cận này. Với Namecoin, chúng tôi có thể xác minh rằng, chẳng hạn như @satoshi đã được đăng ký với một khóa công khai cụ thể tại một thời điểm nào đó trong quá khứ, nhưng chúng tôi không biết liệu khóa công khai đã được được cập nhật gần đây trừ khi chúng tôi tải xuống tất cả các khối kể từ lần cuối cùng cập nhật tên đó. Điều này là do hạn chế của Bitcoin UTXO mô hình Merkle-ization giao dịch, trong đó chỉ có các giao dịch (nhưng không phải trạng thái ứng dụng có thể thay đổi) được Merkle-ized vào khối-hash. Điều này cho phép chúng tôi chứng minh sự tồn tại chứ không phải sự không tồn tại của các bản cập nhật sau này cho một tên. Vì vậy, chúng ta không thể biết đối với nhất định giá trị gần đây nhất của một tên mà không tin tưởng vào giá trị đầy đủ nút hoặc phát sinh chi phí đáng kể về băng thông bằng cách tải xuống toàn bộ blockchain. Ngay cả khi cây tìm kiếm được Merkle hóa đã được triển khai trong NameCoin, sự phụ thuộc của nó vào proof-of-work khiến việc xác minh ứng dụng khách trở nên dễ dàng có vấn đề. Các khách hàng nhẹ phải tải xuống bản sao hoàn chỉnh của tiêu đề cho tất cả các khối trong toàn bộ blockchain (hoặc ít nhất là tất cả tiêu đề kể từ lần cập nhật cuối cùng cho một tên). Điều này có nghĩa là yêu cầu về băng thông tỉ lệ tuyến tính với lượng thời gian [21]. Ngoài ra, việc thay đổi tên trên proof-of-work blockchain yêu cầu chờ thêm proof-of-work khối xác nhận, việc này có thể mất tới một giờ trên Bitcoin. Với Tendermint, tất cả những gì chúng ta cần là khối gần đây nhất-hash được ký bởi số đại biểu validators (theo quyền biểu quyết) và Merkle bằng chứng cho giá trị hiện tại được liên kết với tên. Điều này làm cho nó có thể có một light-client ngắn gọn, nhanh chóng và an toàn xác minh các giá trị tên. Trong Cosmos, chúng tôi có thể áp dụng khái niệm này và mở rộng nó hơn nữa. Mỗi vùng đăng ký tên trong Cosmos có thể có tên miền cấp cao nhất (TLD) được liên kết chẳng hạn như “.com” hoặc “.org” và mỗi tên-
khu vực đăng ký có thể có quản trị và đăng ký riêng quy luật.
ธรรมาภิบาลและเศรษฐศาสตร์
แม้ว่า Cosmos Hub จะเป็นบัญชีแยกประเภทแบบกระจายหลายสินทรัพย์ แต่ก็มีอยู่ token พื้นเมืองพิเศษที่เรียกว่าอะตอม อะตอมเป็นเพียง staking token ของ Cosmos ฮับ อะตอมเป็นใบอนุญาตสำหรับผู้ถือ โหวต ตรวจสอบ หรือมอบหมายให้ validators อื่น ๆ ชอบ Ethereum อีเทอร์ อะตอมยังสามารถใช้เพื่อชำระค่าธรรมเนียมการทำธุรกรรมได้ ลดปัญหาสแปม อะตอม inzationary เพิ่มเติมและบล็อกธุรกรรม ค่าธรรมเนียมจะมอบให้กับ validators และผู้มอบหมายที่มอบหมายให้ validatorส. ธุรกรรม BurnAtomTx สามารถใช้เพื่อกู้คืนรายการใดก็ได้ จำนวนตามสัดส่วนของ tokens จากพูลสำรอง การกระจายเริ่มต้นของอะตอม tokens และ validators บน Genesis จะมอบให้กับผู้บริจาคของ Cosmos Fundraiser (75%) ผู้บริจาคหลัก (5%), Cosmos รากฐานเครือข่าย (10%) และ ALL IN BITS, Inc. (10%) ตั้งแต่กำเนิดเป็นต้นไป จะมี 1/3 ของจำนวนอะตอมทั้งหมด ได้รับรางวัลสำหรับ validators และผู้ได้รับมอบหมายที่ถูกผูกมัดทุกปี ดูแผน Cosmos สำหรับรายละเอียดเพิ่มเติม ต่างจาก Bitcoin หรือ proof-of-work blockchains อื่นๆ ที่เป็น Tendermint blockchain ช้าลงด้วย validators ที่มากขึ้นเนื่องจากการเพิ่มขึ้น ความซับซ้อนในการสื่อสาร โชคดีเรารองรับได้มากพอ validators เพื่อสร้างการกระจายทั่วโลกที่แข็งแกร่ง blockchain ด้วยเวลาการทำธุรกรรมที่รวดเร็วมากและในฐานะแบนด์วิธ
พื้นที่เก็บข้อมูลและความสามารถในการประมวลผลแบบขนานเพิ่มขึ้น เราก็สามารถทำได้ เพื่อสนับสนุน validators เพิ่มเติมในอนาคต ในวันที่กำเนิด จำนวนสูงสุดของ validators จะถูกตั้งค่าเป็น 100 และตัวเลขนี้จะเพิ่มขึ้นในอัตรา 13% เป็นเวลา 10 ปี และ ชำระที่ 300 validators ผู้ถือ Atom ที่ยังไม่ได้สามารถเป็น validators ได้ การลงนามและส่งธุรกรรม BondTx จำนวน อะตอมที่เป็นหลักประกันจะต้องไม่เป็นศูนย์ ใครๆ ก็สามารถเป็นได้ validator ได้ตลอดเวลา ยกเว้นเมื่อขนาดของกระแส validator ชุดมากกว่าจำนวนสูงสุด validators ได้รับอนุญาต ในกรณีนั้น ธุรกรรมจะมีผลก็ต่อเมื่อจำนวนเงิน อะตอมมีค่ามากกว่าปริมาณอะตอมที่มีประสิทธิผลที่ถือโดย validator ที่เล็กที่สุด โดยที่อะตอมที่มีประสิทธิผลรวมถึงอะตอมที่ได้รับมอบหมายด้วย เมื่อ validator ใหม่แทนที่ validator ที่มีอยู่ในลักษณะดังกล่าว validator ที่มีอยู่จะไม่ใช้งานและอะตอมทั้งหมดและ อะตอมที่ได้รับมอบหมายจะเข้าสู่สถานะที่ไม่มีพันธะ จะต้องมีการลงโทษสำหรับ validators สำหรับสิ่งใดก็ตาม การเบี่ยงเบนโดยเจตนาหรือไม่ตั้งใจจากการลงโทษ โปรโตคอล หลักฐานบางอย่างสามารถยอมรับได้ทันที เช่น ก เครื่องหมายสองครั้งที่สูงและกลมเท่ากันหรือฝ่าฝืน ปีที่ 0: 100 ปีที่ 1: 113 ปีที่ 2: 127 ปีที่ 3: 144 ปี 4: 163 ปีที่ 5: 184 ปีที่ 6: 208 ปีที่ 7: 235 ปี 8: 265 ปี 9: 300 ปีที่ 10: 300 ...
“prevote-the-lock” (กฎของโปรโตคอลฉันทามติของ Tendermint) หลักฐานดังกล่าวจะส่งผลให้ validator สูญเสียสถานะที่ดี และอะตอมที่ถูกพันธะของมัน รวมถึงส่วนแบ่งตามสัดส่วนของมันที่ tokens ใน กองสำรอง – เรียกรวมกันว่า “เดิมพัน” – จะถูกเฉือน บางครั้ง validators จะไม่สามารถใช้งานได้ เนื่องจากภูมิภาค การหยุดชะงักของเครือข่าย ไฟฟ้าขัดข้อง หรือสาเหตุอื่นๆ ถ้าอย่างใดอย่างหนึ่ง ชี้ไปที่บล็อก ValidatorTimeoutWindow ที่ผ่านมา ซึ่งเป็น validator การลงคะแนนเสียงจะไม่รวมอยู่ใน blockchain มากกว่า ValidatorTimeoutMaxAbsent ครั้งที่ validator จะกลายเป็น ไม่ได้ใช้งาน และเสีย ValidatorTimeoutPenalty (ค่าเริ่มต้น 1%) สัดส่วนการถือหุ้น พฤติกรรม "ที่เป็นอันตราย" บางอย่างไม่ได้ทำให้มองเห็นได้ชัดเจน หลักฐานใน blockchain ในกรณีเหล่านี้ validators สามารถทำได้ ประสานงานนอกแบนด์เพื่อบังคับให้หมดเวลาของผู้ที่เป็นอันตรายเหล่านี้ validators หากมีฉันทามติที่คนส่วนใหญ่เห็นด้วย ในสถานการณ์ที่ Cosmos Hub หยุดทำงานเนื่องจากการรวมตัวกัน ≥⅓ ของ อำนาจการลงคะแนนเสียงหมดไป หรือในสถานการณ์ที่มีแนวร่วม ≥⅓ จากการเซ็นเซอร์หลักฐานการลงคะแนนเสียงพฤติกรรมที่เป็นอันตรายจาก เมื่อเข้าสู่ blockchain ฮับจะต้องกู้คืนด้วยการฮาร์ดฟอร์ก ข้อเสนอ reorg (ลิงก์ไปยัง “การโจมตีทางแยกและการเซ็นเซอร์”) Cosmos ฮับ validators สามารถยอมรับประเภท token ใดๆ หรือการรวมกัน ประเภทเป็นค่าธรรมเนียมในการทำธุรกรรม validator แต่ละอันสามารถ กำหนดอัตราแลกเปลี่ยนที่ต้องการตามใจชอบแล้วเลือก ธุรกรรมใดก็ตามที่ต้องการ ตราบใดที่ BlockGasLimit ยังคงอยู่ ไม่เกิน. ค่าธรรมเนียมที่เรียกเก็บ ลบภาษีใด ๆ ที่ระบุด้านล่าง จะถูกแจกจ่ายให้กับผู้มีส่วนได้ส่วนเสียที่ถูกผูกมัดตามสัดส่วน อะตอมที่ถูกผูกมัด ทุก ๆ ValidatorPayoutPeriod (ค่าเริ่มต้น 1 ชั่วโมง)จากค่าธรรมเนียมการทำธุรกรรมที่เรียกเก็บ ReserveTax (ค่าเริ่มต้น 2%) ไปที่กองสำรองเพื่อเพิ่มกองสำรองและ เพิ่มความปลอดภัยและมูลค่าของเครือข่าย Cosmos เหล่านี้ สามารถกระจายกองทุนได้ตามการตัดสินใจ จัดทำโดยระบบการปกครอง ผู้ถือ Atom ที่มอบอำนาจการลงคะแนนของตนให้กับ validators อื่น ๆ จ่ายค่าคอมมิชชันให้กับผู้ได้รับมอบหมาย validator ค่าคอมมิชชั่นก็ได้ ถูกตั้งค่าโดยแต่ละ validator การรักษาความปลอดภัยของ Cosmos Hub เป็นฟังก์ชันของการรักษาความปลอดภัยของ validators พื้นฐานและการเลือกการมอบหมายโดยผู้มอบหมาย เพื่อส่งเสริมให้มีการค้นพบและรายงานสิ่งที่ค้นพบตั้งแต่เนิ่นๆ ช่องโหว่ Cosmos Hub สนับสนุนให้แฮกเกอร์เผยแพร่ การหาประโยชน์ที่ประสบความสำเร็จผ่านธุรกรรม ReportHackTx ที่ระบุว่า “นี่ validator ถูกแฮ็ก กรุณาส่งของรางวัลมาตามที่อยู่นี้” เมื่อ การใช้ประโยชน์ดังกล่าว validator และผู้รับมอบสิทธิ์จะไม่ใช้งาน HackPunishmentRatio (ค่าเริ่มต้น 5%) ของอะตอมของทุกคนจะได้รับ เฉือนและ HackRewardRatio (ค่าเริ่มต้น 5%) ของอะตอมของทุกคน จะได้รับรางวัลตามที่อยู่ค่าหัวของแฮกเกอร์ validator ต้องกู้คืนอะตอมที่เหลือโดยใช้คีย์สำรอง เพื่อป้องกันไม่ให้คุณลักษณะนี้ถูกละเมิดในการถ่ายโอน อะตอมที่ยังไม่ได้ลงทุน ส่วนของอะตอมที่ตกเป็นของเทียบกับที่ยังไม่ได้เป็นของ validators และผู้รับมอบสิทธิ์ก่อนและหลัง ReportHackTx จะ ยังคงเหมือนเดิม และความโปรดปรานของแฮ็กเกอร์จะรวมอยู่ด้วย อะตอมที่ยังไม่ได้ลงทุน ถ้ามี Cosmos Hub ดำเนินการโดยองค์กรแบบกระจายที่ จำเป็นต้องมีกลไกการกำกับดูแลที่ดีเพื่อที่จะ ประสานการเปลี่ยนแปลงต่างๆ กับ blockchain เช่น ตัวแปร
พารามิเตอร์ของระบบตลอดจนการอัพเกรดซอฟต์แวร์และ การแก้ไขรัฐธรรมนูญ validators ทั้งหมดมีหน้าที่ลงคะแนนเสียงในข้อเสนอทั้งหมด ล้มเหลวที่จะ โหวตข้อเสนอในเวลาที่เหมาะสมจะส่งผลให้ validator ถูกปิดการใช้งานโดยอัตโนมัติเป็นระยะเวลาหนึ่งเรียกว่า การขาดเรียนระยะเวลาการลงโทษ (ค่าเริ่มต้น 1 สัปดาห์) ผู้รับมอบสิทธิ์จะสืบทอดคะแนนเสียงของผู้รับมอบสิทธิ์โดยอัตโนมัติ validator. การลงคะแนนเสียงนี้อาจถูกแทนที่ด้วยตนเอง อะตอมที่ไม่มีพันธะ ไม่ได้รับการลงคะแนน ข้อเสนอแต่ละรายการกำหนดให้มีเงินฝากขั้นต่ำสำหรับข้อเสนอขั้นต่ำ tokens ซึ่งอาจเป็นการรวมกันของ tokens ตั้งแต่หนึ่งรายการขึ้นไป รวมทั้งอะตอมด้วย สำหรับแต่ละข้อเสนอ ผู้ลงคะแนนเสียงอาจลงคะแนนเสียงรับ เงินฝาก หากผู้มีสิทธิเลือกตั้งเกินครึ่งเลือกที่จะรับ เงินฝาก (เช่น เนื่องจากข้อเสนอเป็นสแปม) เงินฝากจะไปที่ แหล่งสำรอง ยกเว้นอะตอมใดๆ ที่ถูกเผา สำหรับแต่ละข้อเสนอ ผู้ลงคะแนนอาจลงคะแนนเสียงด้วยตัวเลือกต่อไปนี้: ใช่ ใช่แล้วด้วย Force ไม่นะ ไม่ด้วยForce งดเว้น เสียงส่วนใหญ่ของ Yea หรือ YeaWithForce ที่เข้มงวด (หรือ Nay หรือ NayWithForce โหวต) เป็นสิ่งจำเป็นสำหรับข้อเสนอที่จะตัดสินใจเป็น ผ่าน (หรือตัดสินว่าล้มเหลว) แต่ 1/3+ สามารถยับยั้งคนส่วนใหญ่ได้ การตัดสินใจโดยการลงคะแนนเสียง “อย่างใช้กำลัง” เมื่อเสียงข้างมากถูกยับยั้ง ทุกคนจะถูกลงโทษโดยการสูญเสีย VetoPenaltyFeeBlocks (มูลค่าบล็อกเริ่มต้น 1 วัน) มูลค่าค่าธรรมเนียม (ยกเว้นภาษี ซึ่งจะไม่ได้รับผลกระทบ) และฝ่ายที่วีโต้เสียงข้างมาก
การตัดสินจะถูกลงโทษเพิ่มเติมโดยการสูญเสีย VetoPenaltyAtoms (ค่าเริ่มต้น 0.1%) ของอะตอม พารามิเตอร์ใดๆ ที่กำหนดไว้ที่นี่สามารถเปลี่ยนแปลงได้ด้วย การส่งผ่าน ParameterChangeProposal อะตอมสามารถถูกเผาและสำรองกองทุนรวมที่ใช้ไปกับ การผ่าน BountyProposal ข้อเสนออื่นๆ ทั้งหมด เช่น ข้อเสนอเพื่ออัปเกรดโปรโตคอล จะได้รับการประสานงานผ่าน TextProposal ทั่วไป ดูแผน มีนวัตกรรมมากมายใน blockchain ฉันทามติและ ความสามารถในการขยายขนาดในช่วงสองสามปีที่ผ่านมา ส่วนนี้จะให้ข้อมูลโดยย่อ สำรวจประเด็นสำคัญที่เลือกไว้จำนวนหนึ่ง ฉันทามติต่อหน้าผู้เข้าร่วมที่เป็นอันตรายเป็นปัญหา ย้อนกลับไปในช่วงต้นทศวรรษ 1980 เมื่อเลสลี แลมพอร์ตประกาศเกียรติคุณ วลี “Byzantine Fault” เพื่ออ้างถึงพฤติกรรมกระบวนการตามอำเภอใจนั้น เบี่ยงเบนไปจากพฤติกรรมที่ตั้งใจไว้ ตรงกันข้ามกับ "ความผิดพลาดจากการชน" โดยที่กระบวนการก็ขัดข้อง มีการค้นพบวิธีแก้ปัญหาเบื้องต้น สำหรับเครือข่ายซิงโครนัสที่มีขอบเขตบนเวลาแฝงของข้อความ แม้ว่าการใช้งานจริงจะถูกจำกัดไว้ที่ระดับสูงก็ตาม สภาพแวดล้อมที่มีการควบคุม เช่น เครื่องควบคุมเครื่องบิน และ ศูนย์ข้อมูลซิงโครไนซ์ผ่านนาฬิกาอะตอม มันไม่ได้เป็นเช่นนั้นจนกระทั่ง ช่วงปลายยุค 90 ที่ค่าเผื่อความผิดพลาดของไบเซนไทน์ในทางปฏิบัติ (PBFT) [11] คือ แนะนำเป็นฉันทามติแบบซิงโครนัสบางส่วนที่มีประสิทธิภาพ อัลกอริธึมสามารถทนต่อพฤติกรรมของกระบวนการได้ถึง⅓ โดยพลการ PBFT กลายเป็นอัลกอริธึมมาตรฐานซึ่งมีอยู่มากมาย รูปแบบต่างๆ รวมถึงรูปแบบล่าสุดที่สร้างโดย IBM โดยเป็นส่วนหนึ่งของ การมีส่วนร่วมของพวกเขาใน Hyperledger ประโยชน์หลักของฉันทามติของ Tendermint เหนือ PBFT ก็คือ Tendermint มีโครงสร้างพื้นฐานที่ดีขึ้นและเรียบง่ายขึ้น บางส่วนเป็นผลมาจากการยอมรับกระบวนทัศน์ blockchain บล็อก Tendermint จะต้องดำเนินการตามลำดับ ซึ่งจะขัดขวาง ความซับซ้อนและค่าใช้จ่ายในการสื่อสารที่เกี่ยวข้องกับ PBFT's มุมมองการเปลี่ยนแปลง ใน Cosmos และ cryptocurrencies มากมายไม่มี จำเป็นต้องอนุญาตให้บล็อก N+i โดยที่ i >= 1 กระทำ เมื่อบล็อก N ตัวเองยังไม่ได้กระทำ หากแบนด์วิธเป็นเหตุให้บล็อก N ไม่ได้คอมมิตในโซน Cosmos ดังนั้นจึงไม่มีประโยชน์ในการใช้งาน การโหวตการแบ่งปันแบนด์วิธสำหรับบล็อก N+i หากเป็นพาร์ติชันเครือข่ายหรือ โหนด ofzine คือเหตุผลว่าทำไม block N จึงไม่คอมมิต N+ฉันจะไม่กระทำอยู่แล้ว นอกจากนี้ การแบ่งกลุ่มธุรกรรมเป็นบล็อกยังช่วยให้ทำได้ Merkle-hashing ของสถานะแอปพลิเคชันปกติ แทนที่จะเป็น การแยกย่อยเป็นระยะเช่นเดียวกับแผนการตรวจสอบของ PBFT สิ่งนี้ช่วยให้ เพื่อธุรกรรมที่พิสูจน์ได้เร็วยิ่งขึ้นสำหรับลูกค้ารายย่อยและรวดเร็วยิ่งขึ้น การสื่อสารระหว่าง-blockchain Tendermint Core ยังมีการเพิ่มประสิทธิภาพและฟีเจอร์มากมายอีกด้วย ที่เหนือกว่าสิ่งที่ระบุไว้ใน PBFT ตัวอย่างเช่น บล็อกที่เสนอโดย validators ถูกแบ่งออกเป็นส่วน ๆ Merkle-ized และซุบซิบในลักษณะที่ทำให้การออกอากาศดีขึ้น ประสิทธิภาพ (ดู LibSwift [19] สำหรับแรงบันดาลใจ) เทนเดอร์มิ้นต์ อีกด้วย Core ไม่ได้ตั้งสมมติฐานเกี่ยวกับจุดต่อจุด
การเชื่อมต่อและฟังก์ชั่นต่างๆ ตราบเท่าที่เครือข่าย P2P ยังคงอยู่ เชื่อมต่ออย่างอ่อนแอ แม้ว่าจะไม่ใช่ปีแรกที่ปรับใช้ proof-of-stake (PoS) แต่ BitShares1.0 [12] มีส่วนอย่างมากในการวิจัยและการนำ PoS มาใช้ blockchains โดยเฉพาะอย่างยิ่งที่รู้จักกันในชื่อ PoS "ที่ได้รับมอบสิทธิ์" ใน BitShares ผู้มีส่วนได้ส่วนเสียเลือก "พยาน" ซึ่งรับผิดชอบในการสั่งซื้อ และการทำธุรกรรมและ "ผู้รับมอบสิทธิ์" รับผิดชอบ การประสานงานการอัปเดตซอฟต์แวร์และการเปลี่ยนแปลงพารามิเตอร์ BitShares2.0 มุ่งหวังที่จะบรรลุประสิทธิภาพสูง (100k tx/s, 1s เวลาแฝง) ในสภาวะที่เหมาะสม โดยแต่ละบล็อกลงนามโดยบล็อกเดียว ผู้ลงนามและการทำธุรกรรมใช้เวลานานกว่าเล็กน้อย ช่วงเวลาบล็อก ข้อมูลจำเพาะแบบ Canonical ยังอยู่ในระหว่างการพัฒนา ผู้มีส่วนได้ส่วนเสียสามารถถอดถอนหรือเปลี่ยนพยานที่ประพฤติมิชอบได้ที่ ทุกวัน แต่ไม่มีหลักประกันที่เป็นสาระสำคัญของพยานหรือ ผู้เข้าร่วมประชุมที่มีลักษณะเหมือน Tendermint PoS ที่ถูกเฉือนเข้ามา กรณีการโจมตีแบบใช้จ่ายสองครั้งสำเร็จ จากแนวทางที่ Ripple บุกเบิก Stellar [13] ได้ดำเนินการ รูปแบบของข้อตกลง Federated Byzantine ซึ่งกระบวนการต่างๆ การมีส่วนร่วมในฉันทามติไม่ถือเป็น yxed และทั่วโลก ชุดที่รู้จัก แต่แต่ละโหนดกระบวนการจะดูแลจัดการอย่างน้อยหนึ่งรายการ “ส่วนองค์ประชุม” แต่ละส่วนประกอบด้วยชุดกระบวนการที่เชื่อถือได้ ก “องค์ประชุม” ใน Stellar ถูกกำหนดให้เป็นชุดของโหนดที่มี อย่างน้อยหนึ่งส่วนโควรัมสำหรับแต่ละโหนดในชุดเช่นนั้น สามารถบรรลุข้อตกลงได้ ความปลอดภัยของกลไก Stellar ขึ้นอยู่กับสมมติฐาน จุดตัดกันของโควรัมทั้งสองนั้นไม่ว่างเปล่า ในขณะที่ ความพร้อมใช้งานของโหนดต้องมีองค์ประกอบควอรัมอย่างน้อยหนึ่งชิ้น ประกอบด้วยโหนดที่ถูกต้องทั้งหมด ทำให้เกิดการแลกเปลี่ยนระหว่าง โดยใช้โควรัมชิ้นใหญ่หรือเล็กที่อาจรักษาสมดุลได้ยาก โดยไม่ตั้งสมมติฐานที่สำคัญเกี่ยวกับความไว้วางใจ ท้ายที่สุดแล้วโหนดจะต้องเลือกส่วนโควรัมให้เพียงพอ มีความทนทานต่อข้อผิดพลาดอย่างเพียงพอ (หรือ "โหนดที่ไม่เสียหาย" เลย ผลลัพธ์ของรายงานส่วนใหญ่ขึ้นอยู่กับ) และเพียงอย่างเดียว กลยุทธ์ที่ให้ไว้เพื่อให้แน่ใจว่าการกำหนดค่าดังกล่าวเป็นแบบลำดับชั้น และคล้ายกับ Border Gateway Protocol (BGP) ซึ่งใช้โดย ISP ระดับบนสุดบนอินเทอร์เน็ตเพื่อสร้างตารางเส้นทางทั่วโลก และโดย ที่ใช้โดยเบราว์เซอร์เพื่อจัดการใบรับรอง TLS ทั้งฉาวโฉ่ สำหรับความไม่มั่นคงของพวกเขา การวิพากษ์วิจารณ์ในรายงาน Stellar ของระบบพิสูจน์การเดิมพันที่ใช้ Tendermint ได้รับการบรรเทาลงโดยกลยุทธ์ token ที่อธิบายไว้ ที่นี่ซึ่งมีการออก token ประเภทใหม่ที่เรียกว่าอะตอมออกมา เป็นตัวแทนของการเรียกร้องค่าธรรมเนียมและผลตอบแทนในอนาคต ที่ ข้อดีของ proof-of-stake ที่ใช้ Tendermint นั้นสัมพันธ์กัน ความเรียบง่ายแต่ยังคงให้ความปลอดภัยที่เพียงพอและพิสูจน์ได้ การค้ำประกัน BitcoinNG เป็นการปรับปรุงที่เสนอสำหรับ Bitcoin ที่จะช่วยให้ สำหรับรูปแบบของความสามารถในการขยายแนวตั้ง เช่น การเพิ่มขนาดบล็อก โดยไม่มีผลกระทบด้านลบทางเศรษฐกิจที่เกี่ยวข้องโดยทั่วไป กับการเปลี่ยนแปลงดังกล่าว เช่น ผลกระทบใหญ่อย่างไม่สมส่วน บนคนงานเหมืองขนาดเล็ก การปรับปรุงนี้ทำได้โดยการแยก การเลือกตั้งผู้นำจากการออกอากาศรายการ: ผู้นำเป็นปีแรก เลือกโดย proof-of-work ใน "ไมโครบล็อก" แล้วจึงสามารถทำได้ การทำธุรกรรมออกอากาศจะต้องกระทำจนกว่าจะมีไมโครบล็อกใหม่ พบแล้ว ซึ่งจะช่วยลดความต้องการแบนด์วิธที่จำเป็น ชนะการแข่งขัน PoW ช่วยให้นักขุดรายย่อยสามารถแข่งขันได้อย่างยุติธรรมมากขึ้น และช่วยให้การทำธุรกรรมมีความสม่ำเสมอมากขึ้นโดย คนขุดแร่คนสุดท้ายที่จะค้นพบไมโครบล็อก Casper [16] เป็นอัลกอริทึมที่เป็นเอกฉันท์ proof-of-stake ที่เสนอสำหรับ Ethereum. โหมดการดำเนินงานที่สำคัญคือ “ฉันทามติต่อการเดิมพัน” โดย ปล่อยให้ validators เดิมพันซ้ำ ๆ ว่าบล็อกใดที่พวกเขาเชื่อว่าจะทำได้
มุ่งมั่นใน blockchain ตามการเดิมพันอื่นๆ ที่พวกเขาได้เห็นมาจนถึงตอนนี้ ความเป็น ynality ก็สามารถบรรลุได้ในที่สุด ลิงค์ นี่เป็นงานวิจัยที่ดำเนินการโดยทีมแคสเปอร์ ที่ ความท้าทายคือการสร้างกลไกการเดิมพันที่สามารถเป็นได้ ได้รับการพิสูจน์แล้วว่าเป็นกลยุทธ์ที่มีความมั่นคงทางวิวัฒนาการ ประโยชน์หลักของ แคสเปอร์เมื่อเทียบกับ Tendermint อาจเสนอ "ความพร้อม" เกินความสม่ำเสมอ” - ฉันทามติไม่จำเป็นต้องมีองค์ประชุม >⅔ ของ อำนาจในการลงคะแนนเสียง - อาจต้องแลกกับความเร็วในการกระทำการหรือ ความซับซ้อนในการดำเนินการ Interledger Protocol [14] ไม่ใช่โซลูชันด้านความสามารถในการปรับขนาดอย่างเคร่งครัด มัน ให้การทำงานร่วมกันเฉพาะกิจระหว่างบัญชีแยกประเภทที่แตกต่างกัน ผ่านเครือข่ายความสัมพันธ์ทวิภาคีที่เชื่อมโยงอย่างหลวมๆ เช่นเดียวกับ Lightning Network จุดประสงค์ของ ILP คือการอำนวยความสะดวก การชำระเงิน แต่จะเน้นไปที่การชำระเงินที่แตกต่างกันโดยเฉพาะ ประเภทบัญชีแยกประเภทและขยายกลไกการทำธุรกรรมแบบอะตอมมิกไปที่ รวมถึงไม่เพียงแต่ hash-ล็อค แต่ยังรวมถึงองค์ประชุมของโนตารีด้วย (เรียกว่า พิธีสารการขนส่งปรมาณู) กลไกหลังสำหรับ การบังคับใช้อะตอมมิกซิตีในธุรกรรมระหว่างบัญชีแยกประเภทก็คล้ายคลึงกับ กลไก SPV แบบ light-client ของ Tendermint จึงเป็นภาพประกอบของ รับประกันความแตกต่างระหว่าง ILP และ Cosmos/IBC และ ที่ให้ไว้ด้านล่าง 1. เอกสารรับรองของตัวเชื่อมต่อใน ILP ไม่รองรับการเป็นสมาชิก เปลี่ยนแปลงและไม่อนุญาตให้มีการถ่วงน้ำหนักแบบ zexible ระหว่าง ทนายความ ในทางกลับกัน IBC ได้รับการออกแบบมาโดยเฉพาะสำหรับ blockchains โดยที่ validators สามารถมีน้ำหนักที่แตกต่างกัน และ โดยที่สมาชิกสามารถเปลี่ยนแปลงได้ตลอดหลักสูตร blockchain. 2. เช่นเดียวกับใน Lightning Network ผู้รับการชำระเงินใน ILP ต้องออนไลน์เพื่อส่งคอนคอนกลับไปยังผู้ส่ง ในกtoken โอนผ่าน IBC ซึ่งเป็นชุด validator ของผู้รับ blockchain มีหน้าที่รับผิดชอบในการให้ข้อมูลร่วมกัน ไม่ใช่ ผู้ใช้ที่ได้รับ 3. ความแตกต่างที่ชัดเจนที่สุดคือตัวเชื่อมต่อของ ILP ไม่ใช่ รับผิดชอบหรือรักษาสถานะเผด็จการเกี่ยวกับการชำระเงิน ในขณะที่ Cosmos validators ของฮับเป็นผู้มีอำนาจ สถานะของ IBC token การโอน เช่นเดียวกับอำนาจของ จำนวน tokens ที่ถือโดยแต่ละโซน (แต่ไม่ใช่จำนวน tokens ถือโดยแต่ละบัญชีภายในโซน) นี่คือ นวัตกรรมพื้นฐานที่ช่วยให้มีความปลอดภัยไม่สมมาตร ถ่ายโอน tokens จากโซนหนึ่งไปอีกโซนหนึ่ง อะนาล็อกของ ILP ตัวเชื่อมต่อใน Cosmos เป็นแบบถาวรและปลอดภัยสูงสุด blockchain บัญชีแยกประเภท Cosmos ฮับ 4. การชำระเงินระหว่างบัญชีแยกประเภทใน ILP จะต้องได้รับการสนับสนุนจาก สมุดคำสั่งแลกเปลี่ยนเนื่องจากไม่มีการถ่ายโอนแบบไม่สมมาตร เหรียญจากบัญชีแยกประเภทหนึ่งไปยังอีกบัญชีหนึ่งเฉพาะการโอนมูลค่าหรือ เทียบเท่ากับตลาด Sidechains [15] เป็นกลไกที่นำเสนอสำหรับการปรับขนาด Bitcoin เครือข่ายผ่านทางเลือก blockchains ที่ "ตรึงไว้สองทาง" Bitcoin blockchain. (การตรึงแบบสองทางเทียบเท่ากับ การเชื่อมโยง ใน Cosmos เราพูดว่า "การเชื่อมโยง" เพื่อแยกความแตกต่างจากการเชื่อมโยงการตลาด) Sidechains อนุญาตให้ bitcoins ย้ายจาก Bitcoin blockchain ไปยัง sidechain และ back และอนุญาต การทดลองคุณสมบัติใหม่บนไซด์เชน เช่นเดียวกับใน Cosmos ฮับ ไซด์เชน และ Bitcoin ทำหน้าที่เป็น light-client ของ ซึ่งกันและกันโดยใช้หลักฐาน SPV เพื่อกำหนดว่าเหรียญควรเป็นเมื่อใด ถ่ายโอนไปยังไซด์เชนและด้านหลัง แน่นอน ตั้งแต่ Bitcoin ใช้ proof-of-work ไซด์เชนที่มีศูนย์กลางอยู่ที่ Bitcoin ต้องทนทุกข์ทรมาน จากปัญหาและความเสี่ยงมากมายของ proof-of-work ในฐานะ กลไกฉันทามติ นอกจากนี้ นี่คือ Bitcoin-maximalist โซลูชันที่ไม่รองรับ tokens และ
โทโพโลยีเครือข่ายระหว่างโซนเช่นเดียวกับที่ Cosmos ทำ ที่กล่าวว่าแกนกลาง กลไกของหมุดสองทางก็มีหลักการเหมือนกัน ทำงานโดยเครือข่าย Cosmos Ethereum กำลังค้นคว้ากลยุทธ์ต่างๆ มากมาย เพื่อแบ่งสถานะของ Ethereum blockchain ไปยังที่อยู่ ความต้องการความสามารถในการขยายขนาด ความพยายามเหล่านี้มีเป้าหมายในการรักษา เลเยอร์นามธรรมที่นำเสนอโดย Ethereum Virtual Machine ปัจจุบัน ทั่วพื้นที่ของรัฐที่ใช้ร่วมกัน มีความพยายามวิจัยหลายประการ กำลังดำเนินการอยู่ในขณะนี้ [18][22] Cosmos และ Ethereum 2.0 Mauve [22] มีเป้าหมายการออกแบบที่แตกต่างกัน Cosmos มีความเฉพาะเจาะจงเกี่ยวกับ tokens สีม่วงเป็นเรื่องเกี่ยวกับการปรับขนาด การคำนวณทั่วไป Cosmos ไม่ได้เชื่อมโยงกับ EVM ดังนั้นแม้แต่ VM ที่แตกต่างกันก็สามารถทำได้ ทำงานร่วมกัน Cosmos ให้ผู้สร้างโซนกำหนดว่าใครเป็นผู้ตรวจสอบ โซน ทุกคนสามารถเริ่มโซนใหม่ใน Cosmos (ยกเว้นการกำกับดูแล ตัดสินใจเป็นอย่างอื่น) ฮับแยกความล้มเหลวของโซน ดังนั้นค่าคงที่ token ส่วนกลางจึงเป็นเช่นนั้น เก็บรักษาไว้ Lightning Network เป็นเครือข่ายการถ่ายโอน token ที่นำเสนอ ทำงานที่เลเยอร์เหนือ Bitcoin blockchain (และสาธารณะอื่นๆ blockchains) ทำให้สามารถปรับปรุงลำดับความสำคัญได้มากมาย ในการทำธุรกรรมโดยการย้ายธุรกรรมส่วนใหญ่ นอกบัญชีแยกประเภทที่เป็นเอกฉันท์ไปสู่สิ่งที่เรียกว่า "ช่องทางการชำระเงิน"สิ่งนี้เกิดขึ้นได้โดยใช้สคริปต์สกุลเงินดิจิทัลออนไลน์ซึ่ง ช่วยให้ฝ่ายต่างๆ สามารถทำสัญญาเก็บสถานะทวิภาคีได้ โดยที่ สถานะสามารถอัปเดตได้โดยการแชร์ลายเซ็นดิจิทัลและสัญญา สามารถปิดได้โดยการเผยแพร่หลักฐานโดย ynally ไปยัง blockchain, a กลไกได้รับความนิยมเป็นครั้งแรกโดยการแลกเปลี่ยนอะตอมแบบข้ามสายโซ่ โดย เปิดช่องทางการชำระเงินกับหลายฝ่ายผู้เข้าร่วม Lightning Network สามารถกลายเป็นจุดโฟกัสสำหรับการกำหนดเส้นทาง การชำระเงินของผู้อื่น นำไปสู่ช่องทางการชำระเงินที่เชื่อมโยงกันอย่างเต็มรูปแบบ เครือข่ายโดยต้นทุนเงินทุนเชื่อมโยงกับช่องทางการชำระเงิน ในขณะที่ Lightning Network ยังสามารถขยายข้ามได้อย่างง่ายดาย blockchains อิสระหลายรายการเพื่อให้สามารถถ่ายโอนมูลค่าได้ ผ่านตลาดแลกเปลี่ยน ไม่สามารถใช้แบบไม่สมมาตรได้ โอน tokens จาก blockchain หนึ่งไปยังอีกแห่งหนึ่ง เบเนต์หลัก ของเครือข่าย Cosmos ที่อธิบายไว้ที่นี่คือการเปิดใช้งานโดยตรงดังกล่าว token การโอน กล่าวคือเราคาดหวังช่องทางการชำระเงินและ Lightning Network ที่จะได้รับการยอมรับอย่างกว้างขวางพร้อมกับเรา token กลไกการถ่ายโอน เพื่อการประหยัดต้นทุนและความเป็นส่วนตัว Segregated Witness คือลิงก์ข้อเสนอการปรับปรุง Bitcoin ตั้งเป้าที่จะเพิ่มปริมาณธุรกรรมต่อบล็อก 2X หรือ 3X ในขณะเดียวกันก็ทำให้การซิงค์บล็อกเร็วขึ้นสำหรับโหนดใหม่ ความฉลาดของโซลูชันนี้อยู่ที่วิธีการทำงานภายใน ข้อจำกัดของโปรโตคอลปัจจุบันของ Bitcoin และอนุญาตให้ใช้ soft-fork อัปเกรด (เช่น ลูกค้าที่มีซอฟต์แวร์เวอร์ชันเก่ากว่าจะ ยังคงทำงานต่อไปหลังจากการอัปเกรด) Tendermint เป็นของใหม่ โปรโตคอลไม่มีข้อจำกัดในการออกแบบ จึงมีมาตราส่วนที่แตกต่างกัน ลำดับความสำคัญ โดยพื้นฐานแล้ว Tendermint ใช้อัลกอริธึมแบบ Round-robin BFT ขึ้นอยู่กับลายเซ็นเข้ารหัสแทนการขุดซึ่ง อนุญาตให้ปรับขนาดแนวนอนผ่านหลายขนานได้เล็กน้อย blockchains ในขณะที่บล็อกปกติและบ่อยกว่าอนุญาต มาตราส่วนแนวตั้งเช่นกัน
Quản trị và Kinh tế
Mặc dù Trung tâm Cosmos là sổ cái phân phối nhiều tài sản, nhưng có một người bản địa đặc biệt token được gọi là nguyên tử. Nguyên tử là staking duy nhất token của Trung tâm Cosmos. Nguyên tử là một giấy phép cho người nắm giữ bỏ phiếu, xác thực hoặc ủy quyền cho validators khác. Giống như của Ethereum ether, nguyên tử cũng có thể được sử dụng để thanh toán phí giao dịch cho giảm thiểu thư rác. Các nguyên tử bổ sung và giao dịch khối phí được thưởng cho validator và người được ủy quyền validator giây. Giao dịch BurnAtomTx có thể được sử dụng để khôi phục mọi số lượng tương ứng token từ nhóm dự trữ. Sự phân bổ ban đầu của nguyên tử tokens và validators trên Genesis sẽ đến tay các nhà tài trợ của Cosmos Người gây quỹ (75%), nhà tài trợ chính (5%), Cosmos Network Foundation (10%) và ALL IN BITS, Inc (10%). Từ khi hình thành trở đi, 1/3 tổng số nguyên tử sẽ được khen thưởng cho validator ngoại quan và người được ủy quyền hàng năm. Xem Kế hoạch Cosmos để biết thêm chi tiết. Không giống như Bitcoin hoặc proof-of-work blockchain khác, Tendermint blockchain trở nên chậm hơn với nhiều validator giây hơn do tăng sự phức tạp trong giao tiếp. May mắn thay, chúng tôi có thể hỗ trợ đủ validators để tạo nên sự phân phối mạnh mẽ trên toàn cầu blockchain với thời gian xác nhận giao dịch rất nhanh và băng thông,
lưu trữ và khả năng tính toán song song tăng lên, chúng ta sẽ có thể để hỗ trợ thêm validators trong tương lai. Vào ngày khởi nguồn, số lượng validator tối đa sẽ được đặt thành 100, và con số này sẽ tăng với tốc độ 13% trong 10 năm, và giải quyết ở mức 300 validator giây. Những người nắm giữ Atom chưa có thể trở thành validators bằng cách ký và gửi giao dịch BondTx. Số lượng của các nguyên tử được cung cấp làm tài sản thế chấp phải khác không. Bất cứ ai cũng có thể trở thành a validator bất cứ lúc nào, ngoại trừ khi kích thước của dòng điện Bộ validator lớn hơn số lượng tối đa validator giây được phép. Trong trường hợp đó, giao dịch chỉ có hiệu lực nếu số tiền nguyên tử lớn hơn số lượng nguyên tử hữu hiệu được giữ bởi nhỏ nhất validator, trong đó các nguyên tử hiệu quả bao gồm các nguyên tử được ủy quyền. Khi validator mới thay thế validator hiện có theo cách như vậy, validator hiện có sẽ không hoạt động và tất cả các nguyên tử và các nguyên tử được ủy quyền đi vào trạng thái không liên kết. Phải có một số hình phạt áp dụng đối với validator đối với bất kỳ cố ý hoặc vô ý đi chệch khỏi mức bị xử phạt giao thức. Một số bằng chứng được chấp nhận ngay lập tức, chẳng hạn như một ký kép ở cùng độ cao và hình tròn hoặc vi phạm Năm 0: 100 Năm 1: 113 Năm 2: 127 Năm 3: 144 Năm 4: 163 Năm 5: 184 Năm 6: 208 Năm 7: 235 Năm 8: 265 Năm 9: 300 Năm 10: 300 ...
“prevote-the-lock” (một quy tắc của giao thức đồng thuận Tendermint). Bằng chứng như vậy sẽ khiến validator mất đi vị thế tốt và các nguyên tử liên kết của nó cũng như tỷ lệ tokens trong quỹ dự trữ – được gọi chung là “cổ phần” của nó – sẽ bị cắt giảm. Đôi khi, validator sẽ không khả dụng do điều kiện khu vực gián đoạn mạng, mất điện hoặc các lý do khác. Nếu, bất cứ lúc nào điểm trong các khối ValidatorTimeoutWindow trước đây, validator's phiếu cam kết không được bao gồm trong blockchain nhiều hơn ValidatorTimeoutMaxAbsent lần, validator đó sẽ trở thành không hoạt động và mất ValidatorTimeoutPenalty (MẶC ĐỊNH 1%) trong tổng số cổ phần. Một số hành vi “có hại” không tạo ra sự khác biệt rõ ràng bằng chứng trên blockchain. Trong những trường hợp này, validator có thể phối hợp ngoài băng để buộc thời gian chờ của những kẻ độc hại này validators, nếu có sự đồng thuận của đa số. Trong trường hợp Trung tâm Cosmos dừng do liên minh ≥⅓ quyền biểu quyết sẽ thuộc về zine hoặc trong trường hợp liên minh ≥⅓ quyền biểu quyết kiểm duyệt bằng chứng về hành vi độc hại từ vào blockchain, trung tâm phải khôi phục bằng hard-fork đề xuất tái tổ chức. (Liên kết đến “Các cuộc tấn công phân nhánh và kiểm duyệt”). Cosmos Hub validator có thể chấp nhận bất kỳ loại token hoặc kết hợp nào các loại phí để xử lý một giao dịch. Mỗi validator có thể chủ quan đặt ra bất kỳ tỷ giá hối đoái nào nó muốn và chọn bất kỳ giao dịch nào họ muốn, miễn là BlockGasLimit là không vượt quá. Các khoản phí thu được, trừ đi các khoản thuế được quy định dưới đây, được phân phối lại cho các bên liên quan theo tỷ lệ các nguyên tử liên kết của chúng, mỗi ValidatorPayoutPeriod (MẶC ĐỊNH 1 giờ).Trong số phí giao dịch được thu, ReserveTax (MẶC ĐỊNH 2%) sẽ đi về phía nhóm dự trữ để tăng nhóm dự trữ và tăng tính bảo mật và giá trị của mạng Cosmos. Những cái này nguồn vốn cũng có thể được phân bổ theo các quyết định do hệ thống quản lý thực hiện. Người sở hữu Atom ủy quyền quyền biểu quyết của họ cho validators khác trả hoa hồng cho người được ủy quyền validator. Ủy ban có thể được đặt bởi mỗi validator. Tính bảo mật của Cosmos Hub là một chức năng bảo mật của validator cơ bản và sự lựa chọn ủy quyền của người được ủy quyền. Để khuyến khích việc phát hiện và báo cáo sớm các phát hiện các lỗ hổng bảo mật, Trung tâm Cosmos khuyến khích tin tặc xuất bản khai thác thành công thông qua giao dịch ReportHackTx có nội dung: “Điều này validator đã bị hack. Vui lòng gửi tiền thưởng đến địa chỉ này”. Khi việc khai thác như vậy, validator và người ủy quyền sẽ không hoạt động, HackPunishmentRatio (mặc định 5%) nguyên tử của mọi người sẽ nhận được bị chém và HackRewardRatio (mặc định 5%) nguyên tử của mọi người sẽ nhận được phần thưởng theo địa chỉ tiền thưởng của hacker. validator phải phục hồi các nguyên tử còn lại bằng cách sử dụng khóa dự phòng của chúng. Để ngăn chặn tính năng này bị lạm dụng để chuyển các nguyên tử chưa được đầu tư, phần nguyên tử được giao so với các nguyên tử chưa được đầu tư của validators và người được ủy quyền trước và sau ReportHackTx sẽ vẫn giữ nguyên và tiền thưởng của hacker sẽ bao gồm một số nguyên tử chưa đầu tư, nếu có. Trung tâm Cosmos được vận hành bởi một tổ chức phân phối đòi hỏi phải có cơ chế quản lý chặt chẽ để điều phối các thay đổi khác nhau đối với blockchain, chẳng hạn như biến
các thông số của hệ thống, cũng như nâng cấp phần mềm và sửa đổi hiến pháp. Tất cả validator đều có trách nhiệm bỏ phiếu cho tất cả đề xuất. Không thể bỏ phiếu cho một đề xuất một cách kịp thời sẽ dẫn đến validator bị vô hiệu hóa tự động trong một khoảng thời gian được gọi là Vắng mặtThời gian phạt (MẶC ĐỊNH 1 tuần). Người được ủy quyền tự động kế thừa phiếu bầu của người được ủy quyền validator. Phiếu bầu này có thể được ghi đè bằng tay. nguyên tử không liên kết không nhận được phiếu bầu. Mỗi đề xuất yêu cầu một khoản tiền gửi là Tiền gửi đề xuất tối thiểu tokens, có thể là sự kết hợp của một hoặc nhiều tokens trong đó có nguyên tử. Đối với mỗi đề xuất, cử tri có thể bỏ phiếu để thông qua tiền đặt cọc. Nếu hơn một nửa số cử tri chọn tham gia tiền gửi (ví dụ: vì đề xuất là thư rác), khoản tiền gửi sẽ chuyển đến nguồn dự trữ, ngoại trừ bất kỳ nguyên tử nào bị đốt cháy. Đối với mỗi đề xuất, cử tri có thể bỏ phiếu với các phương án sau: vâng YeaWithForce không NayVới Lực Lượng kiêng Đa số phiếu thuận hoặc YeaWithForce (hoặc Không hoặc Cần có phiếu bầu NayWithForce) để đề xuất được quyết định là được thông qua (hoặc quyết định là thất bại), nhưng 1/3+ có thể phủ quyết đa số quyết định bằng cách bỏ phiếu "có hiệu lực". Khi đa số tuyệt đối bị phủ quyết, mọi người đều bị trừng phạt bằng cách thua VetoPenaltyFeeBlocks (MẶC ĐỊNH số khối có giá trị trong 1 ngày) phí (trừ thuế sẽ không bị ảnh hưởng) và bên phủ quyết đa số
quyết định sẽ bị phạt bổ sung bằng việc mất VetoPenaltyAtoms (MẶC ĐỊNH 0,1%) số nguyên tử của nó. Bất kỳ tham số nào được mô tả ở đây đều có thể được thay đổi bằng chuyển Đề xuất thay đổi thông số . Các nguyên tử có thể được sản xuất và dự trữ quỹ dành cho thông qua Đề xuất tiền thưởng . Tất cả các đề xuất khác, chẳng hạn như đề xuất nâng cấp giao thức, sẽ được điều phối thông qua Đề xuất văn bản chung. Xem Kế hoạch. Đã có nhiều đổi mới trong blockchain sự đồng thuận và khả năng mở rộng trong vài năm qua. Phần này cung cấp một bản tóm tắt khảo sát một số lựa chọn quan trọng. Sự đồng thuận khi có sự hiện diện của những người tham gia độc hại là một vấn đề bắt đầu từ đầu những năm 1980, khi Leslie Lamport đặt ra cụm từ “Lỗi Byzantine” để chỉ hành vi xử lý tùy ý đi chệch khỏi hành vi dự định, trái ngược với “lỗi sự cố”, trong đó một quá trình chỉ đơn giản là gặp sự cố. Các giải pháp ban đầu được phát hiện đối với các mạng đồng bộ có giới hạn trênđộ trễ của tin nhắn, mặc dù việc sử dụng thực tế bị giới hạn ở mức cao môi trường được kiểm soát như bộ điều khiển máy bay và trung tâm dữ liệu được đồng bộ hóa thông qua đồng hồ nguyên tử. Mãi cho đến khi vào cuối những năm 90, Dung sai lỗi Byzantine thực tế (PBFT) [11] là được giới thiệu như một sự đồng thuận đồng bộ một phần hiệu quả thuật toán có thể chịu được tới ⅓ quy trình hoạt động tùy ý. PBFT đã trở thành thuật toán tiêu chuẩn, tạo ra nhiều thuật toán các biến thể, bao gồm cả biến thể gần đây nhất do IBM tạo ra như một phần của đóng góp của họ cho Hyperledger. Lợi ích chính của sự đồng thuận của Tendermint đối với PBFT là Tendermint có cấu trúc cơ bản được cải tiến và đơn giản hóa, một số trong đó là kết quả của việc áp dụng mô hình blockchain. Các khối Tendermint phải được thực hiện theo thứ tự, điều này ngăn cản độ phức tạp và chi phí liên lạc liên quan đến PBFT lượt xem-thay đổi. Trong Cosmos và nhiều loại tiền điện tử, không có cần cho phép khối N+i trong đó i >= 1 được cam kết, khi khối N bản thân nó vẫn chưa cam kết. Nếu băng thông là nguyên nhân khiến khối N chưa cam kết trong vùng Cosmos thì việc sử dụng sẽ không có ích gì phiếu chia sẻ băng thông cho khối N+i. Nếu một phân vùng mạng hoặc nút ofzine là lý do tại sao khối N chưa được cam kết, thì N+i dù sao cũng sẽ không cam kết. Ngoài ra, việc gộp các giao dịch thành các khối cho phép Merkle-hashing thường xuyên của trạng thái ứng dụng, thay vì các bản tóm tắt định kỳ như với sơ đồ điểm kiểm tra của PBFT. Điều này cho phép để có các cam kết giao dịch có thể chứng minh nhanh hơn dành cho khách hàng nhẹ và nhanh hơn liên lạc giữablockchain. Tendermint Core cũng bao gồm nhiều tính năng và tối ưu hóa vượt xa những gì được chỉ định trong PBFT. Ví dụ, các khối do validators đề xuất được chia thành các phần, được Merkle hóa, và buôn chuyện theo cách giúp cải thiện việc phát sóng hiệu suất (xem LibSwift [19] để biết cảm hứng). Ngoài ra, bạc hà Core không đưa ra bất kỳ giả định nào về điểm-điểm
khả năng kết nối và hoạt động miễn là mạng P2P kết nối yếu. Mặc dù không phải là năm đầu tiên triển khai proof-of-stake (PoS), BitShares1.0 [12] đóng góp đáng kể vào việc nghiên cứu và áp dụng PoS blockchains, đặc biệt là những PoS được ủy quyền. trong BitShares, người nắm giữ cổ phần bầu ra “nhân chứng”, chịu trách nhiệm ra lệnh và thực hiện các giao dịch, và các "đại biểu" chịu trách nhiệm về phối hợp cập nhật phần mềm và thay đổi thông số. BitShares2.0 nhằm mục đích đạt được hiệu suất cao (100k tx/s, 1s độ trễ) trong điều kiện lý tưởng, với mỗi khối được ký bởi một người ký và thời gian thực hiện giao dịch mất nhiều thời gian hơn một chút so với khoảng chặn. Một đặc tả kinh điển vẫn đang được phát triển. Các bên liên quan có thể loại bỏ hoặc thay thế các nhân chứng có hành vi sai trái hàng ngày, nhưng không có tài sản thế chấp đáng kể của nhân chứng hoặc các đại biểu giống như Tendermint PoS bị chém vào trường hợp tấn công chi tiêu gấp đôi thành công. Dựa trên cách tiếp cận do Ripple tiên phong, Stellar [13] đã đưa ra một mô hình Thỏa thuận Byzantine Liên bang trong đó các quy trình tham gia vào sự đồng thuận không cấu thành một yxed và trên toàn cầu tập đã biết. Đúng hơn, mỗi nút quy trình quản lý một hoặc nhiều “các lát cắt đại biểu”, mỗi lát tạo thành một tập hợp các quy trình đáng tin cậy. A “quorum” trong Stellar được coi là tập hợp các nút chứa tại ít nhất một lát đại biểu cho mỗi nút trong tập hợp, sao cho thỏa thuận có thể đạt được. Tính bảo mật của cơ chế Stellar dựa trên giả định rằng giao điểm của hai đại biểu bất kỳ không trống, trong khi tính khả dụng của một nút yêu cầu ít nhất một trong các lát cắt đại biểu của nó để bao gồm toàn bộ các nút chính xác, tạo ra sự cân bằng giữa sử dụng các lát đại biểu lớn hoặc nhỏ có thể khó cân bằng mà không áp đặt những giả định quan trọng về niềm tin. Cuối cùng,các nút bằng cách nào đó phải chọn các lát đại biểu đầy đủ để có có đủ khả năng chịu lỗi (hoặc bất kỳ "nút nguyên vẹn" nào, trong đó phần lớn kết quả của bài báo phụ thuộc vào) và duy nhất cung cấp chiến lược để đảm bảo sự kết hợp như vậy được phân cấp và tương tự như Giao thức cổng biên (BGP), được sử dụng bởi các ISP hàng đầu trên internet để thiết lập các bảng định tuyến toàn cầu và bởi được trình duyệt sử dụng để quản lý chứng chỉ TLS; cả hai đều khét tiếng vì sự bất an của họ. Những lời chỉ trích trong bài báo Stellar về hệ thống bằng chứng cổ phần dựa trên Tendermint được giảm nhẹ nhờ chiến lược token được mô tả ở đây, trong đó một loại token mới được gọi là nguyên tử được phát hành thể hiện các yêu cầu đối với các phần phí và phần thưởng trong tương lai. các thì lợi thế của proof-of-stake dựa trên Tendermint là tương đối của nó đơn giản, trong khi vẫn cung cấp đủ mức độ bảo mật và có thể chứng minh được sự đảm bảo. BitcoinNG là cải tiến được đề xuất cho Bitcoin sẽ cho phép dành cho các dạng khả năng mở rộng theo chiều dọc, chẳng hạn như tăng kích thước khối, không có những hậu quả kinh tế tiêu cực thường liên quan đến với sự thay đổi như vậy, chẳng hạn như tác động lớn không tương xứng trên các thợ mỏ nhỏ. Sự cải thiện này đạt được bằng cách tách bầu cử lãnh đạo từ phát sóng giao dịch: lãnh đạo là người đầu tiên được bầu chọn bởi proof-of-work trong “khối vi mô” và sau đó có thể các giao dịch quảng bá sẽ được cam kết cho đến khi có một khối vi mô mới được tìm thấy. Điều này làm giảm các yêu cầu về băng thông cần thiết để giành chiến thắng trong cuộc đua PoW, cho phép các thợ mỏ nhỏ cạnh tranh công bằng hơn, và cho phép các giao dịch được thực hiện thường xuyên hơn bởi thợ mỏ cuối cùng tìm được một khối vi mô. Casper [16] là thuật toán đồng thuận proof-of-stake được đề xuất cho Ethereum. Phương thức hoạt động chính của nó là “đồng thuận bằng cách đặt cược”. Bởi để validator đặt cược lặp đi lặp lại vào khối mà họ tin rằng sẽ
cam kết tham gia blockchain dựa trên các cược khác mà họ đã thấy cho đến nay, cuối cùng thì tính đồng bộ có thể đạt được. liên kết. Đây là một lĩnh vực nghiên cứu tích cực của nhóm Casper. các thách thức là xây dựng một cơ chế cá cược có thể đã được chứng minh là một chiến lược ổn định về mặt tiến hóa. Lợi ích chính của Casper so với Tendermint có thể cung cấp “tính khả dụng quá nhất quán” – sự đồng thuận không yêu cầu >⅔ số đại biểu quyền biểu quyết - có lẽ phải trả giá bằng tốc độ cam kết hoặc độ phức tạp thực hiện. Giao thức Interledger [14] không hẳn là một giải pháp có khả năng mở rộng. Nó cung cấp sự tương tác đặc biệt giữa các sổ cái khác nhau hệ thống thông qua mạng lưới quan hệ song phương được kết nối lỏng lẻo. Giống như Lightning Network, mục đích của ILP là tạo điều kiện thuận lợi thanh toán, nhưng nó đặc biệt tập trung vào các khoản thanh toán khác nhau các loại sổ cái và mở rộng cơ chế giao dịch nguyên tử sang bao gồm không chỉ hash-khóa mà còn bao gồm số đại biểu công chứng viên (được gọi là Giao thức vận chuyển nguyên tử). Cơ chế sau cho thực thi tính nguyên tử trong các giao dịch giữa các sổ cái tương tự như Cơ chế SPV máy khách nhẹ của Tendermint, do đó minh họa về sự khác biệt giữa ILP và Cosmos/IBC được đảm bảo và được cung cấp dưới đây. 1. Công chứng viên kết nối trong ILP không hỗ trợ tư cách thành viên thay đổi và không cho phép trọng số linh hoạt giữa công chứng viên. Mặt khác, IBC được thiết kế đặc biệt cho blockchains, trong đó validators có thể có trọng số khác nhau và nơi tư cách thành viên có thể thay đổi trong quá trình blockchain. 2. Giống như trong Lightning Network, người nhận thanh toán trong ILP phải trực tuyến để gửi xác nhận lại cho người gửi. trong mộttoken chuyển qua IBC, bộ validator của máy thu blockchain chịu trách nhiệm cung cấp xác nhận chứ không phải người dùng nhận. 3. Điểm khác biệt nổi bật nhất là đầu nối của ILP không chịu trách nhiệm hoặc giữ thẩm quyền về các khoản thanh toán, trong khi ở Cosmos, validator của trung tâm là thẩm quyền của trạng thái IBC token chuyển giao cũng như thẩm quyền của số lượng token được giữ bởi mỗi vùng (nhưng không phải số lượng token được nắm giữ bởi mỗi tài khoản trong một vùng). Đây là sự đổi mới cơ bản cho phép đảm bảo tính bất đối xứng chuyển token từ vùng này sang vùng khác; tương tự như ILP trình kết nối trong Cosmos là một kết nối ổn định và an toàn tối đa sổ cái blockchain, trung tâm Cosmos. 4. Các khoản thanh toán liên sổ cái trong ILP cần được hỗ trợ bởi một sổ đặt hàng trao đổi, vì không có sự chuyển giao bất đối xứng của tiền từ sổ cái này sang sổ cái khác, chỉ chuyển giá trị hoặc tương đương trên thị trường. Chuỗi bên [15] là cơ chế được đề xuất để mở rộng quy mô Bitcoin mạng thông qua các blockchain thay thế được “chốt hai chiều” với Bitcoin blockchain. (Chốt hai chiều tương đương với bắc cầu. Trong Cosmos chúng tôi nói "bắc cầu" để phân biệt với định vị thị trường). Sidechains cho phép bitcoin di chuyển một cách hiệu quả từ Bitcoin blockchain vào sidechain và ngược lại, đồng thời cho phép thử nghiệm các tính năng mới trên sidechain. Như trong Cosmos Hub, sidechain và Bitcoin đóng vai trò là khách hàng nhẹ của lẫn nhau, sử dụng bằng chứng SPV để xác định khi nào các đồng xu sẽ được được chuyển sang sidechain và ngược lại. Tất nhiên, vì Bitcoin sử dụng proof-of-work, các chuỗi bên xoay quanh Bitcoin bị ảnh hưởng khỏi nhiều vấn đề và rủi ro của proof-of-work như một cơ chế đồng thuận Hơn nữa, đây là một người theo chủ nghĩa tối đa Bitcoin giải pháp vốn không hỗ trợ nhiều loại token và
cấu trúc liên kết mạng liên vùng như Cosmos. Điều đó nói lên rằng, cốt lõi cơ chế của chốt hai chiều về nguyên tắc giống như cơ chế đó được sử dụng bởi mạng Cosmos. Ethereum hiện đang nghiên cứu một số chiến lược khác nhau để phân chia trạng thái của Ethereum blockchain để giải quyết nhu cầu về khả năng mở rộng. Những nỗ lực này nhằm mục đích duy trì lớp trừu tượng được cung cấp bởi Máy ảo Ethereum hiện tại trên không gian trạng thái được chia sẻ. Nhiều nỗ lực nghiên cứu đang đang được tiến hành vào thời điểm này. [18][22] Cosmos và Ethereum 2.0 Màu hoa cà [22] có các mục tiêu thiết kế khác nhau. Cosmos đặc biệt là khoảng tokens. Mauve là về việc mở rộng quy mô tính toán tổng quát. Cosmos không bị ràng buộc với EVM, do đó, ngay cả các máy ảo khác nhau cũng có thể tương tác. Cosmos cho phép người tạo vùng xác định ai xác thực khu. Bất kỳ ai cũng có thể bắt đầu một khu vực mới trong Cosmos (trừ khi quản trị quyết định khác). Hub cách ly các lỗi vùng nên các bất biến token toàn cầu được được bảo tồn. Mạng Lightning là mạng chuyển giao token được đề xuất hoạt động ở lớp phía trên Bitcoin blockchain (và lớp công cộng khác blockchains), cho phép cải thiện nhiều cấp độ lớn trong thông lượng giao dịch bằng cách di chuyển phần lớn các giao dịch ngoài sổ cái đồng thuận vào cái gọi là “kênh thanh toán”.Điều này được thực hiện nhờ các tập lệnh tiền điện tử trên chuỗi, cho phép các bên ký kết các hợp đồng nhà nước song phương trong đó trạng thái có thể được cập nhật bằng cách chia sẻ chữ ký số và hợp đồng có thể bị đóng bằng cách xuất bản bằng chứng đồng thời lên blockchain, một cơ chế lần đầu tiên được phổ biến rộng rãi nhờ sự hoán đổi nguyên tử xuyên chuỗi. Bởi mở kênh thanh toán với nhiều bên, người tham gia Lightning Network có thể trở thành điểm tập trung cho việc định tuyến thanh toán của người khác, dẫn đến một kênh thanh toán được kết nối đầy đủ mạng, với chi phí vốn bị ràng buộc trên các kênh thanh toán. Mặc dù Lightning Network cũng có thể dễ dàng mở rộng khắp nhiều blockchain độc lập để cho phép chuyển giá trị thông qua thị trường trao đổi, nó không thể được sử dụng để chuyển token từ blockchain này sang blockchain khác. Lợi ích chính của mạng Cosmos được mô tả ở đây là kích hoạt trực tiếp như vậy token chuyển khoản. Điều đó nói lên rằng, chúng tôi kỳ vọng các kênh thanh toán và Lightning Network sẽ được áp dụng rộng rãi cùng với token cơ chế chuyển giao, vì lý do tiết kiệm chi phí và bảo mật. Segregated Witness là một liên kết đề xuất cải tiến Bitcoin nhằm mục đích tăng thông lượng giao dịch trên mỗi khối lên gấp 2 lần hoặc 3 lần, đồng thời làm cho việc đồng bộ hóa khối nhanh hơn cho các nút mới. Điểm sáng chói của giải pháp này nằm ở cách nó hoạt động trong hạn chế của giao thức hiện tại của Bitcoin và cho phép phân nhánh mềm nâng cấp (tức là các máy khách có phiên bản phần mềm cũ hơn sẽ tiếp tục hoạt động sau khi nâng cấp). Tendermint, là một sản phẩm mới giao thức, không có hạn chế về thiết kế, vì vậy nó có tỷ lệ khác những ưu tiên. Về cơ bản, Tendermint sử dụng thuật toán quay vòng BFT dựa trên chữ ký mật mã thay vì khai thác, một cách tầm thường cho phép chia tỷ lệ theo chiều ngang thông qua nhiều song song blockchains, trong khi các cam kết khối thường xuyên hơn, thường xuyên hơn cho phép cũng có thể chia tỷ lệ theo chiều dọc.
ฉันทามติและรายละเอียดทางเทคนิค
ระเบียบวิธีฉันทามติที่ออกแบบมาอย่างดีควรจัดเตรียมไว้บ้าง รับประกันในกรณีที่เกินขีดความสามารถที่ยอมรับได้ และฉันทามติล้มเหลว นี่เป็นสิ่งจำเป็นอย่างยิ่งในด้านเศรษฐกิจ ระบบซึ่งพฤติกรรมไบเซนไทน์สามารถมีการเงินจำนวนมากได้ รางวัล การรับประกันที่สำคัญที่สุดคือรูปแบบของ forkaaccountability ซึ่งกระบวนการที่ทำให้เกิดฉันทามติ ล้มเหลว (เช่น ทำให้ไคลเอนต์ของโปรโตคอลยอมรับค่าที่แตกต่างกัน - ทางแยก) สามารถระบุและลงโทษได้ตามกฎของ ระเบียบการหรืออาจรวมถึงระบบกฎหมาย เมื่อระบบกฎหมายเป็น ไม่น่าเชื่อถือหรือมีราคาแพงเกินไปในการเรียกใช้ validators สามารถทำได้ ถูกบังคับให้วางเงินประกันเพื่อเข้าร่วมและอื่นๆ เงินฝากสามารถเพิกถอนหรือเฉือนได้เมื่อมีพฤติกรรมที่เป็นอันตราย ตรวจพบ [10] โปรดทราบว่าสิ่งนี้ไม่เหมือนกับ Bitcoin ซึ่งการฟอร์กเกิดขึ้นเป็นประจำ เนื่องจากเครือข่ายไม่ซิงโครไนซ์และลักษณะความน่าจะเป็นของ ynding การชนกันของ hash บางส่วน เนื่องจากในหลายกรณี การแยกที่เป็นอันตรายคือ แยกไม่ออกจากทางแยกเนื่องจากไม่ซิงโครไนซ์ Bitcoin ไม่สามารถ ใช้ fork-accountability ได้อย่างน่าเชื่อถือ นอกเหนือจากโดยนัย ค่าเสียโอกาสที่นักขุดจ่ายสำหรับการขุดบล็อกกำพร้า เราเรียกขั้นตอนการลงคะแนนเสียงว่า PreVote และ PreCommit สามารถลงคะแนนเสียงได้ บล็อกเฉพาะหรือสำหรับไม่มี เราเรียกการรวบรวม >⅔ PreVotes สำหรับบล็อกเดียวในรอบเดียวกันคือ Polka และชุดสะสม >⅔ PreCommits สำหรับบล็อกเดียวในรอบเดียวกันของ Commit ถ้า >⅔ PreCommit for Nil ในรอบเดียวกันก็เลื่อนไปรอบถัดไป รอบ โปรดทราบว่าการกำหนดระดับที่เข้มงวดในโปรโตคอลทำให้เกิดจุดอ่อน ต้องตรวจพบสมมติฐานแบบซิงโครนัสในฐานะผู้นำที่ผิดพลาดและ
ข้ามไป ดังนั้น validators รอสักระยะหนึ่ง TimeoutPropose ก่อนที่พวกเขา Prevote Nil และค่าของ การหมดเวลาเสนอเพิ่มขึ้นในแต่ละรอบ ความก้าวหน้าผ่าน ส่วนที่เหลือของรอบเป็นแบบอะซิงโครนัสอย่างสมบูรณ์ ในความคืบหน้านั้นเท่านั้น ทำเมื่อ validator ได้ยินจาก >⅔ ของเครือข่าย ในทางปฏิบัติ ต้องใช้ศัตรูที่แข็งแกร่งอย่างยิ่งในการขัดขวางอย่างไม่มีกำหนด สมมติฐานซิงโครไนซ์ที่อ่อนแอ (ทำให้ฉันทามติล้มเหลว เคยกระทำการบล็อก) และการทำเช่นนี้จะยิ่งเพิ่มมากขึ้นไปอีก ยุ่งยากโดยใช้ค่าสุ่มของ TimeoutPropose ในแต่ละค่า validator. ชุดข้อจำกัดเพิ่มเติมหรือกฎการล็อคทำให้แน่ใจได้ว่า ในที่สุดเครือข่ายก็จะส่งเพียงหนึ่งบล็อกที่แต่ละความสูง อะไรก็ได้ ความพยายามที่เป็นอันตรายที่จะทำให้เกิดการคอมมิตมากกว่าหนึ่งบล็อก ที่ความสูงที่กำหนดสามารถระบุได้ ขั้นแรก ให้กระทำการล่วงหน้าสำหรับบล็อก จะต้องมาพร้อมกับ justiycation ในรูปแบบของลายสำหรับบล็อกนั้น หาก validator ได้มอบหมายบล็อกล่วงหน้าที่รอบ R_1 แล้ว เราก็ บอกว่าพวกเขาถูกล็อคอยู่บนบล็อกนั้น และลายก็เคยแก้ตัว PreCommit ใหม่ในรอบ R_2 จะต้องมาในรอบ R_polka โดยที่ R_1 < R_polka <= R_2 ประการที่สอง validators ต้องเสนอ และ/หรือโหวตล่วงหน้าบล็อกที่พวกเขาล็อคอยู่ กันเหล่านี้ เงื่อนไขทำให้มั่นใจได้ว่า validator จะไม่กระทำการล่วงหน้าหากไม่มี หลักฐานเพียงพอเป็นข้ออ้าง และ validators ซึ่งมี PreCommit ไม่สามารถสนับสนุนหลักฐานให้กับ PreCommit ได้ อย่างอื่น ทำให้มั่นใจทั้งความปลอดภัยและความมีชีวิตชีวาของ อัลกอริธึมฉันทามติ รายละเอียดทั้งหมดของโปรโตคอลมีอธิบายไว้ที่นี่ ความจำเป็นในการซิงค์ส่วนหัวของบล็อกทั้งหมดจะถูกกำจัดใน TendermintPoS เนื่องจากการมีอยู่ของห่วงโซ่ทางเลือก (ทางแยก) หมายถึง ≥⅓ของ สามารถเฉือนหุ้นที่ถูกผูกมัดได้ แน่นอน เนื่องจากต้องใช้การเฉือน ว่ามีคนแบ่งปันหลักฐานของทางแยก ลูกค้ารายย่อยควรเก็บไว้ block-hash ใด ๆ กระทำการที่เห็น นอกจากนี้ลูกค้าตัวเบาสามารถซิงค์เป็นระยะกับการเปลี่ยนแปลงของชุด validator ใน เพื่อหลีกเลี่ยงการโจมตีระยะไกล (แต่วิธีแก้ไขอื่นคือ เป็นไปได้) ด้วยจิตวิญญาณที่คล้ายคลึงกับ Ethereum Tendermint ช่วยให้แอปพลิเคชันสามารถ ฝัง Merkle root ทั่วโลก hash ในแต่ละบล็อก ได้อย่างง่ายดาย การสอบถามสถานะที่ตรวจสอบได้สำหรับสิ่งต่างๆ เช่น ยอดคงเหลือในบัญชี มูลค่า เก็บไว้ในสัญญาหรือการมีอยู่ของธุรกรรมที่ยังไม่ได้ใช้ เอาท์พุตขึ้นอยู่กับลักษณะของแอปพลิเคชัน สมมติว่ามีการรวบรวมเครือข่ายการออกอากาศที่มีความยืดหยุ่นเพียงพอ และชุด validator แบบคงที่ ทางแยกใด ๆ ใน blockchain สามารถเป็นได้ ตรวจพบและเงินฝากของ validators ที่กระทำผิดถูกตัดออก นี้ นวัตกรรมที่แนะนำครั้งแรกโดย Vitalik Buterin เมื่อต้นปี 2014 ได้รับการแก้ไขแล้ว ปัญหาที่ไม่มีความเสี่ยงของ proof-of-stake อื่นๆ cryptocurrencies (ดูงานที่เกี่ยวข้อง) อย่างไรก็ตาม เนื่องจาก validator ตั้งค่า จะต้องสามารถเปลี่ยนแปลงได้ในระยะยาวตามเดิม validators ทั้งหมดอาจไม่ถูกผูกมัด และด้วยเหตุนี้จึงมีอิสระที่จะ สร้าง chain ใหม่จาก genesis block โดยไม่มีค่าใช้จ่ายใดๆ ทั้งสิ้น พวกเขาไม่มีการล็อคเงินฝากอีกต่อไป การโจมตีครั้งนี้เกิดขึ้น รู้จักกันในชื่อการโจมตีระยะไกล (LRA) ซึ่งตรงกันข้ามกับการโจมตีระยะสั้น การโจมตีระยะไกล โดยที่ validators ที่ถูกผูกมัดอยู่ในขณะนี้ทำให้เกิด ทางแยกและด้วยเหตุนี้จึงมีโทษ (สมมติว่าผู้รับผิดชอบทางแยก BFT อัลกอริทึมเช่นฉันทามติ Tendermint) การโจมตีระยะไกลนั้น มักคิดว่าเป็นการโจมตีที่สำคัญต่อ proof-of-stake โชคดีที่ LRA สามารถบรรเทาได้ดังนี้ ประการแรก สำหรับก validator ยกเลิกการผูกมัด (จึงกู้คืนเงินฝากหลักประกันได้ และไม่ได้รับค่าธรรมเนียมในการเข้าร่วมฉันทามติอีกต่อไป) การฝากเงินจะต้องทำให้ไม่สามารถโอนได้เป็นระยะเวลาหนึ่ง เรียกว่า “ช่วงปลดหนี้” ซึ่งอาจเป็นไปตามคำสั่งของ สัปดาห์หรือเดือน ประการที่สอง เพื่อให้ลูกค้ารายย่อยมีความปลอดภัย สิ่งแรก เวลาที่เชื่อมต่อกับเครือข่ายจะต้องตรวจสอบบล็อกล่าสุด-hash กับแหล่งที่เชื่อถือได้หรือหลายแหล่งโดยเฉพาะอย่างยิ่ง นี้
สภาวะบางครั้งเรียกว่า “อัตวิสัยที่อ่อนแอ” สุดท้ายนี้ เพื่อความปลอดภัย จะต้องซิงค์กับชุด validator ล่าสุดที่ น้อยที่สุดเท่าระยะเวลาที่ไม่มีการผูกมัด นี้ ตรวจสอบให้แน่ใจว่าไคลเอ็นต์แบบ light รู้เกี่ยวกับการเปลี่ยนแปลงใน validator กำหนดไว้ก่อนที่ validator จะไม่มีทุนที่ผูกมัด และไม่มีอีกต่อไป ที่เป็นเดิมพันซึ่งจะทำให้สามารถหลอกลวงลูกค้าได้โดยการดำเนินการ การโจมตีระยะไกลโดยการสร้างบล็อกใหม่โดยเริ่มกลับมาที่ ความสูงที่ติดกัน (สมมติว่าสามารถควบคุมได้เพียงพอ กุญแจส่วนตัวในยุคแรก ๆ จำนวนมาก) โปรดทราบว่าการเอาชนะ LRA ในลักษณะนี้จำเป็นต้องมีการยกเครื่องใหม่ รูปแบบการรักษาความปลอดภัยดั้งเดิมของ proof-of-work ใน PoW มันคือ สันนิษฐานว่าไคลเอนต์แบบเบาสามารถซิงค์กับความสูงปัจจุบันได้จาก บล็อกกำเนิดที่เชื่อถือได้ตลอดเวลาโดยการประมวลผลการพิสูจน์การทำงานในทุกส่วนหัวของบล็อก อย่างไรก็ตาม เพื่อเอาชนะ LRA เรา ต้องการให้ไคลเอ็นต์ขนาดเล็กออนไลน์อย่างสม่ำเสมอ ติดตามการเปลี่ยนแปลงในชุด validator และในครั้งแรกที่เกิดขึ้น เมื่อออนไลน์ พวกเขาจะต้องระมัดระวังเป็นพิเศษในการตรวจสอบสิทธิ์ สิ่งที่พวกเขาได้ยินจากเครือข่ายกับแหล่งที่เชื่อถือได้ ของ แน่นอนว่าข้อกำหนดหลังนี้คล้ายกับของ Bitcoin โดยที่ โปรโตคอลและซอฟต์แวร์จะต้องได้รับจากที่เชื่อถือได้ด้วย แหล่งที่มา วิธีการป้องกัน LRA ข้างต้นเหมาะสำหรับ validators และโหนดเต็มของ blockchain ที่ขับเคลื่อนด้วย Tendermint เพราะสิ่งเหล่านี้ โหนดมีไว้เพื่อให้เชื่อมต่อกับเครือข่ายต่อไป ที่ วิธีการนี้ยังเหมาะสำหรับลูกค้ารายย่อยที่สามารถคาดหวังได้ ซิงค์กับเครือข่ายบ่อยๆ อย่างไรก็ตามสำหรับลูกค้ารายย่อยนั้น ไม่คาดว่าจะมีการเข้าถึงอินเทอร์เน็ตหรืออินเทอร์เน็ตบ่อยครั้ง blockchain เครือข่าย แต่ยังสามารถใช้โซลูชันอื่นเพื่อเอาชนะได้ แอลอาร์เอ ผู้ที่ไม่ใช่ validator token ผู้ถือสามารถโพสต์ tokens ของตนเป็น หลักประกันที่มีระยะเวลาปลดหนี้ยาวนานมาก (เช่น นานกว่ามาก กว่าระยะเวลาที่ไม่มีการผูกมัดสำหรับ validators) และให้บริการลูกค้ารายย่อย ด้วยวิธีรองในการรับรองความถูกต้องของกระแสและ บล็อกที่ผ่านมา-hashes แม้ว่า tokens เหล่านี้จะไม่นับรวมใน ความปลอดภัยของความเห็นพ้องต้องกันของ blockchain พวกเขาก็สามารถทำได้ให้การรับประกันที่แข็งแกร่งสำหรับลูกค้าที่มีน้ำหนักเบา หากบล็อกประวัติศาสตร์-hash การสืบค้นได้รับการสนับสนุนใน Ethereum ทุกคนสามารถเชื่อมโยงกันได้ tokens ในการออกแบบพิเศษ smart contract และจัดให้มี บริการรับรองการจ่ายเงิน สร้างตลาดสำหรับการรักษาความปลอดภัย LRA ของ lightclient อย่างมีประสิทธิภาพ เนื่องจากการละทิ้งการคอมมิตแบบบล็อก การรวมกลุ่ม ≥⅓ ใดๆ ของ อำนาจการลงคะแนนสามารถหยุด blockchain ได้โดยไปที่ ofzine หรือไม่ ออกอากาศการลงคะแนนเสียงของพวกเขา แนวร่วมดังกล่าวสามารถเซ็นเซอร์ได้เช่นกัน ธุรกรรมเฉพาะโดยการปฏิเสธบล็อกที่มีสิ่งเหล่านี้ ธุรกรรมแม้ว่าจะส่งผลให้มีสัดส่วนที่มีนัยสำคัญก็ตาม ของข้อเสนอบล็อกที่จะปฏิเสธซึ่งจะทำให้อัตราช้าลง ของการคอมมิตบล็อกของ blockchain ซึ่งลดอรรถประโยชน์และความคุ้มค่าลง แนวร่วมที่เป็นอันตรายอาจออกอากาศการลงคะแนนเสียงแบบหยดเช่นกัน ในการบดบล็อก blockchain กระทำการใกล้หยุดหรือมีส่วนร่วม การโจมตีเหล่านี้รวมกัน สุดท้ายก็อาจทำให้เกิดการ blockchain แยก โดยการลงนามสองครั้งหรือละเมิดการล็อค กฎ หากมีศัตรูที่มีบทบาทอยู่ทั่วโลกเข้ามาเกี่ยวข้องด้วย ก็สามารถแบ่งพาร์ติชันได้ เครือข่ายในลักษณะที่อาจปรากฏว่าผิด ชุดย่อยของ validators มีส่วนรับผิดชอบต่อการชะลอตัว นี่ไม่ใช่ เป็นเพียงข้อจำกัดของ Tendermint แต่เป็นข้อจำกัดของทั้งหมด โปรโตคอลที่เป็นเอกฉันท์ซึ่งเครือข่ายอาจถูกควบคุมโดย ศัตรูที่แข็งขัน สำหรับการโจมตีประเภทนี้ ควรมีชุดย่อยของ validators ประสานงานผ่านช่องทางภายนอกเพื่อลงนามในข้อเสนอการปรับโครงสร้างองค์กรใหม่ว่า เลือกทางแยก (และหลักฐานใดๆ ในนั้น) และเซตย่อยเริ่มต้นของ validators พร้อมลายเซ็นของพวกเขา ผู้ตรวจสอบที่ลงนามในข้อเสนอการปรับโครงสร้างองค์กรดังกล่าวจะละทิ้งหลักประกันใน Fork อื่นๆ ทั้งหมด ลูกค้าควร ตรวจสอบลายเซ็นในข้อเสนอการจัดองค์กรใหม่ ตรวจสอบหลักฐานใด ๆ และตัดสินหรือแจ้งให้ผู้ใช้ปลายทางตัดสินใจ สำหรับ ตัวอย่างเช่น แอพกระเป๋าเงินโทรศัพท์อาจแจ้งให้ผู้ใช้ทราบถึงระบบรักษาความปลอดภัย
คำเตือน ในขณะที่ตู้เย็นอาจยอมรับข้อเสนอการจัดองค์กรใหม่ ลงนามโดย +½ ของต้นฉบับ validators ตามอำนาจการลงคะแนน ไม่มีอัลกอริธึมที่ทนต่อข้อผิดพลาดของ Byzantine ที่ไม่ซิงโครนัสเกิดขึ้นได้ ฉันทามติเมื่ออำนาจการลงคะแนนเสียง≥⅓ไม่ซื่อสัตย์ แต่ก็ถือเป็นทางแยก ถือว่าอำนาจการลงคะแนนเสียง≥⅓นั้นไม่ซื่อสัตย์อยู่แล้ว การลงนามสองครั้งหรือการเปลี่ยนล็อคโดยไม่มีเหตุผล ดังนั้นการลงนาม ข้อเสนอการจัดองค์กรใหม่เป็นปัญหาการประสานงานที่ไม่สามารถทำได้ แก้ไขได้โดยโปรโตคอลที่ไม่ซิงโครนัส (เช่น อัตโนมัติ และ โดยไม่ตั้งสมมติฐานเกี่ยวกับความน่าเชื่อถือของ เครือข่ายพื้นฐาน) สำหรับตอนนี้ เราทิ้งปัญหาของการประสานงานข้อเสนอองค์กรใหม่ไว้กับการประสานงานของมนุษย์ผ่านฉันทามติทางสังคม บนสื่ออินเทอร์เน็ต ผู้ตรวจสอบจะต้องดูแลให้มั่นใจว่ามี ไม่มีพาร์ติชันเครือข่ายที่เหลืออยู่ก่อนที่จะลงนามข้อเสนอองค์กรใหม่ เพื่อหลีกเลี่ยงสถานการณ์ที่มีการลงนามข้อเสนอองค์กรใหม่สองครั้งที่ขัดแย้งกัน สมมติว่ามีสื่อและโปรโตคอลการประสานงานภายนอกอยู่ แข็งแกร่ง ตามมาด้วยว่า forks มีข้อกังวลน้อยกว่าการเซ็นเซอร์ การโจมตี นอกเหนือจากส้อมและการเซ็นเซอร์ซึ่งต้องใช้ ≥⅓ Byzantine อำนาจในการลงคะแนนเสียง รัฐบาลผสมที่มีอำนาจลงคะแนนเสียง >⅔ อาจกระทำได้ โดยพลการรัฐที่ไม่ถูกต้อง นี่คือลักษณะของ (BFT) ใด ๆ ระบบฉันทามติ ต่างจากการลงนามสองครั้งซึ่งจะสร้างทางแยก มีหลักฐานที่ตรวจสอบได้ง่าย ตรวจพบการกระทำของ สถานะที่ไม่ถูกต้องต้องมีเพียร์ที่ไม่ตรวจสอบเพื่อตรวจสอบบล็อกทั้งหมด ซึ่งหมายความว่าพวกเขาเก็บสำเนาของรัฐในเครื่องและดำเนินการ แต่ละธุรกรรม โดยคำนวณสถานะรูทอย่างอิสระ ตัวเอง เมื่อตรวจพบแล้ว วิธีเดียวที่จะจัดการกับความล้มเหลวดังกล่าวได้ ผ่านทางฉันทามติทางสังคม ตัวอย่างเช่น ในสถานการณ์ที่ Bitcoin ล้มเหลว ไม่ว่าจะฟอร์กเนื่องจากข้อบกพร่องของซอฟต์แวร์ (เช่นในเดือนมีนาคม 2013) หรือกระทำการสถานะที่ไม่ถูกต้องเนื่องจากพฤติกรรมไบแซนไทน์ของ นักขุด (ณ เดือนกรกฎาคม 2558) ซึ่งเป็นชุมชนที่เชื่อมต่อกันอย่างดีของ ธุรกิจ นักพัฒนา นักขุด และองค์กรอื่นๆ สร้างฉันทามติทางสังคมว่าการดำเนินการโดยเจ้าหน้าที่คืออะไรผู้เข้าร่วมต้องการเพื่อรักษาเครือข่าย นอกจากนี้ เนื่องจาก validators ของ Tendermint blockchain อาจถูกคาดหวังให้เป็น ระบุตัวตนได้ ความมุ่งมั่นของรัฐที่ไม่ถูกต้องอาจเป็นได้ มีโทษตามกฎหมายหรือนิติศาสตร์ภายนอกหากต้องการ ABCI ประกอบด้วยข้อความหลัก 3 ประเภทที่ส่งมาจาก แกนหลักของแอปพลิเคชัน แอปพลิเคชันตอบกลับด้วย ข้อความตอบกลับที่สอดคล้องกัน ข้อความ AppendTx เป็นส่วนสำคัญของแอปพลิเคชัน แต่ละ ธุรกรรมใน blockchain ถูกส่งมาพร้อมกับข้อความนี้ ที่ แอปพลิเคชันจำเป็นต้องตรวจสอบแต่ละธุรกรรมที่ได้รับด้วย ข้อความ AppendTx กับสถานะปัจจุบัน โปรโตคอลแอปพลิเคชัน และข้อมูลรับรองการเข้ารหัสของธุรกรรม มีการตรวจสอบแล้ว ธุรกรรมจำเป็นต้องอัปเดตสถานะแอปพลิเคชัน — โดย การเชื่อมโยงค่าเข้ากับที่เก็บค่าคีย์หรือโดยการอัพเดต UTXO ฐานข้อมูล ข้อความ CheckTx คล้ายกับ AppendTx แต่มีไว้สำหรับเท่านั้น ตรวจสอบธุรกรรม การตรวจสอบ mempool ครั้งแรกของ Tendermint Core ความถูกต้องของธุรกรรมกับ CheckTx และรีเลย์ที่ถูกต้องเท่านั้น การทำธุรกรรมกับคู่แข่ง แอปพลิเคชันอาจตรวจสอบการเพิ่มขึ้น nonce ในการทำธุรกรรมและส่งกลับข้อผิดพลาดเมื่อ CheckTx หาก nonce เก่าแล้ว ข้อความ Commit ใช้เพื่อคำนวณการเข้ารหัส ความมุ่งมั่นต่อสถานะแอปพลิเคชันปัจจุบันที่จะวางไว้ใน ส่วนหัวของบล็อกถัดไป นี่มีคุณสมบัติที่มีประโยชน์บางอย่าง ความไม่สอดคล้องกันในการอัปเดตสถานะนั้นจะปรากฏเป็น blockchain forks ที่รองรับการเขียนโปรแกรมทั้งคลาส ข้อผิดพลาด นอกจากนี้ยังช่วยลดความยุ่งยากในการพัฒนาผลิตภัณฑ์น้ำหนักเบาที่ปลอดภัยอีกด้วย ลูกค้า เนื่องจาก Merkle-hash สามารถตรวจสอบได้โดยการตรวจสอบเทียบกับ block-hash และ block-hash ได้รับการลงนามโดยองค์ประชุมของ validators (ตามอำนาจการลงคะแนน)
ข้อความ ABCI เพิ่มเติมทำให้แอปพลิเคชันสามารถติดตามได้ และเปลี่ยนชุด validator และเพื่อให้แอปพลิเคชันได้รับ บล็อกข้อมูล เช่น ความสูงและการลงคะแนนเสียง ABCI คำขอ/การตอบกลับเป็นข้อความง่ายๆ ของ Protobuf ตรวจสอบ ออกจากสคีมา yle ข้อโต้แย้ง: ข้อมูล ([] ไบต์) : ไบต์ของธุรกรรมคำขอ ผลตอบแทน: รหัส (uint32) : รหัสตอบกลับ ข้อมูล ([]ไบต์) : ไบต์ผลลัพธ์ ถ้ามี บันทึก (สตริง) : แก้ไขข้อบกพร่องหรือข้อความแสดงข้อผิดพลาด การใช้งาน:
ผนวกและรันธุรกรรม หากการทำธุรกรรมถูกต้อง ส่งคืน CodeType.OK ข้อโต้แย้ง: ข้อมูล ([] ไบต์) : ไบต์ของธุรกรรมคำขอ ผลตอบแทน: รหัส (uint32) : รหัสตอบกลับ ข้อมูล ([]ไบต์) : ไบต์ผลลัพธ์ ถ้ามี บันทึก (สตริง) : แก้ไขข้อบกพร่องหรือข้อความแสดงข้อผิดพลาด การใช้งาน:
ตรวจสอบธุรกรรม ข้อความนี้ไม่ควรเปลี่ยนรูปแบบ รัฐ การทำธุรกรรมจะดำเนินการผ่าน CheckTx มาก่อน ออกอากาศไปยังเพื่อนในเลเยอร์ mempool คุณก็ทำได้ CheckTx กึ่งเก็บสถานะและล้างสถานะเมื่อคอมมิตหรือ BeginBlock เพื่ออนุญาตลำดับการทำธุรกรรมที่ขึ้นต่อกัน ในบล็อกเดียวกัน
ผลตอบแทน: ข้อมูล ([] ไบต์) : ราก Merkle hash บันทึก (สตริง) : แก้ไขข้อบกพร่องหรือข้อความแสดงข้อผิดพลาด การใช้งาน:
ส่งคืน Merkle root hash ของสถานะแอปพลิเคชัน ข้อโต้แย้ง: ข้อมูล ([] ไบต์) : ไบต์คำขอค้นหา ผลตอบแทน: รหัส (uint32) : รหัสตอบกลับ Data ([]byte) : ไบต์การตอบกลับคำค้นหา บันทึก (สตริง) : แก้ไขข้อบกพร่องหรือข้อความแสดงข้อผิดพลาด การใช้งาน:
ล้างคิวการตอบกลับ แอพพลิเคชั่นที่นำไปใช้งาน types.Application ไม่จำเป็นต้องใช้ข้อความนี้ – มันคือ จัดการโดยโครงการ ผลตอบแทน: ข้อมูล ([]ไบต์) : ไบต์ข้อมูล การใช้งาน:
ส่งกลับข้อมูลเกี่ยวกับสถานะแอปพลิเคชัน ใบสมัคร เฉพาะเจาะจง ข้อโต้แย้ง: คีย์ (สตริง) : คีย์เพื่อตั้งค่า
ค่า (สตริง) : ค่าที่จะตั้งค่าสำหรับคีย์ ผลตอบแทน: บันทึก (สตริง) : แก้ไขข้อบกพร่องหรือข้อความแสดงข้อผิดพลาด การใช้งาน:
ตั้งค่าตัวเลือกแอปพลิเคชัน เช่น คีย์ = “โหมด”, ค่า = “mempool” สำหรับ การเชื่อมต่อ mempool หรือ Key = “mode”, Value = “consensus” สำหรับ การเชื่อมต่อฉันทามติ ตัวเลือกอื่นๆ คือข้อกำหนดเฉพาะของแอปพลิเคชัน ข้อโต้แย้ง: เครื่องมือตรวจสอบ ([]เครื่องมือตรวจสอบ) : กำเนิดเริ่มต้น-validators การใช้งาน:
เรียกว่ากาลครั้งหนึ่ง ข้อโต้แย้ง: Height (uint64) : ความสูงของบล็อกที่กำลังเริ่มต้น การใช้งาน:
ส่งสัญญาณการเริ่มต้นบล็อกใหม่ เรียกว่ามาก่อนแต่อย่างใด ผนวกTxs ข้อโต้แย้ง: ความสูง (uint64) : ความสูงของบล็อกที่สิ้นสุด ผลตอบแทน: เครื่องมือตรวจสอบ ([]เครื่องมือตรวจสอบ) : เปลี่ยน validators ด้วยเครื่องมือใหม่ อำนาจการลงคะแนน (0 เพื่อลบ) การใช้งาน:
ส่งสัญญาณการสิ้นสุดของบล็อก เรียกว่าก่อนการคอมมิตแต่ละครั้ง การทำธุรกรรม ดูที่เก็บ ABCI สำหรับรายละเอียดเพิ่มเติมมีสาเหตุหลายประการที่ผู้ส่งอาจต้องการ รับทราบการส่งมอบแพ็กเก็ตโดยห่วงโซ่การรับ เช่น ผู้ส่งอาจไม่ทราบสถานะของการ ห่วงโซ่ปลายทาง หากคาดว่าจะเกิดข้อผิดพลาด หรือผู้ส่งก็ได้ ต้องการกำหนดการหมดเวลาบนแพ็กเก็ต (ด้วย MaxHeight แพ็คเก็ต yeld) ในขณะที่เครือข่ายปลายทางใดๆ อาจประสบปัญหาจากการโจมตีแบบปฏิเสธการให้บริการ โดยมีจำนวนขาเข้าที่เพิ่มขึ้นอย่างกะทันหัน แพ็กเก็ต ในกรณีเหล่านี้ ผู้ส่งสามารถขอการตอบรับการจัดส่งได้ โดยการตั้งค่าสถานะแพ็กเก็ตเริ่มต้นเป็น AckPending แล้วมันคือ การรับความรับผิดชอบของห่วงโซ่ในการยืนยันการจัดส่งโดยรวม ย่อ IBCPacket ในแอป Merkle hash ขั้นแรก IBCBlockCommit และ IBCPacketTx จะถูกโพสต์บน “Hub” ที่พิสูจน์การมีอยู่ของ IBCPacket บน “Zone1” พูดอย่างนั้น IBCPacketTx มีค่าต่อไปนี้: FromChainID : “Zone1” FromBlockHeight : 100 (พูด) แพ็คเก็ต : IBCแพ็คเก็ต :
ส่วนหัว : IBCPacketHeader : SrcChainID : “Zone1” DstChainID : “Zone2” หมายเลข : 200 (พูด) สถานะ : อยู่ระหว่างดำเนินการ ประเภท : “เหรียญ” MaxHeight : 350 (พูดว่า “Hub” ปัจจุบันอยู่ที่ความสูง 300) เพย์โหลด : <ไบต์ของเพย์โหลด “เหรียญ”> ถัดไป IBCBlockCommit และ IBCPacketTx จะถูกโพสต์บน “Zone2” ที่พิสูจน์การมีอยู่ของ IBCPacket บน “Hub” พูดอย่างนั้น IBCPacketTx มีค่าต่อไปนี้: FromChainID : “ฮับ” จากความสูงบล็อก : 300 แพ็คเก็ต : IBCแพ็คเก็ต : ส่วนหัว : IBCPacketHeader : SrcChainID : “Zone1” DstChainID : “Zone2” จำนวน : 200 สถานะ : อยู่ระหว่างดำเนินการ ประเภท : “เหรียญ” ความสูงสูงสุด : 350 เพย์โหลด : <ไบต์เดียวกันของเพย์โหลด “เหรียญ”> ถัดไป “Zone2” จะต้องรวมแพ็กเก็ตตัวย่อไว้ในแอป-hash ที่แสดงสถานะใหม่ของ AckSent IBCBlockCommit และ IBCPacketTx ถูกโพสต์กลับไปที่ “Hub” เพื่อพิสูจน์การมีอยู่จริง ของตัวย่อ IBCPacket บน "Zone2" พูดว่า IBCPacketTx มีค่าดังต่อไปนี้: FromChainID : “Zone2”
FromBlockHeight : 400 (พูด) แพ็คเก็ต : IBCแพ็คเก็ต : ส่วนหัว : IBCPacketHeader : SrcChainID : “Zone1” DstChainID : “Zone2” จำนวน : 200 สถานะ : AckSent ประเภท : “เหรียญ” ความสูงสูงสุด : 350 PayloadHash : <ไบต์ hash ของเพย์โหลด “เหรียญ” เดียวกัน> สุดท้าย “ฮับ” จะต้องอัปเดตสถานะของแพ็กเก็ตจาก อยู่ระหว่างดำเนินการ ถึง ได้รับแล้ว หลักฐานของสถานะ ynalized ใหม่นี้ ควรกลับไปที่ "Zone2" สมมติว่า IBCPacketTx มีดังต่อไปนี้ ค่า: FromChainID : “ฮับ” จาก BlockHeight : 301 แพ็คเก็ต : IBCแพ็คเก็ต : ส่วนหัว : IBCPacketHeader : SrcChainID : “Zone1” DstChainID : “Zone2” จำนวน : 200 สถานะ : รับทราบแล้ว ประเภท : “เหรียญ” ความสูงสูงสุด : 350 PayloadHash : <ไบต์ hash ของเพย์โหลด “เหรียญ” เดียวกัน> ในขณะเดียวกัน “Zone1” อาจถือว่าส่งมอบได้สำเร็จในแง่ดี ของซอง "เหรียญ" เว้นแต่จะมีการพิสูจน์หลักฐานที่ขัดแย้งกัน “ฮับ”. ในตัวอย่างข้างต้น หาก “Hub” ไม่ได้รับ AckSent
สถานะจาก “Zone2” โดยบล็อก 350 ก็จะมีการกำหนดสถานะ โดยอัตโนมัติเป็น หมดเวลา สามารถรับหลักฐานการหมดเวลานี้ได้ โพสต์กลับไปที่ “Zone1” และสามารถส่งคืน tokens ใดๆ ได้ Merkle trees ที่ได้รับการสนับสนุนมีสองประเภทใน Tendermint/Cosmos ระบบนิเวศ: The Simple Tree และ IAVL+ ต้นไม้. Simple Tree คือ Merkle tree สำหรับรายการองค์ประกอบแบบคงที่ ถ้า จำนวนรายการไม่ยกกำลังสอง บางใบก็จะอยู่ที่ ระดับที่แตกต่างกัน Simple Tree พยายามรักษาต้นไม้ทั้งสองด้านไว้ สูงเท่ากันแต่ข้างซ้ายอาจจะใหญ่กว่าหนึ่งอัน Merkle tree นี่คือ ใช้ในการ Merkle-ize ธุรกรรมของบล็อกและระดับบนสุด องค์ประกอบของรูทสถานะแอปพลิเคชันวัตถุประสงค์ของโครงสร้างข้อมูล IAVL+ คือเพื่อให้มีความคงอยู่ ที่เก็บข้อมูลสำหรับคู่คีย์-ค่าในสถานะแอปพลิเคชันดังกล่าว Merkle root ที่กำหนดขึ้นเอง hash สามารถคำนวณได้อย่างมีประสิทธิภาพ ที่ tree มีความสมดุลโดยใช้อัลกอริธึม AVL และทั้งหมด การดำเนินการคือ O(log(n)) ในแผนผัง AVL หมายถึงความสูงของแผนผังย่อยทั้งสองของโหนดใดๆ แตกต่างกันอย่างมากที่สุดอย่างหนึ่ง เมื่อใดก็ตามที่เงื่อนไขนี้ถูกละเมิดเมื่อ อัปเดตทรีจะถูกปรับสมดุลโดยการสร้างโหนดใหม่ O(log(n)) ชี้ไปที่โหนดของต้นไม้เก่าที่ยังไม่ปรับแต่ง ใน AVL ดั้งเดิม อัลกอริธึมโหนดภายในสามารถเก็บคู่คีย์-ค่าได้ เอวีแอล+ อัลกอริธึม (หมายเหตุเครื่องหมายบวก) แก้ไขอัลกอริธึม AVL เพื่อเก็บทั้งหมด ค่าบนโหนดปลายสุด ในขณะที่ใช้เฉพาะโหนดสาขาเพื่อจัดเก็บคีย์ สิ่งนี้ทำให้อัลกอริทึมง่ายขึ้นในขณะที่ยังคงรักษาเส้นทาง merkle hash ไว้ สั้น AVL+ Tree คล้ายคลึงกับความพยายามของ Patricia ของ Ethereum มี การแลกเปลี่ยน คีย์ไม่จำเป็นต้อง hashed ก่อนที่จะแทรก แผนผัง IAVL+ ดังนั้นจึงให้การวนซ้ำตามลำดับที่เร็วขึ้นในคีย์ พื้นที่ซึ่งอาจเป็นประโยชน์ต่อบางแอปพลิเคชัน ตรรกะนั้นง่ายกว่า นำไปใช้โดยต้องใช้โหนดเพียงสองประเภทเท่านั้น – โหนดภายในและ โหนดใบ โดยเฉลี่ยแล้วการพิสูจน์ของ Merkle จะสั้นกว่า โดยเป็น a * / \ / \ / \ / \ * * / \ / \ / \ / \ / \ / \ * * * * * h6 / \ / \ / \ h0 h1 h2 h3 h4 h5 SimpleTree ที่มี 7 องค์ประกอบ
ต้นไม้ไบนารีที่สมดุล ในทางกลับกัน ราก Merkle ของ an แผนผัง IAVL+ ขึ้นอยู่กับลำดับของการอัพเดต เราจะสนับสนุน Merkle trees ที่มีประสิทธิภาพเพิ่มเติม เช่น Patricia Trie ของ Ethereum เมื่อตัวแปรไบนารี่กลายเป็น ใช้ได้ ในการดำเนินการตามรูปแบบบัญญัติ ธุรกรรมจะถูกสตรีมไปที่ แอปพลิเคชันฮับ Cosmos ผ่านอินเทอร์เฟซ ABCI Cosmos Hub จะยอมรับธุรกรรมหลักจำนวนหนึ่ง ประเภท รวมถึง SendTx , BondTx , UnbondTx , ReportHackTx , SlashTx , BurnAtomTx , ProposalCreateTx และ ProposalVoteTx ซึ่งอธิบายได้ค่อนข้างชัดเจนและจะบันทึกไว้ในก การแก้ไขบทความนี้ในอนาคต ที่นี่เราจัดทำเอกสารสองรายการหลัก ประเภทธุรกรรมสำหรับ IBC: IBCBlockCommitTx และ IBCPacketTx ธุรกรรม IBCBlockCommitTx ประกอบด้วย: ChainID (สตริง) : ID ของ blockchain BlockHash ([]byte) : block-hash bytes, ราก Merkle ซึ่งรวมถึงแอป-hash BlockPartsHeader (PartSetHeader) : ส่วนหัวของชุดส่วนของบล็อก ไบต์ จำเป็นเท่านั้นในการตรวจสอบลายเซ็นการลงคะแนนเสียง BlockHeight (int) : ความสูงของการคอมมิต BlockRound (int) : รอบของการคอมมิต Commit ([]Vote) : การโหวต >⅔ Tendermint Precommit นั้น ประกอบด้วยบล็อกคอมมิต ValidatorsHash ([]byte) : ราก Merkle-tree hash ของ new validator ชุด
ValidatorsHashProof (SimpleProof) : SimpleTree Merkleproof สำหรับการพิสูจน์ ValidatorsHash กับ BlockHash
AppHash ([]byte) : ราก IAVLTree Merkle-tree hash ของ
สถานะการสมัคร
AppHashProof (SimpleProof) : SimpleTree Merkle ที่พิสูจน์ได้สำหรับ
พิสูจน์ AppHash กับ BlockHash
IBCแพ็คเก็ต ประกอบด้วย:
Header (IBCPacketHeader) : ส่วนหัวของแพ็กเก็ต
เพย์โหลด ([] ไบต์) : ไบต์ของเพย์โหลดแพ็กเก็ต ไม่จำเป็น
PayloadHash ([]byte) : hash สำหรับไบต์ของแพ็กเก็ต
ไม่จำเป็น
ต้องมี Payload หรือ PayloadHash อย่างใดอย่างหนึ่ง hash
ของ IBCPacket เป็น Merkle root แบบง่ายของทั้งสองรายการ Header
และ เพย์โหลด IBCPacket ที่ไม่มีเพย์โหลดเต็มเรียกว่า an
แพ็คเก็ตแบบย่อ
IBCPacketHeader ประกอบด้วย:
SrcChainID (สตริง) : รหัสต้นทาง blockchain
DstChainID (สตริง) : ปลายทาง blockchain ID
Number (int) : หมายเลขเฉพาะสำหรับแพ็กเก็ตทั้งหมด
สถานะ (enum) : สามารถเป็นหนึ่งใน AckPending , AckSent ,
AckReceived , NoAck หรือการหมดเวลา
Type (string) : ประเภทต่างๆ ขึ้นอยู่กับแอปพลิเคชัน Cosmos
ขอสงวนสิทธิ์ประเภทแพ็คเก็ต "เหรียญ"
MaxHeight (int) : หากสถานะไม่ใช่ NoAckWanted หรือ AckReceived
ด้วยความสูงนี้ สถานะจะกลายเป็น Timeout ไม่จำเป็น
ธุรกรรม IBCPacketTx ประกอบด้วย:FromChainID (string) : ID ของ blockchain ซึ่งก็คือ
มอบแพ็กเก็ตนี้ ไม่จำเป็นต้องเป็นแหล่งที่มา
FromBlockHeight (int) : ความสูง blockchain ที่
แพ็กเก็ตต่อไปนี้ถูกรวมไว้ (Merkle-ized) ในบล็อก-hash of
ห่วงโซ่แหล่งที่มา
แพ็คเก็ต (IBCPacket) : แพ็คเก็ตข้อมูลที่มีสถานะอาจเป็นหนึ่ง
ของ AckPending , AckSent , AckReceived , NoAck หรือการหมดเวลา
PacketProof (IAVLProof) : IAVLTree Merkle-proof สำหรับการพิสูจน์
hash ของแพ็กเก็ตเทียบกับ AppHash ของซอร์สเชนที่
ความสูงที่กำหนด
ลำดับการส่งแพ็คเก็ตจาก “Zone1” ไปยัง “Zone2”
ผ่าน "Hub" จะแสดงใน {รูปที่ X} ขั้นแรก IBCPacketTx
พิสูจน์ให้ "ฮับ" ว่าแพ็กเก็ตนั้นรวมอยู่ในสถานะแอปของ
“โซน1”. จากนั้น IBCPacketTx อีกอันหนึ่งพิสูจน์ให้ “Zone2” ว่า
แพ็กเก็ตรวมอยู่ในสถานะแอปของ "Hub" ในระหว่างนี้
ขั้นตอน IBCPacket yelds เหมือนกัน: SrcChainID คือ
“Zone1” เสมอ และ DstChainID จะเป็น "Zone2" เสมอ
PacketProof ต้องมีเส้นทางป้องกัน Merkle ที่ถูกต้อง เช่น
ดังต่อไปนี้:
เมื่อ “Zone1” ต้องการส่งแพ็กเก็ตไปที่ “Zone2” ผ่าน “Hub”
ข้อมูล IBCPacket จะเหมือนกันไม่ว่าแพ็กเก็ตจะถูก Merkleized บน "Zone1", "Hub" หรือ "Zone2" การตะโกนที่ไม่แน่นอนเพียงอย่างเดียวคือ
สถานะสำหรับการติดตามการจัดส่ง
เราขอขอบคุณเพื่อนและเพื่อนร่วมงานของเราสำหรับความช่วยเหลือในการจัดทำแนวความคิด
ตรวจสอบและให้การสนับสนุนการทำงานของเรากับ Tendermint
และ Cosmos
IBC/
Zaki Manian จาก SkuChain ให้ความช่วยเหลืออย่างมากในการจัดรูปแบบและ ถ้อยคำ โดยเฉพาะภายใต้ส่วน ABCI Jehan Tremback จาก Althea และ Dustin Byington ที่ให้ความช่วยเหลือ การทำซ้ำครั้งแรก Andrew Miller จาก Honey Badger สำหรับข้อเสนอแนะเกี่ยวกับฉันทามติ Greg Slepak สำหรับข้อเสนอแนะเกี่ยวกับฉันทามติและถ้อยคำ ขอขอบคุณ Bill Gleim และ Seunghwan Han สำหรับสิ่งต่างๆ มากมาย ผลงาน ชื่อและองค์กรของคุณที่นี่สำหรับการบริจาคของคุณ 1 Bitcoin: https://bitcoin.org/bitcoin.pdf 2 ซีโร่แคช: http://zerocash-project.org/paper 3 Ethereum: https://github.com/ethereum/wiki/wiki/WhitePaper 4DAO: https://download.slock.it/public/DAO/WhitePaper.pdf 5 พยานที่แยกจากกัน: https://github.com/bitcoin/bips/blob/master/bip0141.mediawiki 6 BitcoinNG: https://arxiv.org/pdf/1510.02037v2.pdf 7 เครือข่ายสายฟ้า: https://lightning.network/lightningnetwork-paper-DRAFT-0.5.pdf 8 สะระแหน่: https://github.com/tendermint/tendermint/wiki 9 ความเป็นไปไม่ได้ของ FLP: https://groups.csail.mit.edu/tds/papers/Lynch/jacm85.pdf 10 ฟันดาบ: https://blog.ethereum.org/2014/01/15/slasher-apunitive-proof-of-stake-algorithm/ 11 PBFT: http://pmg.csail.mit.edu/papers/osdi99.pdf 12 บิตแชร์: https://bitshares.org/technology/delegatedproof-of-stake-consensus/
13 Stellar: https://www.stellar.org/papers/stellar-consensusprotocol.pdf 14 บัญชีแยกประเภท: https://interledger.org/rfcs/0001-interledgerarchitecture/ 15 ไซด์เชน: https://blockstream.com/sidechains.pdf 16 แคสเปอร์: https://blog.ethereum.org/2015/08/01/introducing-casperfriendly-ghost/ 17 ABCI: https://github.com/tendermint/abci 18 Ethereum การแบ่งส่วน: https://github.com/ethereum/EIPs/issues/53 19 LibSwift: http://www.ds.ewi.tudelft.nl/yleadmin/pds/papers/Performa nceAnalysisOfLibswift.pdf 20 ดีแอลเอส: http://groups.csail.mit.edu/tds/papers/Lynch/jacm88.pdf 21 การรักษาความปลอดภัยธินไคลเอ็นต์: https://en.bitcoin.it/wiki/Thin_Client_Security 22 Ethereum 2.0 กระดาษสีม่วง: http://vitalik.ca/yles/mauve_paper.html https://www.docdroid.net/ec7xGzs/314477721-ethereumplatform-review-opportunities-and-challenges-for-privateand-consortium-blockchains.pdf.html
¨ อี
Sự đồng thuận và chi tiết kỹ thuật
Một giao thức đồng thuận được thiết kế tốt sẽ cung cấp một số đảm bảo trong trường hợp vượt quá khả năng chịu đựng và sự đồng thuận không thành công. Điều này đặc biệt cần thiết trong nền kinh tế các hệ thống, nơi hành vi của Byzantine có thể có tác động tài chính đáng kể phần thưởng. Sự đảm bảo quan trọng nhất như vậy là một hình thức phân tách trách nhiệm, trong đó các quy trình tạo ra sự đồng thuận thất bại (tức là khiến các máy khách của giao thức chấp nhận các giá trị khác nhau - a nĩa) có thể bị xác định và trừng phạt theo quy định của giao thức, hoặc có thể là hệ thống pháp luật. Khi hệ thống pháp luật được không đáng tin cậy hoặc quá tốn kém để gọi, validators có thể buộc phải đặt cọc tiền bảo đảm để tham gia, và những tiền gửi có thể bị thu hồi hoặc bị cắt giảm khi có hành vi nguy hiểm đã phát hiện [10]. Lưu ý rằng điều này không giống như Bitcoin, trong đó việc phân nhánh là chuyện thường xuyên xảy ra do mạng không đồng bộ và tính chất xác suất của kết quả hash va chạm một phần. Vì trong nhiều trường hợp một fork độc hại có thể không thể phân biệt được với ngã ba do không đồng bộ, Bitcoin không thể thực hiện một cách đáng tin cậy trách nhiệm giải trình của ngã ba, ngoại trừ ngầm định chi phí cơ hội mà thợ mỏ phải trả khi khai thác một khối mồ côi. Chúng tôi gọi giai đoạn bỏ phiếu là PreVote và PreCommit. Một cuộc bỏ phiếu có thể dành cho một khối cụ thể hoặc cho Nil. Chúng tôi gọi một tập hợp >⅔ Phiếu bầu trước cho một khối trong cùng một vòng, một Polka và một bộ sưu tập >⅔ Cam kết trước cho một khối trong cùng một vòng Cam kết. Nếu >⅔ Cam kết trước cho Nil trong cùng một vòng, họ sẽ chuyển sang vòng tiếp theo tròn. Lưu ý rằng tính xác định nghiêm ngặt trong giao thức phát sinh một điểm yếu giả định đồng bộ là các nhà lãnh đạo bị lỗi phải được phát hiện và
bỏ qua. Vì vậy, validator hãy đợi một khoảng thời gian, Hết thời gianĐề xuất, trước khi họ bỏ phiếu trước cho con số không và giá trị của Thời gian chờĐề xuất tăng theo mỗi vòng. Tiến triển thông qua phần còn lại của vòng hoàn toàn không đồng bộ, trong tiến trình đó chỉ có được thực hiện khi validator nghe được từ >⅔ mạng. Trong thực tế, phải có một đối thủ cực kỳ mạnh mới có thể ngăn cản được giả định về tính đồng bộ yếu (làm cho sự đồng thuận không thành công) từng thực hiện một khối) và làm như vậy có thể còn được thực hiện nhiều hơn khó khăn bằng cách sử dụng các giá trị ngẫu nhiên của TimeoutPropose trên mỗi validator. Một tập hợp các ràng buộc bổ sung, hoặc Quy tắc khóa, đảm bảo rằng mạng cuối cùng sẽ chỉ cam kết một khối ở mỗi độ cao. bất kỳ nỗ lực ác ý nhằm thực hiện nhiều hơn một khối ở một độ cao nhất định có thể được xác định. Đầu tiên, PreCommit cho một khối phải đi kèm với sự biện minh, dưới dạng Polka cho khối đó. Nếu validator đã PreCommit một khối ở vòng R_1, chúng tôi nói rằng họ bị khóa ở khu nhà đó và Polka dùng để biện minh cho việc đó PreCommit mới ở vòng R_2 phải có trong vòng R_polka trong đó R_1 < R_polka <= R_2. Thứ hai, validators phải Đề xuất và/hoặc Bỏ phiếu trước cho khối mà họ đang bị khóa. Cùng với nhau, những điều này điều kiện đảm bảo rằng validator không PreCommit mà không có có đủ bằng chứng để biện minh và validator có PreCommit đã không thể đóng góp bằng chứng cho PreCommit một cái gì đó khác. Điều này đảm bảo cả sự an toàn và sự sống động của thuật toán đồng thuận. Các chi tiết đầy đủ của giao thức được mô tả ở đây. Nhu cầu đồng bộ hóa tất cả các tiêu đề khối bị loại bỏ trong TendermintPoS vì sự tồn tại của một chuỗi thay thế (một nhánh) có nghĩa là ≥⅓ của cổ phần ngoại quan có thể được cắt giảm. Tất nhiên, vì việc chém đòi hỏi rằng ai đó chia sẻ bằng chứng về một fork, light client nên lưu trữ bất kỳ khối-hash nào cam kết rằng nó nhìn thấy. Ngoài ra, các client nhẹcó thể được đồng bộ hóa định kỳ với các thay đổi đối với bộ validator, trong để tránh các cuộc tấn công tầm xa (nhưng các giải pháp khác có thể). Với tinh thần tương tự Ethereum, Tendermint cho phép các ứng dụng nhúng gốc Merkle toàn cầu hash vào mỗi khối, cho phép dễ dàng truy vấn trạng thái có thể kiểm chứng được về những thứ như số dư tài khoản, giá trị được lưu trữ trong hợp đồng hoặc sự tồn tại của một giao dịch chưa được chi tiêu đầu ra, tùy thuộc vào tính chất của ứng dụng. Giả sử một tập hợp các mạng phát sóng có đủ khả năng phục hồi và một bộ validator tĩnh, bất kỳ phân nhánh nào trong blockchain đều có thể bị phát hiện và số tiền gửi của validator vi phạm bị cắt giảm. Cái này sự đổi mới, được đề xuất lần đầu tiên bởi Vitalik Buterin vào đầu năm 2014, giải quyết vấn đề không có gì đáng lo ngại của proof-of-stake khác tiền điện tử (xem Công việc liên quan). Tuy nhiên, vì validator đặt phải có khả năng thay đổi, trong một khoảng thời gian dài, bản gốc validator đều có thể không được liên kết và do đó có thể tự do tạo một chuỗi mới từ khối gốc, không phát sinh chi phí như họ không còn tiền gửi bị khóa nữa. Cuộc tấn công này đã xảy ra được gọi là Tấn công tầm xa (LRA), trái ngược với Tấn công ngắn Tấn công tầm xa, trong đó validator hiện đang được liên kết gây ra fork và do đó có thể bị trừng phạt (giả sử một fork chịu trách nhiệm BFT thuật toán như sự đồng thuận của Tendermint). Tấn công tầm xa là thường được cho là đòn chí mạng đối với proof-of-stake. May mắn thay, LRA có thể được giảm nhẹ như sau. Đầu tiên, đối với một validator hủy trái phiếu (do đó lấy lại tiền ký quỹ của họ và không còn kiếm được phí để tham gia vào sự đồng thuận), tiền gửi phải được đặt ở mức không thể chuyển nhượng trong một khoảng thời gian được gọi là “thời kỳ không liên kết”, có thể theo thứ tự tuần hoặc tháng. Thứ hai, để một khách hàng hạng nhẹ được an toàn, lần đầu tiên khi kết nối với mạng, nó phải xác minh khối gần đây-hash chống lại một nguồn đáng tin cậy, hoặc tốt nhất là nhiều nguồn. Cái này
điều kiện đôi khi được coi là “tính chủ quan yếu”. Cuối cùng, để duy trì tính bảo mật, nó phải đồng bộ hóa với validator mới nhất được đặt tại ít nhất là thường xuyên như độ dài của thời kỳ không liên kết. Cái này đảm bảo rằng ứng dụng khách nhẹ biết về những thay đổi đối với validator được đặt trước validator có vốn không bị ràng buộc và do đó không còn đang bị đe dọa, điều này sẽ cho phép nó đánh lừa khách hàng bằng cách thực hiện một cuộc tấn công tầm xa bằng cách tạo các khối mới bắt đầu từ chiều cao nơi nó được liên kết (giả sử nó có đủ khả năng kiểm soát nhiều khóa riêng đầu tiên). Lưu ý rằng việc khắc phục LRA theo cách này đòi hỏi phải xem xét lại mô hình bảo mật ban đầu của proof-of-work. Trong PoW, đó là giả sử rằng một máy khách nhẹ có thể đồng bộ hóa với chiều cao hiện tại từ khối gốc đáng tin cậy bất cứ lúc nào chỉ bằng cách xử lý bằng chứng công việc trong mỗi tiêu đề khối. Tuy nhiên, để khắc phục LRA, chúng tôi yêu cầu một khách hàng nhỏ phải lên mạng thường xuyên để theo dõi các thay đổi trong bộ validator và lần đầu tiên chúng khi trực tuyến họ phải đặc biệt cẩn thận để xác thực những gì họ nghe được từ mạng so với các nguồn đáng tin cậy. của Tất nhiên, yêu cầu sau này tương tự như yêu cầu của Bitcoin, trong đó giao thức và phần mềm cũng phải được lấy từ một cơ quan đáng tin cậy nguồn. Phương pháp ngăn chặn LRA ở trên rất phù hợp với validators và các nút đầy đủ của blockchain được hỗ trợ bởi Tendermint vì những nút này các nút có nghĩa là vẫn được kết nối với mạng. các Phương pháp này cũng phù hợp với những khách hàng nhẹ nhàng có thể mong đợi đồng bộ với mạng thường xuyên. Tuy nhiên, đối với những khách hàng nhẹ thì dự kiến sẽ không có quyền truy cập thường xuyên vào internet hoặc các blockchain mạng, nhưng có thể sử dụng một giải pháp khác để khắc phục LRA. Những người không thuộc validator token chủ sở hữu có thể đăng token của họ dưới dạng tài sản thế chấp có thời hạn không ràng buộc rất dài (ví dụ: dài hơn nhiều hơn khoảng thời gian không liên kết trong validator giây) và phục vụ các khách hàng nhẹ bằng phương pháp thứ cấp để chứng thực tính hợp lệ của thông tin hiện hành và khối quá khứ-hashes. Mặc dù những token này không được tính vào bảo mật cho sự đồng thuận của blockchain, tuy nhiên họ có thểcung cấp sự đảm bảo mạnh mẽ cho các khách hàng nhẹ. Nếu khối lịch sử-hash truy vấn được hỗ trợ trong Ethereum, bất kỳ ai cũng có thể liên kết token trong smart contract được thiết kế đặc biệt và cung cấp dịch vụ chứng thực được trả tiền, tạo ra một thị trường hiệu quả cho bảo mật LRA của khách hàng nhẹ. Do sự từ chối của cam kết khối, bất kỳ liên minh ≥⅓ nào của quyền biểu quyết có thể tạm dừng blockchain bằng cách tắt zine hoặc không phát sóng phiếu bầu của họ. Một liên minh như vậy cũng có thể kiểm duyệt các giao dịch cụ thể bằng cách từ chối các khối bao gồm những giao dịch này giao dịch, mặc dù điều này sẽ dẫn đến một tỷ lệ đáng kể số đề xuất chặn bị từ chối, điều này sẽ làm chậm tốc độ cam kết khối của blockchain, làm giảm tiện ích và giá trị của nó. Liên minh độc hại cũng có thể phát tán phiếu bầu một cách nhỏ giọt nên để nghiền nát khối blockchain cam kết gần như dừng lại hoặc tham gia vào bất kỳ sự kết hợp nào của các cuộc tấn công này. Cuối cùng, nó có thể gây ra blockchain phân nhánh, bằng cách ký hai lần hoặc vi phạm khóa quy luật. Nếu một đối thủ hoạt động toàn cầu cũng tham gia, nó có thể phân chia mạng theo cách mà có thể có vẻ như sai tập hợp con validator là nguyên nhân gây ra tình trạng chậm lại. Đây không phải là chỉ là một hạn chế của Tendermint, mà đúng hơn là một hạn chế của tất cả các giao thức đồng thuận có mạng lưới có khả năng được kiểm soát bởi một đối thủ tích cực. Đối với những kiểu tấn công này, một tập hợp con của validator sẽ phối hợp thông qua các phương tiện bên ngoài để ký một đề xuất tái tổ chức chọn một ngã ba (và bất kỳ bằng chứng nào về nó) và tập hợp con ban đầu của validator có chữ ký của họ. Những người xác thực ký một đề xuất tái tổ chức như vậy sẽ từ bỏ tài sản thế chấp của họ trên tất cả các nhánh khác. Khách hàng nên xác minh các chữ ký trong đề xuất tái tổ chức, xác minh mọi bằng chứng, và đưa ra phán quyết hoặc nhắc nhở người dùng cuối đưa ra quyết định. cho Ví dụ: ứng dụng ví điện thoại có thể nhắc người dùng về bảo mật
cảnh báo, trong khi tủ lạnh có thể chấp nhận bất kỳ đề xuất tái tổ chức nào được ký bởi +½ trong số validator ban đầu theo quyền biểu quyết. Không có thuật toán chịu lỗi Byzantine không đồng bộ nào có thể xảy ra đạt được sự đồng thuận khi ≥⅓ quyền biểu quyết là không trung thực, nhưng vẫn có một fork giả định rằng ≥⅓ quyền biểu quyết đã không trung thực bởi ký hai lần hoặc thay đổi khóa mà không có lý do chính đáng. Vì vậy, việc ký kết đề xuất tái tổ chức là một vấn đề phối hợp không thể giải quyết được được giải quyết bằng bất kỳ giao thức không đồng bộ nào (tức là tự động và mà không đưa ra giả định về độ tin cậy của mạng cơ bản). Hiện tại, chúng tôi để vấn đề phối hợp đề xuất tổ chức lại cho sự phối hợp của con người thông qua sự đồng thuận xã hội. trên phương tiện truyền thông internet. Người xác nhận phải cẩn thận để đảm bảo rằng có không có phân vùng mạng nào còn lại trước khi ký một đề xuất tái tổ chức, để tránh tình huống hai đề xuất tái tổ chức xung đột được ký kết. Giả sử rằng phương tiện và giao thức phối hợp bên ngoài là mạnh mẽ, theo đó việc phân nhánh ít được quan tâm hơn việc kiểm duyệt các cuộc tấn công. Ngoài fork và kiểm duyệt, yêu cầu ≥⅓ Byzantine quyền biểu quyết, một liên minh có >⅔ quyền biểu quyết có thể vi phạm trạng thái tùy ý, không hợp lệ. Đây là đặc điểm của bất kỳ (BFT) nào hệ thống đồng thuận. Không giống như ký kép, tạo ra các nhánh với bằng chứng dễ dàng xác minh, phát hiện sự cam kết của một trạng thái không hợp lệ yêu cầu các đồng nghiệp không xác thực phải xác minh toàn bộ khối, ngụ ý rằng họ giữ một bản sao cục bộ của trạng thái và thực thi mỗi giao dịch, tính toán gốc trạng thái một cách độc lập cho chính họ. Một khi đã được phát hiện, cách duy nhất để xử lý lỗi đó là là thông qua sự đồng thuận xã hội. Ví dụ: trong các tình huống Bitcoin đã thất bại, cho dù việc phân nhánh do lỗi phần mềm (như vào tháng 3 2013), hoặc phạm phải trạng thái không hợp lệ do hành vi của Byzantine thợ mỏ (như vào tháng 7 năm 2015), cộng đồng được kết nối tốt của doanh nghiệp, nhà phát triển, thợ mỏ và các tổ chức khác đã thiết lập sự đồng thuận xã hội về những hành động thủ công nào được thực hiệnđược yêu cầu bởi những người tham gia để chữa lành mạng. Hơn nữa, kể từ khi validators của Tendermint blockchain có thể được mong đợi có thể xác định được, cam kết của một trạng thái không hợp lệ thậm chí có thể có thể bị trừng phạt bởi luật pháp hoặc một số luật lệ bên ngoài, nếu muốn. ABCI bao gồm 3 loại tin nhắn chính được gửi từ cốt lõi của ứng dụng. Ứng dụng trả lời bằng tin nhắn phản hồi tương ứng. Thông báo AppendTx là công cụ chính của ứng dụng. Mỗi giao dịch trong blockchain được gửi cùng với thông báo này. các ứng dụng cần xác thực từng giao dịch nhận được bằng Thông báo AppendTx dựa vào trạng thái hiện tại, giao thức ứng dụng, và thông tin xác thực mật mã của giao dịch. Đã được xác thực giao dịch sau đó cần cập nhật trạng thái ứng dụng - bằng cách liên kết một giá trị vào kho lưu trữ giá trị khóa hoặc bằng cách cập nhật UTXO cơ sở dữ liệu. Thông báo CheckTx tương tự như AppendTx nhưng chỉ dành cho xác thực các giao dịch. Lần kiểm tra mempool đầu tiên của Tendermint Core tính hợp lệ của giao dịch với CheckTx và chỉ chuyển tiếp hợp lệ giao dịch với các đồng nghiệp của nó. Các ứng dụng có thể kiểm tra mức tăng dần nonce trong giao dịch và trả về lỗi khi CheckTx nếu nonce đã cũ. Thông báo Cam kết được dùng để tính toán mật mã cam kết với trạng thái ứng dụng hiện tại, được đưa vào tiêu đề khối tiếp theo. Điều này có một số thuộc tính tiện dụng. Sự không nhất quán trong việc cập nhật trạng thái đó bây giờ sẽ xuất hiện dưới dạng blockchain nhánh giúp nắm bắt cả lớp lập trình lỗi. Điều này cũng đơn giản hóa sự phát triển của an toàn nhẹ khách hàng, vì bằng chứng Merkle-hash có thể được xác minh bằng cách kiểm tra khối-hash và khối-hash được ký bởi số đại biểu validators (theo quyền biểu quyết).
Thông báo ABCI bổ sung cho phép ứng dụng theo dõi và thay đổi bộ validator và để ứng dụng nhận được chặn thông tin, chẳng hạn như chiều cao và phiếu bầu cam kết. ABCI yêu cầu/phản hồi là các tin nhắn Protobuf đơn giản. Kiểm tra ra lược đồ yle. Lập luận: Dữ liệu ([]byte): Các byte giao dịch yêu cầu Trả về: Mã (uint32): Mã phản hồi Dữ liệu ([]byte): Byte kết quả, nếu có Nhật ký (chuỗi): Gỡ lỗi hoặc thông báo lỗi Cách sử dụng:
Nối và chạy một giao dịch. Nếu giao dịch hợp lệ, trả về CodeType.OK Lập luận: Dữ liệu ([]byte): Các byte giao dịch yêu cầu Trả về: Mã (uint32): Mã phản hồi Dữ liệu ([]byte): Byte kết quả, nếu có Nhật ký (chuỗi): Gỡ lỗi hoặc thông báo lỗi Cách sử dụng:
Xác thực một giao dịch. Thông báo này không được làm thay đổi trạng thái. Giao dịch lần đầu tiên được thực hiện thông qua CheckTx trước phát sóng tới các đồng nghiệp trong lớp mempool. Bạn có thể làm CheckTx bán trạng thái và xóa trạng thái khi Cam kết hoặc BeginBlock , để cho phép các chuỗi giao dịch phụ thuộc trong cùng một khối.
Trả về: Dữ liệu ([]byte): Gốc Merkle hash Nhật ký (chuỗi): Gỡ lỗi hoặc thông báo lỗi Cách sử dụng:
Trả về gốc Merkle hash của trạng thái ứng dụng. Lập luận: Dữ liệu ([]byte): Các byte yêu cầu truy vấn Trả về: Mã (uint32): Mã phản hồi Dữ liệu ([]byte): Các byte phản hồi truy vấn Nhật ký (chuỗi): Gỡ lỗi hoặc thông báo lỗi Cách sử dụng:
Xóa hàng đợi phản hồi. Các ứng dụng thực hiện loại. Ứng dụng không cần triển khai thông báo này - đó là do dự án xử lý. Trả về: Dữ liệu ([]byte): Các byte thông tin Cách sử dụng:
Trả về thông tin về trạng thái ứng dụng. ứng dụng cụ thể. Lập luận: Khóa (chuỗi): Khóa để đặt
Giá trị (chuỗi): Giá trị cần đặt cho khóa Trả về: Nhật ký (chuỗi): Gỡ lỗi hoặc thông báo lỗi Cách sử dụng:
Đặt tùy chọn ứng dụng. Ví dụ. Key=“mode”, Value=“mempool” cho kết nối mempool hoặc Key=“mode”, Value=“consensus” cho một kết nối đồng thuận. Các tùy chọn khác là ứng dụng cụ thể. Lập luận: Trình xác thực ([]Trình xác thực): Nguồn gốc ban đầu-validators Cách sử dụng:
Được gọi một lần khi có nguồn gốc Lập luận: Chiều cao (uint64): Chiều cao khối bắt đầu Cách sử dụng:
Báo hiệu sự bắt đầu của một khối mới. Được gọi trước bất kỳ Nối thêm Tx. Lập luận: Chiều cao (uint64): Chiều cao khối kết thúc Trả về: Trình xác thực ([]Trình xác thực): Đã thay đổi validator bằng mới quyền biểu quyết (0 để loại bỏ) Cách sử dụng:
Báo hiệu sự kết thúc của một khối. Được gọi trước mỗi lần Commit giao dịch Xem kho lưu trữ ABCI để biết thêm chi tiết.Có một số lý do tại sao người gửi có thể muốn xác nhận việc gửi gói tin của chuỗi nhận. Ví dụ, người gửi có thể không biết trạng thái của chuỗi đích nếu nó được cho là có lỗi. Hoặc người gửi có thể muốn áp đặt thời gian chờ cho gói (với MaxHeight gói tin), trong khi bất kỳ chuỗi đích nào cũng có thể bị tấn công từ chối dịch vụ với sự gia tăng đột ngột về số lượng gói tin đến. gói. Trong những trường hợp này, người gửi có thể yêu cầu xác nhận việc gửi bằng cách đặt trạng thái gói ban đầu thành Đang chờ xử lý . Sau đó, nó là trách nhiệm của chuỗi nhận hàng trong việc đồng ý giao hàng bằng cách bao gồm một viết tắt IBCPacket trong ứng dụng Merkle hash. Đầu tiên, _IBCBlockCommit và IBCPacketTx được đăng trên “Hub” điều đó chứng tỏ sự tồn tại của _IBCGói trên “Vùng 1”. Nói thế IBCPacketTx có giá trị sau: FromChainID : “Khu vực1” FromBlockHeight : 100 (nói) Gói: một IBCGói:
Tiêu đề : một IBCPacketHeader :
SrcChainID: “Vùng 1”
DstChainID : “Khu vực2”
Số: 200 (giả sử)
Trạng thái: Đang chờ xử lý
Loại: “đồng xu”
MaxHeight : 350 (giả sử “Hub” hiện ở độ cao 300)
Tải trọng:
Tiếp theo, _IBCBlockCommit và IBCPacketTx được đăng trên “Zone2”
điều đó chứng tỏ sự tồn tại của _IBCGói trên “Hub”. Nói thế
IBCPacketTx có giá trị sau:
FromChainID : “Trung tâm”
TừBlockHeight : 300
Gói: một IBCGói:
Tiêu đề : một IBCPacketHeader :
SrcChainID: “Vùng 1”
DstChainID : “Khu vực2”
Số lượng: 200
Trạng thái: Đang chờ xử lý
Loại: “đồng xu”
Chiều cao tối đa: 350
Tải trọng:
FromBlockHeight : 400 (giả sử)
Gói: một IBCGói:
Tiêu đề : một IBCPacketHeader :
SrcChainID: “Vùng 1”
DstChainID : “Khu vực2”
Số lượng: 200
Trạng thái: Đã xác nhận
Loại: “đồng xu”
Chiều cao tối đa: 350
PayloadHash :
trạng thái từ “Zone2” theo khối 350, nó sẽ đặt trạng thái tự động chuyển sang Hết giờ . Bằng chứng về thời gian chờ này có thể nhận được được đăng lại trên “Zone1” và mọi tokens đều có thể được trả lại. Có hai loại Merkle tree được hỗ trợ trong Hệ sinh thái Tendermint/Cosmos: Cây đơn giản và IAVL+ Cây. Cây đơn giản là Merkle tree cho danh sách các phần tử tĩnh. Nếu số lượng vật phẩm không phải là lũy thừa của hai, một số lá sẽ ở mức mức độ khác nhau. Cây đơn giản cố gắng giữ cả hai mặt của cây cùng chiều cao nhưng bên trái có thể lớn hơn một đơn vị. Merkle tree này là được sử dụng để Merkle-ize các giao dịch của một khối và mức cao nhất các phần tử của trạng thái gốc của ứng dụng.Mục đích của cấu trúc dữ liệu IAVL+ là cung cấp khả năng liên tục lưu trữ các cặp khóa-giá trị ở trạng thái ứng dụng sao cho Căn cứ Merkle xác định hash có thể được tính toán một cách hiệu quả. các cây được cân bằng bằng cách sử dụng một biến thể của thuật toán AVL và tất cả hoạt động là O(log(n)). Trong cây AVL, chiều cao của hai cây con con của bất kỳ nút nào khác nhau nhiều nhất là một. Bất cứ khi nào điều kiện này bị vi phạm cập nhật, cây được cân bằng lại bằng cách tạo các nút mới O(log(n)) trỏ đến các nút chưa được sửa đổi của cây cũ. Trong AVL gốc thuật toán, các nút bên trong cũng có thể chứa các cặp khóa-giá trị. AVL+ thuật toán (lưu ý dấu cộng) sửa đổi thuật toán AVL để giữ tất cả giá trị trên các nút lá, trong khi chỉ sử dụng các nút nhánh để lưu trữ khóa. Điều này giúp đơn giản hóa thuật toán trong khi vẫn giữ dấu vết hash ngắn. Cây AVL+ tương tự như nỗ lực của Patricia của Ethereum. có sự đánh đổi. Khóa không cần phải hashed trước khi chèn vào Cây IAVL+, do đó, điều này mang lại phép lặp có thứ tự nhanh hơn trong khóa không gian có thể mang lại lợi ích cho một số ứng dụng. Logic đơn giản hơn để thực hiện, chỉ yêu cầu hai loại nút – các nút bên trong và các nút lá. Bằng chứng Merkle trung bình ngắn hơn, là một * / \ / \ / \ / \ * * / \ //\ / \ / \ / \ // \ * * * h6 / \ / \ / \ h0 h1 h2 h3 h4 h5 Một SimpleTree có 7 phần tử
cây nhị phân cân bằng. Mặt khác, gốc Merkle của một Cây IAVL+ phụ thuộc vào thứ tự cập nhật. Chúng tôi sẽ hỗ trợ thêm Merkle trees hiệu quả, chẳng hạn như Ethereum Patricia Trie khi biến thể nhị phân trở thành có sẵn. Trong quá trình triển khai chuẩn, các giao dịch được truyền trực tiếp đến Ứng dụng trung tâm Cosmos qua giao diện ABCI. Trung tâm Cosmos sẽ chấp nhận một số giao dịch chính các loại, bao gồm SendTx , BondTx , UnbondTx , ReportHackTx , SlashTx , BurnAtomTx , ProposalCreateTx và ProposalVoteTx , khá dễ hiểu và sẽ được ghi lại trong một sửa đổi trong tương lai của bài viết này. Ở đây chúng tôi ghi lại hai vấn đề chính loại giao dịch cho IBC: IBCBlockCommitTx và IBCPacketTx . Giao dịch IBCBlockCommitTx bao gồm: ChainID (chuỗi): ID của blockchain BlockHash ([]byte): Các byte block-hash, gốc Merkle bao gồm ứng dụng-hash BlockPartsHeader (PartSetHeader): Tiêu đề tập hợp phần khối byte, chỉ cần thiết để xác minh chữ ký biểu quyết BlockHeight (int): Chiều cao của cam kết BlockRound (int) : Vòng cam kết Cam kết ([]Bỏ phiếu) : >⅔ Phiếu cam kết trước Tendermint rằng bao gồm một cam kết khối Trình xác thựcHash ([]byte): Gốc cây Merkle hash của cái mới validator đã đặt
Trình xác thựcHashProof (SimpleProof): Bằng chứng Merkleproof của SimpleTree để chứng minh Trình xác thựcHash so với BlockHash
AppHash ([]byte): Gốc cây Merkle IAVLtree hash của
trạng thái ứng dụng
AppHashProof (SimpleProof): Bằng chứng Merkle SimpleTree dành cho
chứng minh AppHash chống lại BlockHash
Một _IBCGói bao gồm:
Tiêu đề (IBCPacketHeader): Tiêu đề gói
Tải trọng ([]byte): Các byte của tải trọng gói. Tùy chọn
PayloadHash ([]byte) : hash cho byte của gói.
Tùy chọn
Phải có một trong Payload hoặc PayloadHash . hash
của IBCGói là gốc Merkle đơn giản của hai mục, Tiêu đề
và Tải trọng . Một _IBCGói không có tải trọng đầy đủ được gọi là
gói rút gọn.
Một _IBCPacketHeader bao gồm:
SrcChainID (chuỗi) : ID nguồn blockchain
DstChainID (chuỗi): ID đích blockchain
Số (int): Một số duy nhất cho tất cả các gói
Trạng thái (enum): Có thể là một trong số AckPending , AckSent ,
Đã nhận, Không cóAck hoặc Hết thời gian chờ
Loại (chuỗi) : Các loại phụ thuộc vào ứng dụng. Cosmos
dự trữ loại gói "đồng xu"
MaxHeight (int) : Nếu trạng thái không phải là NoAckWanted hoặc AckReceived
ở độ cao này, trạng thái sẽ trở thành Timeout . Tùy chọn
Giao dịch IBCPacketTx bao gồm:FromChainID (string) : ID của blockchain là
cung cấp gói này; không nhất thiết phải là nguồn
FromBlockHeight (int) : Chiều cao blockchain trong đó
gói sau được bao gồm (Merkle-ized) trong khối-hash của
chuỗi nguồn
Gói (IBCPacket): Một gói dữ liệu có trạng thái có thể là một
trong số AckPending , AckSent , AckReceived , NoAck hoặc Timeout
PacketProof (IAVLProof): Bằng chứng Merkle IAVLTree để chứng minh
hash của gói đối với AppHash của chuỗi nguồn tại
chiều cao nhất định
Trình tự gửi gói tin từ “Zone1” đến “Zone2”
thông qua "Hub" được mô tả trong {Hình X}. Đầu tiên, _IBCPacketTx
chứng minh cho "Hub" rằng gói được đưa vào trạng thái ứng dụng của
“Khu 1”. Sau đó, _IBCPacketTx khác chứng minh cho “Zone2” rằng
gói được bao gồm trong trạng thái ứng dụng của “Hub”. Trong thời gian này
quy trình, các trường IBCPacket giống hệt nhau: SrcChainID là
luôn là “Zone1” và DstChainID luôn là "Zone2".
PacketProof phải có đường dẫn chống Merkle chính xác, vì
sau:
Khi “Zone1” muốn gửi gói đến “Zone2” thông qua “Hub”,
dữ liệu _IBCGói giống hệt nhau cho dù gói được Merkleized trên “Zone1”, “Hub” hay “Zone2”. Yeld có thể thay đổi duy nhất là
Trạng thái theo dõi quá trình phân phối.
Chúng tôi xin cảm ơn bạn bè và đồng nghiệp đã hỗ trợ trong việc hình thành ý tưởng,
xem xét và cung cấp hỗ trợ cho công việc của chúng tôi với Tendermint
và Cosmos.
IBC/
Zaki Manian của SkuChain đã cung cấp nhiều trợ giúp về định dạng và cách diễn đạt, đặc biệt là trong phần ABCI Jehan Tremback của Althea và Dustin Byington đã giúp đỡ lần lặp ban đầu Andrew Miller của Honey Badger đã đưa ra phản hồi về sự đồng thuận Greg Slepak đã đưa ra phản hồi về sự đồng thuận và cách diễn đạt Cũng xin cảm ơn Bill Gleim và Seunghwan Han vì nhiều đóng góp. Tên và tổ chức của bạn ở đây để đóng góp 1 Bitcoin: https://bitcoin.org/bitcoin.pdf 2 ZeroCash: http://zerocash-project.org/paper 3 Ethereum: https://github.com/ethereum/wiki/wiki/WhitePaper 4DAO: https://download.slock.it/public/DAO/WhitePaper.pdf 5 Nhân chứng tách biệt: https://github.com/bitcoin/bips/blob/master/bip0141.mediawiki 6 BitcoinNG: https://arxiv.org/pdf/1510.02037v2.pdf 7 Mạng Lightning: https://lightning.network/lightningnetwork-paper-DRAFT-0.5.pdf 8 Cây bạc hà dịu dàng: https://github.com/tendermint/tendermint/wiki 9 FLP Không thể thực hiện được: https://groups.csail.mit.edu/tds/papers/Lynch/jacm85.pdf 10 Kẻ Chém: https://blog.ethereum.org/2014/01/15/slasher-apunitive-proof-of-stake-algorithm/ 11 PBFT: http://pmg.csail.mit.edu/papers/osdi99.pdf 12 lượt chia sẻ bit: https://bitshares.org/technology/delegatedproof-of-stake-consensus/
13 Stellar: https://www.stellar.org/papers/stellar-consensusprotocol.pdf 14 Sổ cái xen kẽ: https://interledger.org/rfcs/0001-interledgerarchitecture/ 15 chuỗi bên: https://blockstream.com/sidechains.pdf 16 Casper: https://blog.ethereum.org/2015/08/01/introducing-casperfriendly-ghost/ 17 ABCI: https://github.com/tendermint/abci 18 Ethereum Phân mảnh: https://github.com/ethereum/EIPs/issues/53 19 LibSwift: http://www.ds.ewi.tudelft.nl/yleadmin/pds/papers/Performa nceAnalysisOfLibswift.pdf 20 DLS: http://groups.csail.mit.edu/tds/papers/Lynch/jacm88.pdf 21 Bảo mật máy khách mỏng: https://en.bitcoin.it/wiki/Thin_Client_Security 22 Ethereum 2.0 Giấy màu hoa cà: http://vitalik.ca/yles/mauve_paper.html https://www.docdroid.net/ec7xGzs/314477721-ethereumplatform-review-opportunities-and-challenges-for-privateand-consortium-blockchains.pdf.html
¥ è