Cách xác minh chính thức có thể giảm thiểu lỗi và lỗ hổng trong hợp đồng thông minh

Xác minh chính thức trong Hợp đồng thông minh

Việc xác minh chính thức các hợp đồng thông minh là một xu hướng mới nổi trong không gian tiền điện tử tập trung vào việc giảm các trường hợp lỗi và lỗ hổng bảo mật của các hợp đồng thông minh đã dẫn đến nhiều vụ hack cao cấp và các mối lo ngại về bảo mật phổ biến.

Xác minh chính thức có rất nhiều ứng dụng liên quan đến hệ thống phần cứng và phần mềm. Nó trở nên cực kỳ quan trọng khi độ phức tạp của hệ thống tăng lên, đặc biệt là với phần cứng. Trong các mạng blockchain, nhiều lỗ hổng và khai thác hợp đồng thông minh đã dẫn đến nhu cầu cải thiện lập trình và kiểm toán hợp đồng thông minh.

Xác minh chính thức trong Hợp đồng thông minh

Cơ sở về xác minh chính thức

Sử dụng xác minh chính thức phương pháp chính thức để kiểm tra xem thiết kế của một hệ thống phần cứng hoặc phần mềm có đáp ứng một tập hợp các thuộc tính cụ thể hay không. Các phương pháp chính thức là một loại kỹ thuật toán học đặc biệt để đặc tả, phát triển và xác minh cả hệ thống phần cứng và phần mềm. Sử dụng các phương pháp chính thức để chứng minh hoặc bác bỏ tính đúng đắn của các thuật toán dự kiến ​​được gọi là xác minh chính thức.

Martin Davis được ghi nhận là người đã phát triển bằng chứng toán học đầu tiên do máy tính tạo ra vào năm 1954. Khái niệm này bắt đầu có được sức hút vào những năm 1960 để xác minh tính đúng đắn của các chương trình máy tính bằng các ngôn ngữ ban đầu như Pascal và Java. Sau một số lỗi máy tính cấu hình cao, chẳng hạn như Lỗi Pentium FDIV vào năm 1994, ý kiến ​​cho rằng cần phải có sự xác minh chính thức ở khắp mọi nơi bắt đầu ném tuyết.

Kiểm tra hệ thống phần mềm hoặc phần cứng có thể được chia thành hai giai đoạn chung:

  1. Thẩm định
  2. xác minh

Xác thực là xác định xem sản phẩm có đáp ứng nhu cầu của người dùng hay không.

Xác minh là kiểm tra xem sản phẩm có phù hợp với các thông số kỹ thuật hay không.

#Crypto ExchangeBenefits

1

Binance
Best exchange


VISIT SITE
  • ? The worlds biggest bitcoin exchange and altcoin crypto exchange in the world by volume.
  • Binance provides a crypto wallet for its traders, where they can store their electronic funds.

2

Coinbase
Ideal for newbies


Visit SITE
  • Coinbase is the largest U.S.-based cryptocurrency exchange, trading more than 30 cryptocurrencies.
  • Very high liquidity
  • Extremely simple user interface

3

eToro
Crypto + Trading

VISIT SITE
  • Multi-Asset Platform. Stocks, crypto, indices
  • eToro is the world’s leading social trading platform, with thousands of options for traders and investors.

Việc xác minh bao gồm việc tạo ra một mô hình toán học trừu tượng tương quan với các thông số kỹ thuật thiết kế của sản phẩm (tức là thuật toán, chip phần cứng) trong khi các phương pháp chính thức được sử dụng để tạo mô hình chủ yếu xuất phát từ các nguyên tắc cơ bản về khoa học máy tính lý thuyết.

Việc sử dụng xác minh chính thức đã trở nên cực kỳ quan trọng trong các hệ thống phần cứng, nơi mà hầu hết các nhà sản xuất phần cứng lớn đều sử dụng nó để đảm bảo tính mạnh mẽ cho sản phẩm của họ. Tuy nhiên, việc sử dụng nó gần như không phổ biến trong phần mềm như trong phần cứng, điều này chủ yếu được cho là do tính chất thương mại của sản xuất phần cứng.

Tuy nhiên, động lực đó đang bắt đầu thay đổi với sự ra đời của các blockchain và tiền điện tử trong đó việc chuyển giao giá trị đáng kể được thực hiện tự động trên một mạng phi tập trung. Với nhiều giá trị bị đe dọa hơn các hệ thống truyền thống, tính đúng đắn của các hợp đồng thông minh đã trở thành một mối quan tâm cấp bách.

A lịch sử ngắn gọn khai thác hợp đồng thông minh là tất cả những gì cần thiết để hiểu hậu quả của các lỗ hổng đơn giản trong mã hợp đồng.

Tại sao sử dụng nó cho các hợp đồng thông minh?

#CRYPTO BROKERSBenefits

1

eToro
Best Crypto Broker

VISIT SITE
  • Multi-Asset Platform. Stocks, crypto, indices
  • eToro is the world’s leading social trading platform, with thousands of options for traders and investors.

2

Binance
Cryptocurrency Trading


VISIT SITE
  • ? Your new Favorite App for Cryptocurrency Trading. Buy, sell and trade cryptocurrency on the go
  • Binance provides a crypto wallet for its traders, where they can store their electronic funds.

#BITCOIN CASINOBenefits

1

Bitstarz
Best Crypto Casino

VISIT SITE
  • 2 BTC + 180 free spins First deposit bonus is 152% up to 2 BTC
  • Accepts both fiat currencies and cryptocurrencies

2

Bitcoincasino.io
Fast money transfers


VISIT SITE
  • Six supported cryptocurrencies.
  • 100% up to 0.1 BTC for the first
  • 50% up to 0.1 BTC for the second

Theo một gần đây học được thực hiện trên gần 1 triệu hợp đồng thông minh Ethereum, 34.200 trong số đó được gắn cờ là dễ bị tổn thương, trong 10 giây cho mỗi hợp đồng. Con số đáng kinh ngạc đó đã đạt được bằng cách phân tích các lỗ hổng theo dõi của các hợp đồng thông minh bao gồm:

  • Tìm các hợp đồng khóa tiền vô thời hạn
  • Hợp đồng làm rò rỉ tiền một cách bất cẩn cho người dùng tùy ý
  • Hợp đồng có thể bị giết bởi bất kỳ ai

Cùng với sự phức tạp và tính mới về mặt logic chung liên quan đến việc lập trình các hợp đồng thông minh cho blockchain, bản chất bất biến của chúng – một khi chúng đã cam kết với blockchain – làm cho các lỗ hổng có khả năng gây hại nhiều hơn.

Brian Marick và Daejun Park cung cấp một phân tích về các lỗ hổng trong hợp đồng thông minh và cách xác minh chính thức có thể giúp giảm thiểu các trường hợp của chúng. Về cơ bản, thường có hai cách mà nhà phát triển có thể không đạt được những gì họ muốn từ một hợp đồng thông minh.

  1. Ý định nhầm lẫn
  2. Sai lầm khi thực hiện ý định đó

Nhiều lỗi tiêu chuẩn này có thể dẫn đến những khoản tiền khổng lồ bị khóa như với Ví chẵn lẻ hoặc với Ethereum khai thác gửi đệ quy bên trong Sự cố DAO. Xác minh chính thức được sử dụng như một cách xác nhận toán học rằng các lỗ hổng cụ thể sẽ không dẫn đến các vectơ khai thác gây hại.

Thông số kỹ thuật chính thức được sử dụng làm đầu ra hoặc kết quả chính xác mà một hợp đồng thông minh đang tìm kiếm mà máy tính có thể kiểm tra. Việc xác minh sau đó diễn ra khi hợp đồng biên dịch thành mã bytecode và xác minh chính thức chứng minh rằng mã bytec đã biên dịch thực hiện đặc tả. Tuy nhiên, việc thực hiện xác minh chính thức theo cách thủ công là một quá trình gian khổ và đôi khi đi kèm với những sai lầm của chính nó. Ngay cả việc xác minh các kết quả bằng chứng chính thức cũng có thể đi kèm với các sắc thái của nó.

Các công cụ như Coq Proof Assistant đã được phát triển để giúp tạo điều kiện thuận lợi cho các bằng chứng cơ giới hóa về các thuộc tính của chương trình và hiện đang được sử dụng bởi một số loại tiền điện tử mới nổi với ngôn ngữ mà chúng sử dụng được nhúng vào Coq.

Trong khi kiểm toán hợp đồng thông minh cung cấp một lớp đảm bảo rất cần thiết thông qua việc xem xét mã, xác minh chính thức các hợp đồng thông minh có thể giúp giảm thiểu các trường hợp lỗ hổng thông qua phân tích toán học hơn nữa. Với việc các hợp đồng thông minh ngày càng trở nên phổ biến, có vẻ như việc áp dụng xác minh chính thức sẽ trở nên phổ biến hơn trong ngành.

Các ứng dụng hiện tại của xác minh chính thức

Một số nền tảng đang tích hợp xác minh chính thức hoặc có kế hoạch sớm làm như vậy. Đánh giá mức độ an toàn và bảo mật của các hợp đồng thông minh hoạt động trong các nền tảng này sẽ rất quan trọng để đánh giá hiệu quả của chúng trong việc khắc phục các lỗ hổng nghiêm trọng.

Zilliqa

Zilliqa là một blockchain thông lượng cao được thiết kế để lưu trữ các ứng dụng phi tập trung (dapps) có thể mở rộng và an toàn. Một số nhà phát triển kỹ thuật đằng sau Zilliqa là tác giả của nghiên cứu trước đó đã phát hiện ra hàng nghìn điểm yếu của hợp đồng thông minh.

Zilliqa

Zilliqa sử dụng một ngôn ngữ lập trình mới có tên là Scilla, được thiết kế bởi các thành viên của nhóm Zilliqa và một số chi nhánh khác. Scilla là một ngôn ngữ cấp độ trung cấp được nhúng trong Coq Proof Assistant. Nó được thiết kế để trở thành mục tiêu dịch thuật cho các ngôn ngữ cấp cao hơn để thực hiện phân tích và xác minh trước khi hợp đồng được biên dịch sang bytecode.

Tezos

Tezos được viết bằng OCaml và ngôn ngữ hợp đồng thông minh của nó là Michelson, dựa trên OCaml. OCaml được chọn vì cung cấp lập trình chức năng về tốc độ, cú pháp và ngữ nghĩa rõ ràng, cũng như khả năng thực hiện các chứng minh chính thức. Tezos cũng sử dụng Coq Proof Assistant để tạo điều kiện xác minh chính thức các hợp đồng thông minh.

Hướng dẫn Tezos

Arthur Breitman – người đồng sáng lập Tezos – đã đăng chi tiết liên quan đến việc xác minh một số Michelson hợp đồng trong Coq, bao gồm một hợp đồng nhiều người ký trên testnet của họ vào năm ngoái. Tezos mới ra mắt gần đây, do đó, ứng dụng xác minh chính thức của nó sẽ cung cấp một thước đo tuyệt vời cho trạng thái bảo mật được cải thiện của các hợp đồng thông minh bằng cách sử dụng phương pháp này. Việc khai thác có cản trở các hợp đồng Solidity sẽ diễn ra ở Tezos hay không sẽ mất một khoảng thời gian để mở ra nhưng việc đánh giá mức độ an toàn của các hợp đồng thông minh trên Tezos có thể là dấu hiệu cho thấy một xu hướng tiếp tục.

Cardano

Cardano được viết bằng Haskell và ngôn ngữ hợp đồng thông minh của nó là Plutus, dựa trên Haskell.

Hướng dẫn về Cardano

Cardano được thiết kế với Lớp tính toán Cardano (CCL) bao gồm 2 lớp:

  1. Khung ngôn ngữ và máy ảo được chỉ định chính thức
  2. Các ngôn ngữ được chỉ định chính thức để tạo điều kiện xác minh mã hợp đồng thông minh

Mục tiêu là tạo ra một môi trường hợp lý hóa quá trình đảm bảo rằng hợp đồng hoạt động như được thiết kế mà không có lỗ hổng nghiêm trọng. Đáng chú ý, Cardano không sử dụng thiết kế ngăn xếp có giới hạn như EVM của Ethereum, do đó, việc không lo lắng về luồng số học ngăn xếp cho phép nó chính thức xác minh các hợp đồng thông minh dễ dàng hơn nhiều.

Ethereum

Ethereum đã nghiên cứu việc kết hợp xác minh chính thức trong một thời gian khá dài, với một số dự án đang điều tra tiềm năng của nó. Một ấn phẩm như vậy, “Tạo hợp đồng thông minh thông minh hơn,”Tập trung vào các lỗi hợp đồng thông minh và đề xuất các cách để giảm thiểu chúng, bao gồm cải thiện ngữ nghĩa hoạt động của Ethereum để thúc đẩy xác minh chính thức.

Hướng dẫn Ethereum

Giới hạn gas trong Ethereum làm cho nó thách thức để thực hiện xác minh chính thức. Hơn nữa, cách duy nhất để biết ý nghĩa của một chương trình Solidity là biên dịch nó thành bytecode. Trình biên dịch thay đổi nhanh chóng, vì vậy các công cụ xác minh cũng cần phải điều chỉnh theo tốc độ thay đổi. Xem xét lịch sử và mạng lưới đã được thiết lập của Ethereum, việc xác minh chính thức các hợp đồng thông minh trong Ethereum rõ ràng sẽ cung cấp thước đo tốt nhất cho hiệu quả của chúng trong việc giảm thiểu các lỗ hổng bảo mật đã được xác minh chính thức để được sử dụng rộng rãi trong mạng.

Phần kết luận

Xác minh chính thức là một công việc rất phức tạp và gian khổ. Mặc dù vậy, nó đã trở thành một tiêu chuẩn chung trong ngành công nghiệp phần cứng và có khả năng sẽ tiếp tục phát triển trong không gian phần mềm. Các blockchain và mạng lưới tiền điện tử – nơi phổ biến việc chuyển tiền giá trị cao – chắc chắn sẽ đẩy nhanh hiệu ứng này. Việc đo lường tác động tích cực của việc xác minh chính thức các hợp đồng thông minh có thể sẽ mất vài năm vì chúng ta mới chỉ nhìn thấy phần đầu của những gì sẽ trở thành một xu hướng rộng lớn hơn nhiều trong ngành.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me