Tác giả gốc: Carl Hua, đối tác và CTO của Shima Capital
Sau khi khai thác khả năng truy cập lại Curve gần đây, tôi đã suy ngẫm về thời gian của mình tại JPL NASA, nơi tôi đã học được các nguyên tắc chính để phát triển phần mềm đáng tin cậy và có khả năng phục hồi. Đối với ngành công nghiệp tiền điện tử, những hiểu biết sâu sắc này hiện quan trọng hơn bao giờ hết và đây là lý do tại sao:
Cuối cùng, chỉ có hai loại phần mềm mà mọi người thực sự quan tâm: phần mềm có thể giết chết bạn và phần mềm có thể khiến bạn mất tiền.
Phần lớn ngân sách (80%+) dành cho phần mềm quan trọng của bất kỳ máy hàng không vũ trụ nào không được phân bổ cho việc phát triển mà dành cho việc tích hợp và thử nghiệm. Nếu phần mềm bị lỗi, các phương tiện bay sẽ từ trên trời rơi xuống - máy bay chiến đấu, máy bay không người lái, tàu vũ trụ, v.v.
Hầu hết mã trong phần mềm hàng không vũ trụ (nếu được phân loại là mô-đun quan trọng) đều tuân thủ các tiêu chuẩn phát triển/kiểm tra cực kỳ nghiêm ngặt, chẳng hạn như DO-178B Cấp A. Không chỉ mỗi dòng mã cần được kiểm tra, mà nếu có logic lồng nhau, thì từng điều kiện logic cũng được kiểm tra cụ thể.
Tại JPL NASA, triết lý viết phần mềm bay vũ trụ tiên tiến không phải là viết mã đẹp nhất, sạch nhất mà là viết mã dễ kiểm tra đơn vị. Tại sao? Rất đơn giản: khi bạn đưa tàu vũ trụ vào vũ trụ, bạn chỉ có một cơ hội và không ai muốn mạo hiểm với khả năng thất bại cao. Đây là logic tương tự như blockchain, vì mã bất biến là tính năng quan trọng của chúng và chúng ta chỉ có một cơ hội để chi tiêu tiền của mình một cách chính xác trong mỗi giao dịch, vậy tại sao chúng ta không thực hiện quá trình phát triển dApps một cách nghiêm túc hơn?
Mặc dù có các quy trình kiểm tra mã, kiểm tra và phát triển nghiêm ngặt, những phương tiện này rõ ràng là không đủ để giảm thiểu tất cả các lỗi và cuộc tấn công, vì trên thực tế hầu như không thể loại bỏ tất cả các lỗi thời gian chạy thông qua kiểm tra và kiểm tra. Vậy làm cách nào để bảo vệ phần mềm của chúng ta khỏi bị lỗi?
Bảo vệ thời gian chạy
Bảo vệ thời gian chạy là một kỹ thuật bảo mật giúp bảo vệ các ứng dụng phần mềm khỏi các cuộc tấn công độc hại trong khi chúng đang chạy. Nguyên tắc của nó là thực hiện phát hiện theo thời gian thực khi mã thực sự đang chạy và phân tích hành vi thực tế của chương trình để bảo vệ chương trình khỏi các cuộc tấn công và dữ liệu độc hại.
Các biện pháp bảo vệ trong thời gian chạy cho phần mềm có độ tin cậy cao đòi hỏi nỗ lực và thiết kế đáng kể vì chúng là tuyến phòng thủ cuối cùng để đảm bảo rằng phần mềm không rơi vào trạng thái không xác định hoặc bị lỗi. Đây không chỉ là một lập luận mà còn là thực tiễn đã được chứng minh trong nhiều thập kỷ.
Ngày nay trong Web3, tôi nghĩ các ứng dụng DeFi cần độ tin cậy cao như nhau và nên xem xét cách tiếp cận tương tự. Tuy nhiên, do những hạn chế tiềm ẩn của nó, EVM không được thiết kế để xử lý các tác vụ phức tạp như bảo vệ thời gian chạy. Vì vậy, làm thế nào để chúng tôi cung cấp bảo vệ thời gian chạy?
Một cách là thông qua lập trình Aspect, Aspects được thiết kế bởi mạng blockchain Artela, có thể chuyển đổi bối cảnh thực thi trong vòng đời của bất kỳ giao dịch hợp đồng thông minh nào để thực hiện kiểm tra nâng cao về trạng thái thời gian thực của chương trình. Artela cung cấp một thiết kế độc đáo về bảo vệ thời gian chạy thông qua khả năng tương thích Aspect và EVM, đồng thời nó có cơ hội trở thành nền tảng tương lai của bảo mật hợp đồng thông minh được mã hóa.
Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
Suy ngẫm về sự kiện Curve tại sao chúng ta cần Bảo vệ thời gian chạy
Tác giả gốc: Carl Hua, đối tác và CTO của Shima Capital
Sau khi khai thác khả năng truy cập lại Curve gần đây, tôi đã suy ngẫm về thời gian của mình tại JPL NASA, nơi tôi đã học được các nguyên tắc chính để phát triển phần mềm đáng tin cậy và có khả năng phục hồi. Đối với ngành công nghiệp tiền điện tử, những hiểu biết sâu sắc này hiện quan trọng hơn bao giờ hết và đây là lý do tại sao:
Cuối cùng, chỉ có hai loại phần mềm mà mọi người thực sự quan tâm: phần mềm có thể giết chết bạn và phần mềm có thể khiến bạn mất tiền.
Phần lớn ngân sách (80%+) dành cho phần mềm quan trọng của bất kỳ máy hàng không vũ trụ nào không được phân bổ cho việc phát triển mà dành cho việc tích hợp và thử nghiệm. Nếu phần mềm bị lỗi, các phương tiện bay sẽ từ trên trời rơi xuống - máy bay chiến đấu, máy bay không người lái, tàu vũ trụ, v.v.
Hầu hết mã trong phần mềm hàng không vũ trụ (nếu được phân loại là mô-đun quan trọng) đều tuân thủ các tiêu chuẩn phát triển/kiểm tra cực kỳ nghiêm ngặt, chẳng hạn như DO-178B Cấp A. Không chỉ mỗi dòng mã cần được kiểm tra, mà nếu có logic lồng nhau, thì từng điều kiện logic cũng được kiểm tra cụ thể.
Tại JPL NASA, triết lý viết phần mềm bay vũ trụ tiên tiến không phải là viết mã đẹp nhất, sạch nhất mà là viết mã dễ kiểm tra đơn vị. Tại sao? Rất đơn giản: khi bạn đưa tàu vũ trụ vào vũ trụ, bạn chỉ có một cơ hội và không ai muốn mạo hiểm với khả năng thất bại cao. Đây là logic tương tự như blockchain, vì mã bất biến là tính năng quan trọng của chúng và chúng ta chỉ có một cơ hội để chi tiêu tiền của mình một cách chính xác trong mỗi giao dịch, vậy tại sao chúng ta không thực hiện quá trình phát triển dApps một cách nghiêm túc hơn?
Mặc dù có các quy trình kiểm tra mã, kiểm tra và phát triển nghiêm ngặt, những phương tiện này rõ ràng là không đủ để giảm thiểu tất cả các lỗi và cuộc tấn công, vì trên thực tế hầu như không thể loại bỏ tất cả các lỗi thời gian chạy thông qua kiểm tra và kiểm tra. Vậy làm cách nào để bảo vệ phần mềm của chúng ta khỏi bị lỗi?
Bảo vệ thời gian chạy
Bảo vệ thời gian chạy là một kỹ thuật bảo mật giúp bảo vệ các ứng dụng phần mềm khỏi các cuộc tấn công độc hại trong khi chúng đang chạy. Nguyên tắc của nó là thực hiện phát hiện theo thời gian thực khi mã thực sự đang chạy và phân tích hành vi thực tế của chương trình để bảo vệ chương trình khỏi các cuộc tấn công và dữ liệu độc hại.
Các biện pháp bảo vệ trong thời gian chạy cho phần mềm có độ tin cậy cao đòi hỏi nỗ lực và thiết kế đáng kể vì chúng là tuyến phòng thủ cuối cùng để đảm bảo rằng phần mềm không rơi vào trạng thái không xác định hoặc bị lỗi. Đây không chỉ là một lập luận mà còn là thực tiễn đã được chứng minh trong nhiều thập kỷ.
Ngày nay trong Web3, tôi nghĩ các ứng dụng DeFi cần độ tin cậy cao như nhau và nên xem xét cách tiếp cận tương tự. Tuy nhiên, do những hạn chế tiềm ẩn của nó, EVM không được thiết kế để xử lý các tác vụ phức tạp như bảo vệ thời gian chạy. Vì vậy, làm thế nào để chúng tôi cung cấp bảo vệ thời gian chạy?
Một cách là thông qua lập trình Aspect, Aspects được thiết kế bởi mạng blockchain Artela, có thể chuyển đổi bối cảnh thực thi trong vòng đời của bất kỳ giao dịch hợp đồng thông minh nào để thực hiện kiểm tra nâng cao về trạng thái thời gian thực của chương trình. Artela cung cấp một thiết kế độc đáo về bảo vệ thời gian chạy thông qua khả năng tương thích Aspect và EVM, đồng thời nó có cơ hội trở thành nền tảng tương lai của bảo mật hợp đồng thông minh được mã hóa.