

Vào ngày 5 tháng 9, hội nghị POD do Odaily tổ chức và được đồng tổ chức chiến lược bởi Tập đoàn 36Kr đã được tổ chức tại Bắc Kinh. Biết rằng Zhou Qipeng, trưởng bộ phận giải pháp của Chuangyu, đã được mời phát biểu với tựa đề "Tình trạng và tương lai bảo mật hợp đồng thông minh" tại diễn đàn bảo mật của hội nghị.
Trong phần chia sẻ, Zhou Qipeng đã giới thiệu một cách có hệ thống về việc tạo và ứng dụng hợp đồng thông minh, sự cố bảo mật và phân tích rủi ro bảo mật, đồng thời đề xuất các chiến lược để đối phó với bảo mật hợp đồng thông minh trong ứng dụng xã hội quy mô lớn của hợp đồng thông minh.
Zhou Qipeng nói rằng có ba khó khăn chính trong việc áp dụng xã hội các hợp đồng thông minh trong tương lai: thứ nhất, với sự xuất hiện của làn sóng "blockchain +", các ngành liên quan sẽ ngày càng mở rộng; thứ hai, sự phức tạp của các hợp đồng cần thiết cho các ứng dụng trong ngành sẽ tăng lên.Càng cao, thứ ba là tương lai của hợp đồng thông minh, ngoài các nhà phát triển, những người không phải là nhà phát triển cũng có thể viết, điều này sẽ mang lại những thách thức lớn đối với tính bảo mật của hợp đồng thông minh.
Về vấn đề này, tôi biết rằng phòng thí nghiệm bảo mật "404" Chuangyu đã phát triển một bộ hệ thống xác minh hợp đồng thông minh "Tháp Haotian". Hệ thống hợp tác chặt chẽ với các chuỗi công cộng, chuỗi liên minh và các nhóm khác để cung cấp khả năng bảo vệ an ninh ở lớp ứng dụng và hỗ trợ các kịch bản ứng dụng với số lượng hợp đồng thông minh ngày càng tăng và độ phức tạp logic.
Sau đây là toàn văn bài phát biểu, mời quý vị thưởng thức:
Bài phát biểu hôm nay của tôi được chia thành bốn phần. Phần thứ hai sẽ tóm tắt ngắn gọn về các rủi ro bảo mật của hợp đồng thông minh và mô tả vấn đề này cho mọi người. Phần thứ ba là về tính bảo mật của hợp đồng thông minh trong trường hợp blockchain + ứng dụng. Điều cuối cùng là cách thực hiện các hợp đồng thông minh trong tương lai và chúng tôi cũng đưa ra các ý tưởng và đề xuất của riêng mình.
Đầu tiên là xem xét hiện trạng bảo mật hợp đồng thông minh.
Trước đó, tôi muốn giải thích một danh từ - hợp đồng thông minh. Hợp đồng thông minh là một trong những công nghệ cốt lõi của chuỗi khối. Lý do tại sao nó được gọi là hợp đồng thông minh vì hợp đồng thông minh là một đoạn mã chương trình có thể được thực thi tự động trong chuỗi khối, được nhúng trong kiến trúc cấp cao nhất của chuỗi khối. Như vậy chúng ta có thể hiểu một cách đơn giản rằng nếu so sánh công nghệ blockchain với hệ điều hành smartphone mà mọi người đang sử dụng hiện nay, hay công nghệ nền tảng của blockchain có thể được coi là một hệ điều hành phân tán trên mạng, thì hợp đồng thông minh có thể hiểu là chương trình đang chạy. trong hệ điều hành phân tán mạng này. Vì vậy, hợp đồng thông minh là một thỏa thuận để phổ biến, xác minh và thực hiện hợp đồng theo cách thông tin hóa.
Hợp đồng thông minh dựa trên tính chất phi tập trung của chuỗi khối, cho phép các giao dịch đáng tin cậy mà không cần bên thứ ba, trong khi các giao dịch này có thể theo dõi và không thể đảo ngược, những yếu tố này thúc đẩy sự phát triển của công nghệ hợp đồng thông minh. Mục đích cuối cùng của hợp đồng thông minh là cung cấp giải pháp bảo mật tốt hơn so với hợp đồng giấy gốc hoặc văn bản hợp đồng, đồng thời giảm vi phạm hợp đồng và các tranh chấp phát sinh, điều này có thể cải thiện đáng kể hiệu quả của giao dịch.
Nếu bạn muốn quay lại lịch sử, khái niệm này đã được đề xuất bởi nhà khoa học Nick Szabo vào năm 1994. Vào thời điểm đó, Internet vẫn còn sơ khai và nó chỉ đề xuất ý tưởng về hợp đồng thông minh. Năm 2008, phiên bản blockchain 1.0 ra đời, cung cấp một môi trường tự nhiên và đáng tin cậy, nhưng môi trường này thiếu một số thứ và không thể cung cấp thêm các giao diện có thể được thực thi và gọi bởi bên thứ ba, vì vậy có thể nói blockchain 1.0 chỉ hỗ trợ một số giao diện đơn giản. Đến năm 2014, phiên bản chuỗi khối 2.0 đã được phát hành.Tại thời điểm này, trong khi sở hữu các thuộc tính môi trường đáng tin cậy của chuỗi khối 1.0, nó bắt đầu hỗ trợ tính hoàn thiện của Turing, thiết kế giao diện để các nhà phát triển gọi và thực thi cũng như cung cấp Khả năng giải quyết kịch bản.
Tiếp theo, chúng ta có thể xem lại các cặp được tạo sau khi hợp đồng thông minh thực sự được chạy.Những sự cố an ninh có ảnh hưởng tương đối lớn đến toàn bộ tiến trình lịch sử, Đây là những gì đã xảy ra vào năm 2016, sự kiện DAO trong Ethereum.
Vào ngày 15 tháng 6 năm 2016, hợp đồng tấn công đã được tạo. Vào ngày 17 tháng 6, cuộc tấn công bắt đầu và Vitalik Buterin đã thông báo cho cộng đồng Trung Quốc ngay sau khi biết về cuộc tấn công. Những người bảo vệ TheDAO đã đề xuất cộng đồng gửi các giao dịch rác để chặn mạng Ethereum nhằm làm chậm quá trình chuyển giao tài sản DAO. Vitalik sau đó đã đưa ra thông báo [Cập nhật khẩn cấp: Các lỗ hổng trên DAO] trên blog chính thức. Đã giải thích một số chi tiết về cuộc tấn công và đề xuất một giải pháp soft fork, sẽ không có sự phục hồi. Không có giao dịch và khối nào sẽ bị đảo ngược. Ngã ba mềm sẽ coi mọi giao dịch liên quan đến DAO và DAO con là giao dịch không hợp lệ bắt đầu từ chiều cao khối 1760000, do đó ngăn kẻ tấn công rút tài sản bị đánh cắp sau 27 ngày. Sau này sẽ có một hard fork để lấy lại tài sản.
Chúng ta hãy xem bản thân hợp đồng bị tấn công như thế nào. Trước hết, bên trái là đoạn mã của hợp đồng thông minh DAO, nơi viết chức năng rút tiền và bên phải là đoạn mã của hợp đồng tấn công của hacker. Hợp đồng thông minh DAO có thể được gọi trực tiếp từ bên ngoài. Các cuộc gọi đệ quy liên tục được thực hiện từng lớp, do đó tin tặc có thể sử dụng hợp đồng tấn công để chuyển nhiều tài sản kỹ thuật số của hợp đồng ban đầu thông qua lệnh gọi bên ngoài của hợp đồng, do đó gây ra sự cố DAO . Tác động lớn nhất là đối với chuỗi công khai của Ethereum, vì một hard fork đã xảy ra.
Tiếp theo phân tích một sốRủi ro bảo mật của hợp đồng thông minh。
Hãy để tôi chia sẻ với bạn các đặc điểm của mã hợp đồng thông minh, tôi đã tóm tắt bốn loại:
Đầu tiên là thiết kế tài khoản, hợp đồng thông minh đã thiết kế hai loại tài khoản, một là tài khoản bên ngoài, được kiểm soát bởi hệ thống khóa công khai, và loại còn lại được gọi là tài khoản hợp đồng, được kiểm soát bởi hệ thống khóa công khai. mã của chính nó.
Thứ hai là có một thứ gọi là gas trên blockchain 2.0. Mã hợp đồng càng phức tạp thì tôi càng phải tốn nhiều xăng hơn trong quá trình thực hiện hợp đồng. Điều này tạo ra một vấn đề. Nếu gas do người gọi cung cấp không đủ, mã đã được thực thi trong hợp đồng sẽ bị khôi phục. Người gọi trong hợp đồng cũng có thể thiết kế gasPrice của riêng mình và những người khai thác sẽ ưu tiên cho các giao dịch có giá cao hơn gasPrice, vì vậy Nếu gasPrice được thiết kế tương đối thấp hoặc nếu thiết kế quá cao, v.v., điều đó là không hợp lý.
Tiếp theo là chức năng, bao gồm một số chức năng.Đầu tiên là chức năng dự phòng (Ghi chú của biên tập viên: Khi chúng tôi gọi một hợp đồng thông minh, nếu không thể tìm thấy chức năng được chỉ định hoặc không có chức năng nào được chỉ định, thì chức năng dự phòng sẽ được gọi ), đồng thời thiết kế các chức năng như chuyển, gửi, gọi.value, v.v. để nhận tiền, ngoài ra còn có chức năng như tự hủy để tạo hợp đồng.
Cuối cùng là gọi hàm, tương tự như cách gọi truyền thống.
Tiếp theo, hãy xem xét các đặc điểm của ngôn ngữ hợp đồng thông minh.
Khả năng hiển thị mặc định của các chức năng liên quan đến ngôn ngữ này là công khai. Miễn là hợp đồng được viết, các chức năng sẽ được công khai cho người dùng nếu họ không có quyền thiết kế.
Cái thứ hai liên quan đến rất nhiều phép tính số.
Thứ ba là thiết kế ba phương pháp xử lý ngoại lệ, yêu cầu, khẳng định hoặc hoàn nguyên. Chúng khác nhau, yêu cầu thường được viết trước hàm để kiểm tra xem các biến đầu vào và biến trạng thái hợp tác có đáp ứng các điều kiện hay không và sẽ chỉ được thực thi nếu các điều kiện được đáp ứng. Assert là một chức năng được viết ở cuối chức năng theo quan điểm của nhà phát triển để kiểm tra các lỗi bên trong của chức năng và nếu xảy ra lỗi, nó sẽ buộc phải dừng. Chức năng hoàn nguyên đặc biệt hơn, khi gặp một số mã không hợp lệ, nó sẽ khôi phục tất cả các trạng thái trước đó. Có một sự khác biệt nữa giữa ba chức năng này, hoàn nguyên có thể quay trở lại, nếu hợp đồng không được thực hiện, gas không cần phải trả.
Như đã đề cập trước đó, bản thân hợp đồng có sự phân biệt giữa tài khoản bên ngoài và tài khoản hợp đồng, vì vậyVấn đề đầu tiên và phổ biến nhất của rủi ro hợp đồng thông minh là vấn đề kiểm soát truy cập.
Các chức năng kiểm soát truy cập phải được đặt sao cho chỉ những người dùng cụ thể mới có thể gọi tình huống như vậy. Tôi là người dùng hợp đồng có thể gọi một số chức năng khai thác, nhưng chúng ta có thể thấy trong quá trình viết mã, tin tặc có thể nâng cao quyền hạn của mình bằng cách viết hợp đồng độc hại hoặc viết hợp đồng tấn công, để mọi người có thể trở thành chủ sở hữu hợp đồng. chức năng nội dung hợp đồng, hay chức năng tài khoản hợp đồng, sẽ gây ra một loạt vấn đề sau này.
Đây là một ví dụ về lỗi trong hàm tạo của Chủ sở hữu.
Hàm tạo chỉ được gọi khi hợp đồng được triển khai và nó không được liên kết với chính chuỗi. Các chức năng thông thường có thể được gọi tùy ý và mã cũng được viết trong chuỗi khối. Mọi người nên hiểu một tình huống, cho dù đó là dữ liệu hay hợp đồng, một khi chúng ở trên chuỗi, tất cả chúng đều được phép xem, vì vậy sau khi các chức năng thông thường được viết trên chuỗi, chúng có thể được tham chiếu và nghiên cứu bởi bất kỳ nhóm nào, tin tặc ác ý hoặc mũ trắng.
Chúng ta hãy thực hiện một đoạn mã đơn giản. Đây là hàm tạo Chủ sở hữu. Trong hàm được xác định bởi hàm sau, bạn có thể thấy rằng cách viết hoa của hàm Chủ sở hữu đã thay đổi. Do lỗi viết hoa, cấu trúc như vậy được gây ra. Hàm trở thành một chức năng công cộng thông thường.
Tiếp theo, chúng tôi sắp xếp những gì chúng tôi nghĩ trong hợp đồng thông minhHiện tại có bốn lý do khiến rủi ro bảo mật tương đối lớn.
Trước hết, điều đầu tiên là hợp đồng thông minh thuộc lớp trên cùng của lớp giao thức trung gian trong toàn bộ kiến trúc chuỗi khối, trên cùng là cái gọi là ứng dụng phân tán của chúng tôi, vì vậy vị trí mà nó xuất hiện nằm ở phía trên ứng dụng lớp và bản thân ứng dụng lớp trên có vấn đề về bảo mật.Xác suất, theo các ứng dụng trước đó dựa trên hệ điều hành windows, xác suất xảy ra sự cố sẽ tương đối cao hơn.
Thứ hai là thời gian phát triển của ngôn ngữ rất ngắn và bản thân ngôn ngữ cũng không hoàn hảo. Cho đến nay, phiên bản ngôn ngữ này là khoảng 0.4.24. Nói chung, các phiên bản ngôn ngữ phát triển có thể được phát hành công khai đều ở V1.0 hoặc V1.1, v.v., do đó, việc phát triển phiên bản sẽ mất nhiều thời gian .
Vấn đề thứ ba thuộc về phía dự án trong nước. Kinh nghiệm hiện tại không đầy đủ và thời gian phát triển của ngôn ngữ này rất ngắn. Có rất ít ví dụ hoặc tài liệu tiêu chuẩn trình diễn dựa trên ngôn ngữ solidity, kể cả các bản phát hành chính thức. có ít kinh nghiệm hơn và không quen thuộc với các tính năng ngôn ngữ. Họ sẽ sử dụng phần mềm phát triển Internet truyền thống để phát triển chuỗi khối. Thiếu kinh nghiệm bảo mật dẫn đến các vấn đề.
Cuối cùng, hiện tại không có tiêu chuẩn hoàn hảo để xem xét mã hợp đồng thông minh, nếu không có tiêu chuẩn đó thì vẫn còn nhiều điều mọi người chưa rõ và sẽ nảy sinh nhiều vấn đề kỳ lạ hơn.
Phần tiếp theo là hiển thị số liệu thống kê của dự án nguồn mở DAPS và các vấn đề bảo mật của các ứng dụng phân tán đã được công bố. Có mười loại như lỗ hổng cuộc gọi đệ quy, kiểm soát truy cập, tràn số nguyên, cuộc gọi cơ bản không được kiểm tra, lỗi ngẫu nhiên, v.v.
Lý do cuối cùng là bản thân hợp đồng thông minh cũng là một ứng dụng cấp cao nhất và vẫn còn nhiều lĩnh vực chưa biết bao gồm cả các vấn đề bảo mật của chính nó. công nghệ, Ngoài ra còn có các ứng dụng tầng trên mạnh mẽ hơn và phục vụ nhiều ứng dụng xã hội hơn.
Tiếp theo, tôi muốn đưa ra một dự đoán hoặc kỳ vọng lớn về các kịch bản ứng dụng trong tương lai của các hợp đồng thông minh của chúng ta. Trước hết, bây giờ được kết hợp với các ứng dụng xã hội của chúng tôi, cho dù đó là chuỗi khối hay hợp đồng thông minh, chúng thực sự đã được tích hợp với một số thứ trong cuộc sống của chúng tôi.
Trước hết, thuộc tính tài chính đầu tiên, như tin tức trước đây về Ant Financial ở Hồng Kông, sử dụng công nghệ chuỗi khối để thực hiện chuyển tiền xuyên biên giới, bao gồm một số ứng dụng tài chính ban đầu như bảo hiểm, chứng khoán và đăng ký vốn, hiện đang dần được sử dụng. hình dạng.lên. Ứng dụng Internet of Things thứ hai, bây giờ là Internet of Things và các ứng dụng cho thuê xe hơi dựa trên blockchain đang dần xuất hiện. Chuỗi cung ứng thứ ba, khi Baidu giới thiệu nó vào buổi sáng, việc chỉnh sửa tài liệu và truy xuất nguồn gốc cho Bách khoa toàn thư Baidu cũng đang trong quá trình xây dựng hạ cánh. Lĩnh vực chia sẻ tiện ích ngang hàng trong lĩnh vực năng lượng, bao gồm cả lĩnh vực dịch vụ công, đã dần xuất hiện đối với các lĩnh vực như văn hóa, giáo dục, quyền sở hữu và chăm sóc y tế của chúng ta.
Hãy hiển thị một số hình ảnh bên dưới và trước tiên hãy giới thiệu sự khác biệt giữa chuyển tiền truyền thống và chuyển tiền blockchain. Trong chuyển tiền truyền thống, chuyển tiền trong nước là tốt và tốc độ rất nhanh, nhưng một khi liên quan đến chuyển tiền xuyên biên giới ra nước ngoài, hiệu quả rất thấp, liên quan đến một vấn đề, được gọi là ngân hàng trung gian và mạng thanh toán bù trừ, là một tổ chức tập trung để giải quyết vấn đề lòng tin dẫn đến hiệu quả giảm sút.
Nếu kịch bản này được đưa vào chuỗi khối và được triển khai bằng hợp đồng thông minh, thông qua cơ chế ủy thác phi tập trung của chính chuỗi, việc chuyển giao tài sản có thể được thực hiện bằng hợp đồng thông minh và việc thanh toán từ tài sản có thể được giải quyết bất cứ lúc nào, kể cả tài sản Khi Ant Financial thực hiện lần đầu tiên, mất khoảng vài chục giây để chuyển tiền từ Philippines đến Hồng Kông.
Ứng dụng thứ hai là trong tài chính chuỗi cung ứng truyền thống, chúng ta đã thấy một số tổ chức trong nước mạnh dạn sử dụng công nghệ chuỗi khối để truy tìm nguồn gốc hàng hóa, chẳng hạn như sự cố vắc xin bị lộ trước đó. Mặc dù công nghệ chuỗi khối không thể kiểm soát nhà sản xuất vắc-xin với tư cách là nguồn gốc, nhưng toàn bộ vắc-xin được vận chuyển trong chuỗi lạnh và dữ liệu trong từng trạm giám sát và từng bệnh viện có thể được tải lên để ngăn chặn hành vi ác ý của một số cá nhân ở giữa, dẫn đến mất dữ liệu trong quá trình truyền, mất mát và giả mạo.
Thứ ba là hậu cần truyền thống, hóa ra hậu cần truyền thống có nhiều điểm khó khăn và không tin tưởng lẫn nhau, trước đây khi tôi sử dụng Taobao, vấn đề lớn nhất là người mua trả tiền trước hay người bán giao hàng trước, sau đó, Alipay xuất hiện để giải quyết vấn đề thứ ba -Có vấn đề về niềm tin của đảng. Mua nhà và đưa tiền cho nền tảng trung gian. Nếu có một chuỗi khối có thể kết hợp với các kịch bản mua sắm và thanh toán trực tuyến, vấn đề mất lòng tin lẫn nhau có thể được giải quyết, người mua có thể gửi thông tin đặt hàng trên chuỗi ngay khi người mua nhận hàng. tiền trong tài khoản của người mua sẽ được gửi trực tiếp đến tài khoản của người bán thông qua hợp đồng thông minh, bao gồm rủi ro giả mạo đơn hàng và thông tin cá nhân, bao gồm cả việc mọi người hiện nay đều gặp phải thông tin chuyển phát nhanh làm rò rỉ quyền riêng tư cá nhân. Thông tin nhận dạng dữ liệu ẩn.
Đối với vắc-xin, bệnh viện và hệ thống y tế, thông tin về thuốc của mọi nhà máy sản xuất thuốc có thể được tải lên chuỗi và thuốc do nhà thuốc bán ra có thể được xác nhận trên chuỗi. Bệnh nhân cũng có thể liên kết với bác sĩ và thậm chí sử dụng APP để biết người này. Thông tin sức khỏe, bao gồm thông tin về thuốc trước đây và bệnh viện nào đã được kiểm tra, đều có thể được tìm thấy.
Tôi đã thực hiện một số tưởng tượng táo bạo trước đây, hãy xemĐiều gì sẽ là trạng thái của hợp đồng thông minh trong tương lai.
Đầu tiên là blockchain + ứng dụng, có thể liên quan đến nhiều ngành công nghiệp trong tương lai. Nền tảng blockchain của Baidu vừa giới thiệu một số tính năng vào sáng nay. Tính năng đầu tiên được kết hợp với bản quyền. Nhiều hình ảnh thương mại của chúng tôi sẽ được tải lên chuỗi, bao gồm Trong tương lai, có thể có bản quyền nhạc kỹ thuật số và bản quyền phim kỹ thuật số, bao gồm dịch vụ bưu chính, trò chơi, v.v., ngày càng gắn bó sâu sắc hơn với cuộc sống của chúng ta và ngày càng liên quan đến nhiều ngành hơn.
Thứ hai là ngày càng có nhiều ngành, mỗi ngành có những đặc thù riêng nên độ phức tạp của các ứng dụng trong ngành ngày càng cao, hiện tại mã của hợp đồng thông minh là 300 đến 500 dòng, trong tương lai, các ứng dụng hợp đồng thông minh sẽ , Một hợp đồng có thể có hàng nghìn, hàng chục nghìn dòng mã, logic mã càng phức tạp thì chắc chắn sẽ xảy ra nhiều lỗ hổng logic và các mối đe dọa bảo mật.
Kịch bản cuối cùng là vẫn còn tương đối ít nhà phát triển, và ngày càng nhiều nhà phát triển sẽ trưởng thành hơn trong tương lai, trong tương lai sẽ cung cấp nhiều ứng dụng hợp đồng thông minh, không chỉ cho nhà phát triển mà còn cho người bình thường. Nhân viên của chúng tôi có thể chỉ cần nhập một số dữ liệu, số lượng hoặc giá giống như sử dụng APP bây giờ, và sau đó họ có thể tạo hợp đồng thông minh một cách tự nhiên. mọi người. Vì vậy, họ đang tạo ra ngày càng nhiều vấn đề không thực tế theo cách họ đang sử dụng.
Chúng tôi biết rằng phòng thí nghiệm Chuangyu 404 cũng được kết hợp với phần giới thiệu trước đó. Trong tương lai, dự kiến sẽ có nhiều ứng dụng rộng hơn và phức tạp hơn, đồng thời sẽ có nhiều kịch bản hợp đồng thông minh hơn. Chúng tôi đã thiết kế và phát triển một xác minh hợp đồng thông minh thông minh hệ thống, có thể được kết hợp với Trong trường hợp kiểm toán thủ công, nó sẽ thông qua tự động hóa và thông minh hơn, thông qua tích hợp sâu với nhiều bên dự án chuỗi công khai thông qua AI, thông qua tích hợp sâu, các tiêu chuẩn hợp đồng thông minh được tạo bởi toàn bộ chuỗi và các ứng dụng được sử dụng bởi các hợp đồng thông minh được tạo ra trong tương lai, làm cho chúng ngày càng khỏe mạnh hơn, giảm các lỗ hổng bảo mật xuất hiện để các hợp đồng thông minh này có thể mang lại sự tiện lợi cho cuộc sống của chúng ta và giảm thiệt hại kinh tế.
Hai cái sau là ảnh chụp màn hình của phiên bản nội bộ hiện tại của chúng tôi. Chúng tôi đặt tên là Haotian Tower. Thông qua một sản phẩm hoặc một hệ thống như vậy, chúng tôi có thể cung cấp các dịch vụ và bảo đảm an toàn cho nhiều nhà phát triển và người dùng hợp đồng thông minh hơn.
Phần giới thiệu hôm nay tạm thời đến đây, hy vọng sau này sẽ có học sinh hoặc tổ chức dự án quan tâm đến kỹ thuật, nếu có hứng thú có thể liên hệ với chúng tôi, xin cảm ơn.
