Giới thiệu Scribble của ConsenSys Diligence

blog 1Tin tứcDevelopersEnterpriseBlockchain ExplainedEvents and ConferencePressBản tin

Theo dõi bản tin của chúng tôi.

Địa chỉ email

Chúng tôi tôn trọng quyền riêng tư của bạn

Trang chủBlogNews

Giới thiệu Scribble của ConsenSys Diligence

bởi ConsenSys Ngày 8 tháng 12 năm 2020Đăng vào ngày 8 tháng 12 năm 2020

Viết nguệch ngoạc

Đảm bảo rằng các hợp đồng thông minh an toàn và không có lỗi chưa bao giờ quan trọng hơn thế. Thật không may, nó vẫn là một nhiệm vụ khó khăn. Mặc dù có các công cụ hữu ích để kiểm tra tự động và xác minh chính thức, nhưng việc đảm bảo tính đúng đắn của các hợp đồng thông minh tiếp tục là một nhiệm vụ đòi hỏi nhiều thời gian và đầy thách thức. Để làm cho mọi thứ tồi tệ hơn, mỗi công cụ thường có một đường cong học tập dốc và thường không chắc liệu nó có phù hợp với công việc hay không.

Đó là lý do tại sao chúng tôi đã phát triển Scribble: một ngôn ngữ xác minh và công cụ xác minh thời gian chạy. Mặc dù ban đầu được tạo để kiểm tra tài sản tự động trong quá trình kiểm tra, chúng tôi đã quyết định chia sẻ dự án này với cộng đồng!

Scribble là gì?

Khi nói về Scribble, chúng ta đang nói về hai điều.

Đầu tiên, Scribble là một ngôn ngữ đặc tả để viết các thuộc tính.

Thứ hai, Scribble là một công cụ xác minh thời gian chạy sử dụng ngôn ngữ đặc tả Scribble.

LƯU Ý: Scribble không tự thực hiện bất kỳ xác minh nào. Nó làm cho phép các công cụ khác để kiểm tra và kiểm tra các thuộc tính.

Nguệch ngoạc là một ngôn ngữ

Scribble xác định một ngôn ngữ dành riêng cho miền để viết các thuộc tính về hợp đồng thông minh. Chúng tôi đã xây dựng ngôn ngữ dựa trên cú pháp vững chắc, để giúp bạn dễ dàng học. Ngôn ngữ đặc tả này cho phép bạn chú thích một hợp đồng thông minh solidity với các thuộc tính.

LƯU Ý: Thuộc tính là một câu lệnh logic mà bạn mong đợi là đúng, ví dụ: “Tất cả các xe đều màu đỏ”. Trong trạng thái vững chắc, bạn thường sẽ có các thuộc tính như: “Chỉ chủ sở hữu mới có thể thực hiện thay đổi đối với X”. Hoặc “Hàm sendToken (), không nên thay đổi số dư ether của hợp đồng này”.

Bạn có thể sử dụng một số loại chú thích cho các loại thuộc tính khác nhau. Ví dụ, bất biến hoặc hậu điều kiện.

Đây là một ví dụ về chú thích Scribble:

Ảnh chụp màn hình 2020 12 08 lúc 12 giờ 15 phút chiều

Như bạn có thể thấy, các chú thích có dạng một chú thích nội dòng được đặt bên trên một định nghĩa hàm. Chúng tôi đã thêm một cái gọi là mệnh đề if_succeeds, mệnh đề này kiểm tra xem một điều kiện có giữ nguyên sau khi hàm được thực thi hay không. Trong trường hợp này, chúng tôi kiểm tra kết quả của hàm luôn khác 0.

Đọc tài liệu viết nguệch ngoạc

Chúng tôi đã dựa trên ngôn ngữ Scribble dựa trên các khái niệm đã được chứng minh như hậu điều kiện, bất biến và logic thời gian. Nhưng chúng tôi cũng xem xét cách chúng tôi có thể đưa ra các ý tưởng mới để phù hợp hơn với các vấn đề cụ thể của miền của hợp đồng thông minh.

Scribble là một công cụ

Scribble có thể lấy một hợp đồng được chú thích bằng các thuộc tính và biên dịch nó thành một hợp đồng mới. Trong hợp đồng mới này, Scribble sẽ có thêm mã Solidity để đưa ra khẳng định bất cứ khi nào một thuộc tính bị vi phạm. Chúng tôi gọi đây là thiết bị đo lường quy trình.

Việc thêm mã thực thi để kiểm tra các thuộc tính được gọi là xác minh thời gian chạy và giúp bạn dễ dàng làm việc với các công cụ hiện có mà không cần nhiều sự thích ứng. Trường hợp này xảy ra vì hầu hết các công cụ sẽ diễn giải mã solidity và có thể tìm kiếm các vi phạm tài sản ngay lập tức!

Bởi vì bạn có thể sử dụng các kỹ thuật kiểm tra tự động hiện có (chẳng hạn như bộ làm mờ của chúng tôi Harvey), bạn sẽ có thể bắt đầu thử nghiệm sau khi chỉ viết một thuộc tính. Chúng tôi tin rằng đây là một lợi ích đáng kể; Bạn được hưởng lợi từ thử nghiệm tự động ngay lập tức, thay vì phải mất nhiều thời gian trả trước để có được một lượng lớn chú thích quan trọng. Một cái gì đó thường cần thiết với các phương pháp xác minh truyền thống.

Bạn có thể bắt đầu thử nghiệm và phân tích hợp đồng một cách nhanh chóng và thậm chí quyết định sau đó có nỗ lực bổ sung để xác minh hoàn toàn hợp đồng thông minh hay không!

Bàn thắng

Kiểm toán

Chúng tôi đang sử dụng Scribble trong quá trình kiểm tra để xây dựng các thuộc tính. Bằng cách sử dụng các kỹ thuật phân tích tự động, chẳng hạn như thực thi biểu tượng và mờ, chúng tôi sẽ tự động kiểm tra và tìm ra các vi phạm đối với các thuộc tính này.

Liên hệ với chúng tôi để tìm hiểu thêm về kiểm tra fuzzing và dựa trên tài sản trong quá trình kiểm tra

Tiêu chuẩn

Scribble nhằm mục đích làm việc với các công cụ và kỹ thuật khác nhau; chúng tôi không chỉ muốn bật thử nghiệm dựa trên thuộc tính mà còn dễ dàng xác minh chính thức. Lợi ích của việc sử dụng một ngôn ngữ đặc tả chung duy nhất là bạn chỉ nỗ lực viết các thuộc tính một lần, nhưng thu được lợi ích của việc sử dụng nhiều công cụ.

Nhận con nuôi

Với Scribble, chúng tôi hy vọng sẽ hạ thấp rào cản hoặc mục nhập để kiểm tra tự động và xác minh chính thức. Chúng tôi cũng muốn giảm đầu tư thời gian cần thiết để phát triển các hợp đồng thông minh chính xác và an toàn, dẫn đến một hệ sinh thái an toàn hơn.

Bạn có thể lấy nó ở đâu?

Chúng tôi đã hoàn toàn có Scribble nguồn mở và nó hiện có sẵn tại github.com/consensys/scripble.

LƯU Ý: Đây là bản phát hành beta, các khía cạnh của ngôn ngữ sẽ thay đổi và bạn có thể gặp một số lỗi.

Bạn có thể dễ dàng cài đặt Scribble với npm:

Ảnh chụp màn hình 2020 12 08 lúc 12 giờ 35 phút chiều Cài đặt Scribble

Bản tin Đăng ký nhận bản tin của chúng tôi để biết tin tức mới nhất về Ethereum, các giải pháp doanh nghiệp, tài nguyên dành cho nhà phát triển và hơn thế nữa.Báo cáo DeFi Quý 3 năm 2020 của EthereumBáo cáo

Báo cáo DeFi Quý 3 năm 2020 của Ethereum

Báo cáo DeFi Quý 2 năm 2020 của EthereumBáo cáo

Báo cáo DeFi Quý 2 năm 2020 của Ethereum

Ethereum 2 0 Báo cáo hệ sinh thái vững chắcBáo cáo

Báo cáo hệ sinh thái vững chắc của Ethereum 2.0

Hướng dẫn đầy đủ về Mạng kinh doanh BlockchainHướng dẫn

Hướng dẫn đầy đủ về Mạng kinh doanh Blockchain

Làm thế nào để xây dựng một sản phẩm chuỗi khối thành côngHội thảo trên web

Làm thế nào để xây dựng một sản phẩm chuỗi khối thành công

Ngân hàng Trung ương và Tương lai của Tiền tệGiấy trắng

Ngân hàng Trung ương và Tương lai của Tiền tệ

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
map