Stellar Consensus Protocol (SCP) là gì
Mạng Stellar là một chuỗi khối công khai, có nguồn mở được hỗ trợ bởi giao thức đồng thuận Stellar (SCP). Trong đó cơ chế đồng thuận Bằng chứng thỏa thuận Proof of Agreement (PoA).
Quá trình xác nhận giao dịch hoạt động hơi giống như thế này. Hãy tưởng tượng bạn là một học sinh được giao bài kiểm tra toán tại nhà để hoàn thành theo nhóm, bạn giống như một nút Stellar. Trước tiên, bạn sẽ quyết định bạn muốn làm việc cùng ai trong số những sinh viên của mình và thành lập nhóm học tập, đó là Nhóm của bạn (Quorum Set). Khi ngồi xuống để làm bài kiểm tra cùng nhau, bạn sẽ muốn một số lượng sinh viên nhất định mà bạn tin tưởng trong nhóm học của mình so sánh các câu trả lời và đồng ý, đó là Quorum Slice.
Nhưng đó chỉ là nhóm học tập của riêng bạn. Để có được sự đồng thuận rộng rãi về các câu trả lời là chính xác trong cả lớp, bạn cần các thành viên trong nhóm của mình có những học sinh đáng tin cậy bên ngoài nhóm cũng đồng ý. Bây giờ bạn có các Phần đại biểu chồng chéo đồng ý – và đạt được Bằng chứng đồng ý.
SCP thực hiện “Thỏa thuận Byzantine Liên bang” (Federated Byzantine Agreement). Đâylà một cách tiếp cận mới để đạt được sự đồng thuận trong mạng lưới thế giới thực bao gồm các nút “Byzantine” bị lỗi có lỗi kỹ thuật hoặc mục đích xấu. Để chịu đựng những thất bại của Byzantine, SCP được thiết kế để không yêu cầu sự đồng ý nhất trí từ tập hợp các nút hoàn chỉnh để hệ thống đạt được thỏa thuận và chấp nhận các nút nói dối hoặc gửi tin nhắn không chính xác.
Trong SCP, các nút riêng lẻ quyết định những người tham gia khác mà họ tin tưởng để cung cấp thông tin và xác thực một phần các giao dịch dựa trên các “Quorum Slices” riêng lẻ. Số đại biểu trên toàn hệ thống cho các giao dịch hợp lệ là kết quả của các quyết định số đại biểu riêng lẻ của từng nút riêng lẻ.
Ưu điểm của SCP là gì
Proof of Stake (PoS) là một thuật toán để xử lý giao dịch. Dịch ra tiếng Việt thì Proof os Stake nghĩa là bằng chứng cổ phần.
Mạng blockchain hoạt động sẽ liên tục xử lý các giao dịch mới. Chúng được nhóm thành các khối (block), đóng vai trò là đơn vị nền tảng của mạng blockchain. Mỗi khối được thiết kế để lưu trữ thông tin trong khi vẫn đảm bảo an toàn.
Như vậy, Proof-of-stake (PoS) là một nguyên tắc để thêm một khối mới vào mạng blockchain có sẵn.
Cách thức hoạt động của SCP là gì
Quorum Slices:
Trong mạng Stellar, các nút Core sử dụng hệ thống tin cậy để đạt được sự đồng thuận. Mỗi nút chọn một nhóm nút đáng tin cậy được gọi là tập đại biểu (quorum set).
Nút cũng đặt ra một ngưỡng, là số lượng nút đồng ý tối thiểu cần thiết trong tập hợp đại biểu của nó để đưa ra quyết định.
Sự kết hợp của các nút đồng ý đáp ứng ngưỡng này được gọi là các lát đại biểu (Quorum Slice). Nếu có đủ số nút không đồng ý, chúng có thể tạo thành một tập hợp chặn, ngăn cản sự đồng thuận
Số đại biểu được hình thành khi có sự nhất trí trên toàn mạng, với mỗi nút là một phần của một phần đại biểu. Các nút thể hiện ý kiến của mình thông qua các tuyên bố, thường là về những giao dịch nào sẽ được đưa vào sổ cái
Những ý kiến này bị ảnh hưởng bởi tập hợp đại biểu của nút, tạo ra một hệ thống tin cậy và ra quyết định được kết nối với nhau trên toàn mạng.
Federated Voting
Bỏ phiếu liên bang là cơ chế để đạt được sự đồng thuận của các nhóm Quorum khác nhau.
Trước khi đạt được sự đồng thuận toàn mạng, các tuyên bố sẽ tiến hành qua ba giai đoạn bỏ phiếu liên kết:
- Bình chọn
- Chấp nhận
- Xác nhận
Quá trình này đảm bảo rằng tất cả các nút trung thực trong mạng dần dần điều chỉnh theo một quyết định chung, xây dựng sự đồng thuận theo cách phi tập trung.
Federated Byzantine Agreement model (FBA)
Mô hình Thỏa thuận Byzantine Liên bang (FBA) cho phép các nút đạt được sự đồng thuận hiệu quả trong khi vẫn đảm bảo an ninh. Mô hình FBA đảm bảo rằng hệ thống có thể tiếp tục hoạt động ngay cả khi một số nút không đáng tin cậy hoặc bị xâm phạm, miễn là vẫn còn đủ số lượng các lát cắt đại biểu.
Hạn chế của SCP là gì
Đầu tiên đó là số lượng nút tham gia xác thực. Càng nhiều nút tham gia xác thực thì kết quả xác thực mới có độ tin cậy cao. Cho nên, khi số nút tham gia xác thực ít thì số Quorum cũng ít. Và đây là điểm yếu chết người. Nghĩa là nó bị phụ thuộc vào số lượng nút “sống” (Alive) ở thời điểm đó.
Thứ hai là, SCP không có phần thưởng cho việc nút tham gia xác thực. Nghĩa là không có động lực thực tế nào để một người xác thực làm điều này, ngoại trừ việc họ muốn tăng thêm độ uy tín của họ trong Quorum Slices. Cơ chế này khác hẳn hoàn toàn với cơ chế đồng thuận PoW và PoS.
Một điểm cần lưu ý thêm là phân loại độ uy tín của Quorum chỉ có 2 loại:
- Các nút hoạt động tốt (well-behaved nodes). Những người này chọn đại biểu chấp nhận được Quorum Slices và đáp ứng bình thường với tất cả các yêu cầu từ các đồng nghiệp.
- Các nút hoạt động không tốt (ill-behaved nodes): Những người này bị ảnh hưởng bởi Byzantine (tức là hành động tùy tiện) hoặc gặp sự cố (như là ngừng phản hồi với yêu cầu hoặc tạm dừng) thất bại.
Do đó, một nút hoạt động không tốt có thể gửi tin nhắn giả mạo cho người khác, hoặc không gửi được tin nhắn nào cả. Nói cách khác, một nút hoạt động tốt cũng có thể không hoạt động bình thường do ảnh hưởng của hành vi xấu từ các nút liên quan.
- “Stellar.” https://www.stellar.org/, 2018. [Online; accessed 15-Sep2018].
- M. Castro, B. Liskov, et al., “Practical Byzantine Fault Tolerance,” in OSDI, vol. 99, pp. 173–186, 1999.
- C. Cachin, “Architecture of the hyperledger blockchain fabric,” in Workshop on Distributed Cryptocurrencies and Consensus Ledgers, vol. 310, 2016.
- J. R. Douceur, “The Sybil Attack,” in International workshop on peerto-peer systems, pp. 251–260, Springer, 2002.
- J. Kwon, “Tendermint: Consensus without Mining,” Draft v. 0.6, fall, 2014.
- J. Innerbichler and V. Damjanovic-Behrendt, “Federated byzantine agreement to ensure trustworthiness of digital manufacturing platforms,” in Proceedings of the 1st Workshop on Cryptocurrencies and Blockchains for Distributed Systems, pp. 111–116, ACM, 2018.
- F. Reid and M. Harrigan, “An analysis of anonymity in the bitcoin system,” in Security and privacy in social networks, pp. 197–223, Springer, 2013.
- M. Herlihy, “A Quorum-Consensus Replication Method for Abstract Data Types,” ACM Transactions on Computer Systems (TOCS), vol. 4, no. 1, pp. 32–53, 1986.
- J.-R. Jiang, Y.-C. Tseng, C.-S. Hsu, and T.-H. Lai, “Quorum-based asynchronous power-saving protocols for ieee 802.11 ad hoc networks,” Mobile Networks and Applications, vol. 10, no. 1-2, pp. 169–181, 2005.
- D. Malkhi, M. K. Reiter, and A. Wool, “The load and availability of byzantine quorum systems,” SIAM Journal on Computing, vol. 29, no. 6, p. 1889–1906, 2000.