Bởi Pranav Garimidi, Scott Duke Kominers, Tim Roughgarden
Nguồn: a16z
Nhiều dự án web3 sử dụng mã thông báo gốc có thể thay thế và có thể giao dịch để bỏ phiếu không được phép. Bỏ phiếu không cần xin phép có nhiều lợi ích, từ giảm bớt rào cản gia nhập cho đến tăng cường cạnh tranh. Chủ sở hữu mã thông báo có thể sử dụng mã thông báo của họ để bỏ phiếu về nhiều vấn đề, từ điều chỉnh tham số đơn giản đến đại tu chính quy trình quản trị. Tuy nhiên, bỏ phiếu không được phép dễ bị tấn công quản trị, trong đó kẻ tấn công có được quyền biểu quyết thông qua các phương tiện hợp pháp (chẳng hạn như mua mã thông báo trên thị trường mở) và sử dụng quyền biểu quyết đó để thao túng giao thức vì lợi ích của chính kẻ tấn công. Các cuộc tấn công này hoàn toàn là các cuộc tấn công "nội giao thức", nghĩa là chúng không thể được giải quyết bằng mật mã. Thay vào đó, việc ngăn chặn các cuộc tấn công này đòi hỏi thiết kế cơ chế chu đáo. Để đạt được mục tiêu này, chúng tôi thiết kế một khuôn khổ để giúp các DAO đánh giá các mối đe dọa và ứng phó với các cuộc tấn công quản trị tiềm ẩn.
Các cuộc tấn công vào quản trị trong thực tế
Vấn đề với các cuộc tấn công quản trị không chỉ là lý thuyết. Chúng không chỉ có thể xảy ra trong thế giới thực mà còn đang và sẽ tiếp tục xảy ra.
Hãy xem ví dụ rõ ràng này . Steemit là một công ty khởi nghiệp xây dựng một mạng xã hội phi tập trung trên chuỗi khối Steem của mình, với hệ thống quản trị trên chuỗi được kiểm soát bởi 20 nhân chứng. Người bỏ phiếu sử dụng mã thông báo STEEM của họ (mã thông báo gốc của nền tảng) để bầu chọn nhân chứng. Khi Steemit và Steem ngày càng trở nên hấp dẫn, Justin Sun đã lên kế hoạch sáp nhập Steem vào Tron. Tron là giao thức blockchain do anh thành lập vào năm 2018. Để có được quyền biểu quyết, Sun đã tiếp cận một trong những người sáng lập của Steem và mua các mã thông báo tương đương với 30% tổng nguồn cung. Khi các nhân chứng của Steem phát hiện ra giao dịch của anh ấy, họ ngay lập tức đóng băng các token của Sun. Tiếp theo là cuộc trao đổi qua lại công khai giữa Sun và Steem để giành quyền kiểm soát đủ số token để cho phép anh ta chọn 20 nhân chứng hàng đầu mà anh ta muốn. Sau khi tham gia vào các giao dịch lớn và chi hàng trăm nghìn đô la cho các mã thông báo, Justin Sun cuối cùng đã chiến thắng và có quyền thống trị tự do trên mạng một cách hiệu quả.
Hãy xem lại ví dụ Beanstalk. Beanstalk, một giao thức stablecoin, được phát hiện là dễ bị tấn công quản trị Flashloan. Những kẻ tấn công đã vay một khoản để có đủ mã thông báo quản trị Beanstalk để ngay lập tức thông qua một đề xuất ác ý cho phép chúng lấy đi khoản dự trữ trị giá 182 triệu đô la của Beanstalk. Không giống như cuộc tấn công vào Steem, cuộc tấn công này xảy ra trên quy mô của một khối duy nhất, nghĩa là nó đã kết thúc và không ai có thời gian để phản ứng.
Trong khi hai cuộc tấn công này diễn ra công khai và trước công chúng, các cuộc tấn công quản trị cũng có thể được thực hiện bí mật trong thời gian dài. Kẻ tấn công có thể tạo một số lượng lớn tài khoản ẩn danh và từ từ tích lũy mã thông báo quản trị trong khi hành xử bình thường như bất kỳ chủ sở hữu nào khác để tránh bị lộ. Trên thực tế, do tỷ lệ tham gia bỏ phiếu của nhiều DAO thường thấp, các tài khoản này có thể không hoạt động trong thời gian dài mà không gây nghi ngờ. Theo quan điểm của DAO, tài khoản ẩn danh của kẻ tấn công có thể giúp chứng minh mức độ lành mạnh của quyền biểu quyết phi tập trung. Tuy nhiên, những kẻ tấn công cuối cùng có thể đạt đến ngưỡng mà các ví Sybil này có quyền đơn phương kiểm soát việc quản trị mà cộng đồng không thể phản hồi. Tương tự như vậy, khi tỷ lệ cử tri đi bỏ phiếu đủ thấp, các tác nhân độc hại có thể có đủ quyền biểu quyết để nắm quyền kiểm soát quản trị và sau đó cố gắng thông qua các đề xuất độc hại khi nhiều chủ sở hữu mã thông báo khác không hoạt động.
Mặc dù chúng ta có thể nghĩ về tất cả các hành động quản trị đơn giản là kết quả của các lực lượng thị trường đang hoạt động, nhưng trong thực tế, quản trị đôi khi có thể tạo ra kết quả không hiệu quả do thất bại trong việc khuyến khích hoặc các sơ hở khác trong thiết kế giao thức. Giống như việc hoạch định chính sách của chính phủ có thể bị ảnh hưởng bởi các nhóm lợi ích hoặc quán tính đơn giản, quản trị DAO có thể dẫn đến kết quả kém nếu không được cấu trúc phù hợp.
Vì vậy, làm thế nào để chúng ta đối phó với kiểu tấn công này thông qua thiết kế cơ chế?
Thách thức cơ bản: Không thể phân biệt
Cơ chế thị trường để phân phối mã thông báo không phân biệt được giữa những người dùng muốn đóng góp có giá trị cho dự án và những kẻ tấn công muốn kiểm soát dự án bằng cách can thiệp hoặc bằng cách khác. Trong một thế giới mà các mã thông báo có thể được mua và bán trên thị trường công khai, không nhóm nào hành xử khác biệt từ góc độ thị trường: cả hai đều sẵn sàng mua số lượng lớn mã thông báo với giá ngày càng cao hơn.
Vấn đề không thể phân biệt này có nghĩa là quản trị phi tập trung phải trả giá. Thay vào đó, các nhà thiết kế giao thức cần tạo ra sự đánh đổi cơ bản giữa quản trị phi tập trung mở và bảo vệ hệ thống của họ khỏi các cuộc tấn công nhằm khai thác các cơ chế quản trị. Các thành viên cộng đồng càng có nhiều quyền tự do để có được quyền quản trị và ảnh hưởng đến giao thức, thì kẻ tấn công càng dễ dàng sử dụng cơ chế tương tự để thực hiện các thay đổi độc hại.
Vấn đề không thể phân biệt này là phổ biến trong thiết kế mạng chuỗi khối bằng chứng cổ phần. Ngoài ra, thị trường mã thông báo có tính thanh khoản cao giúp kẻ tấn công dễ dàng giành đủ cổ phần để xâm phạm tính bảo mật của mạng. Tuy nhiên, sự kết hợp của các ưu đãi mã thông báo và thiết kế thanh khoản làm cho các mạng bằng chứng cổ phần trở nên khả thi. Một chiến lược tương tự có thể giúp bảo mật giao thức DAO.
Khung đánh giá và giải quyết các lỗ hổng
Để phân tích các lỗ hổng mà các dự án khác nhau gặp phải, chúng tôi sử dụng một khung được ghi lại theo công thức sau:
Để đảm bảo rằng giao thức miễn nhiễm với các cuộc tấn công quản trị, nó phải làm cho lợi nhuận của kẻ tấn công bị âm. Khi thiết kế các quy tắc quản trị cho một dự án, công thức này có thể được sử dụng để hướng dẫn việc đánh giá tác động của các lựa chọn thiết kế khác nhau. Để giảm động cơ khai thác giao thức, phương trình ngụ ý ba lựa chọn rõ ràng: giảm giá trị của cuộc tấn công, tăng chi phí để có được quyền biểu quyết và tăng chi phí thực hiện cuộc tấn công.
Giảm giá trị của cuộc tấn công
Việc giới hạn giá trị của một cuộc tấn công có thể khó khăn vì dự án càng thành công thì cuộc tấn công càng có giá trị. Rõ ràng, một dự án không nên cố tình phá hoại thành công của chính nó để làm giảm giá trị của một cuộc tấn công.
Tuy nhiên, các nhà thiết kế có thể hạn chế giá trị của các cuộc tấn công bằng cách giới hạn phạm vi quản trị. Nếu quản trị chỉ bao gồm quyền thay đổi các tham số nhất định trong dự án (ví dụ: lãi suất trong hợp đồng cho vay), thì phạm vi của các cuộc tấn công tiềm ẩn sẽ hẹp hơn nhiều so với khi quản trị cho phép kiểm soát hoàn toàn các hợp đồng thông minh.
Phạm vi quản lý có thể là một chức năng của các giai đoạn dự án. Trong những ngày đầu của một dự án, khi nó tìm được chỗ đứng, nó có thể được quản lý rộng rãi hơn, nhưng trên thực tế, việc quản trị có thể được kiểm soát chặt chẽ bởi nhóm sáng lập và cộng đồng. Khi dự án trưởng thành và các quyền kiểm soát được phân cấp, việc đưa ra một số mức độ xung đột trong quản trị có thể là điều tích cực - ít nhất cần có một số đại biểu cần thiết để đưa ra các quyết định quan trọng nhất.
Tăng chi phí để có được quyền biểu quyết
Các dự án cũng có thể thực hiện các bước để gây khó khăn hơn cho kẻ tấn công trong việc đạt được quyền biểu quyết cần thiết cho một cuộc tấn công. Mã thông báo càng có tính thanh khoản cao thì càng dễ dàng yêu cầu quyền biểu quyết - vì vậy gần như nghịch lý là các dự án có thể muốn giảm tính thanh khoản để bảo vệ quyền quản trị. Chúng tôi có thể trực tiếp cố gắng giảm khả năng giao dịch ngắn hạn của mã thông báo, nhưng điều này có thể không khả thi về mặt kỹ thuật.
Để gián tiếp giảm tính thanh khoản, các dự án có thể cung cấp các ưu đãi để khiến những người nắm giữ mã thông báo cá nhân ít có xu hướng bán mã thông báo hơn. Điều này có thể được thực hiện bằng cách khuyến khích đặt cược hoặc bằng cách cung cấp cho mã thông báo một giá trị độc lập với quản trị thuần túy. Chủ sở hữu mã thông báo càng nhận được nhiều giá trị, họ càng phù hợp với sự thành công của dự án.
Lợi ích mã thông báo độc lập có thể bao gồm việc tham gia các sự kiện trực tiếp hoặc trải nghiệm xã hội. Điều quan trọng là những lợi ích như vậy có giá trị cao đối với các cá nhân phù hợp với dự án, nhưng lại vô dụng đối với những kẻ tấn công. Cung cấp những lợi ích như vậy làm tăng giá hiệu quả mà kẻ tấn công phải đối mặt khi mua mã thông báo: những người nắm giữ hiện tại ít sẵn sàng bán hơn vì lợi ích của sự độc lập làm tăng giá thị trường; tuy nhiên, trong khi kẻ tấn công phải trả giá cao hơn, sự tồn tại của lợi ích độc lập không tăng giá trị mà kẻ tấn công có thể lấy được sau khi lấy được mã thông báo.
Tăng chi phí thực hiện một cuộc tấn công
Ngoài việc tăng chi phí quyền biểu quyết, ma sát có thể được tạo ra khiến những kẻ tấn công khó thực hiện quyền biểu quyết hơn, ngay cả khi chúng đã kiếm được mã thông báo. Ví dụ: một nhà thiết kế có thể yêu cầu một số loại xác thực người dùng để bỏ phiếu, chẳng hạn như xác minh KYC hoặc ngưỡng điểm danh tiếng. Thậm chí có thể hạn chế khả năng của những người tham gia không được xác thực để có được mã thông báo bỏ phiếu ngay từ đầu, có thể yêu cầu một số trình xác thực hiện có để xác minh tính hợp pháp của những người tham gia mới.
Theo một nghĩa nào đó, đây chính xác là cách nhiều dự án phân phối mã thông báo ban đầu của họ, đảm bảo các bên đáng tin cậy kiểm soát một phần đáng kể quyền biểu quyết. (Nhiều giải pháp bằng chứng cổ phần sử dụng một kỹ thuật tương tự để tự bảo vệ mình — kiểm soát chặt chẽ ai nhận được cổ phần sớm và dần dần phi tập trung hóa từ đó.)
Ngoài ra, các dự án có thể làm như vậy để ngay cả khi kẻ tấn công kiểm soát một lượng lớn quyền biểu quyết, chúng vẫn gặp khó khăn trong việc chuyển các đề xuất độc hại. Ví dụ: một số dự án có khóa thời gian, do đó, mã thông báo không thể được sử dụng để bỏ phiếu trong một khoảng thời gian sau khi hoán đổi. Do đó, những kẻ tấn công cố gắng mua hoặc mượn số lượng lớn mã thông báo phải đối mặt với chi phí chờ bỏ phiếu tăng thêm — và nguy cơ cuộc tấn công tiềm ẩn của chúng bị các thành viên bỏ phiếu phát hiện và chặn trong thời gian chờ đợi. Các ủy quyền cũng có thể hữu ích trong vấn đề này. Bằng cách trao quyền cho những người tham gia tích cực nhưng không ác ý bỏ phiếu, những cá nhân không muốn đóng vai trò đặc biệt tích cực trong quản trị vẫn có thể sử dụng phiếu bầu của họ để bảo vệ hệ thống.
Một số dự án sử dụng quyền phủ quyết, cho phép hoãn bỏ phiếu trong một khoảng thời gian để cảnh báo những cử tri không hoạt động về những đề xuất nguy hiểm tiềm ẩn. Theo sơ đồ này, ngay cả khi kẻ tấn công đưa ra đề xuất ác ý, cử tri vẫn có khả năng phản hồi và đóng đề xuất đó. Ý tưởng đằng sau những thiết kế này và các thiết kế tương tự là để ngăn chặn những kẻ tấn công lén lút xem xét các đề xuất độc hại và cho cộng đồng dự án thời gian để phản hồi. Trong một thế giới lý tưởng, các đề xuất rõ ràng là vì lợi ích của thỏa thuận sẽ không phải đối mặt với những rào cản này.
Ví dụ: trong Nouns DAO, quyền phủ quyết thuộc về Nouns Foundation cho đến khi chính DAO sẵn sàng thực hiện một mô hình quản trị thay thế. Khi họ viết trên trang web của mình, "Quỹ Nouns sẽ phủ quyết các đề xuất gây rủi ro pháp lý hoặc rủi ro đáng kể cho Nouns DAO hoặc Nouns Foundation."
Các dự án phải đạt được sự cân bằng cho phép mức độ cởi mở (đôi khi có thể không được hoan nghênh) đối với các thay đổi của cộng đồng, đồng thời không cho phép các sơ hở đề xuất ác ý. Thông thường chỉ cần một đề xuất ác ý là có thể làm mất hiệu lực giao thức, vì vậy, điều quan trọng là phải hiểu rõ về sự đánh đổi rủi ro khi chấp nhận và từ chối các đề xuất. Tất nhiên, có sự đánh đổi cao giữa việc đảm bảo quản trị và làm cho việc quản trị trở nên khả thi - bất kỳ cơ chế nào tạo ra xung đột để ngăn chặn những kẻ tấn công tiềm năng tất nhiên cũng sẽ khiến quá trình quản trị trở nên khó khăn hơn.
Giải pháp mà chúng tôi phác thảo ở đây nằm ở đâu đó giữa quản trị phi tập trung hoàn toàn và hy sinh một phần một số phân quyền mong muốn vì sức khỏe tổng thể của giao thức. Khung của chúng tôi làm nổi bật các con đường khác nhau mà các dự án có thể thực hiện, cố gắng đảm bảo rằng các cuộc tấn công quản trị không mang lại lợi nhuận. Chúng tôi hy vọng cộng đồng sẽ bắt đầu sử dụng khuôn khổ này và phát triển hơn nữa các cơ chế này thông qua các thử nghiệm của riêng họ để làm cho DAO trở nên an toàn hơn trong tương lai.