Cointime

Download App
iOS & Android

Đối thoại với người tạo ra ngôn ngữ lập trình Move: Move và Sui sẽ thay đổi hệ sinh thái lập trình viên như thế nào?

Validated Project

Tác giả: Sui Foundation Biên dịch: Cointime.com 237

Gần đây, chúng tôi đã nói chuyện với Sam Blackshear, CTO của Mysten Labs và là người tạo ra ngôn ngữ lập trình Move, để thảo luận về lý do tại sao ông ấy lại phát triển ngôn ngữ lập trình hợp đồng thông minh mới, cách Sui kích hoạt khả năng mở rộng và lợi ích của việc phân cấp cho các nhà phát triển.

Đầu tiên, bạn có thể giới thiệu tổng quan về ngôn ngữ lập trình là gì không, phẩm chất nào là quan trọng nhất khi nhà phát triển chọn ngôn ngữ lập trình và điều gì đã thúc đẩy bạn phát triển ngôn ngữ của riêng mình?

Ngôn ngữ lập trình chỉ là một công cụ để tương tác thân thiện và an toàn với máy tính, và điều đặc biệt quan trọng là nó phải hiệu quả và rõ ràng đối với máy tính. Chúng ta không thể giao tiếp với máy tính bằng ngôn ngữ tự nhiên, bởi vì toàn bộ mục đích của ngôn ngữ tự nhiên là sự phong phú và sức mạnh biểu cảm của nó. Ví dụ, một sự thay đổi nhỏ trong ngữ điệu hoặc lựa chọn từ ngữ của bạn có thể làm cho câu hoặc đoạn văn của bạn hoàn toàn khác. Trong khi với ngôn ngữ lập trình, điều quan trọng nhất là bạn phải xác định chính xác ngữ nghĩa. Khi bạn viết một chương trình, bạn biết nó sẽ làm gì. Nếu bạn thực hiện một sửa đổi nhỏ đối với nó, bạn cũng biết thay đổi đó là gì. Và định nghĩa chính xác này được duy trì ở nhiều cấp độ như bạn có thể viết mã bằng ngôn ngữ nguồn và nó có nghĩa và sau đó nó được chuyển đổi thành một biểu diễn trung gian có nghĩa tương tự, cho đến tận silicon của bộ phận máy .

Tôi nghĩ ngôn ngữ lập trình khác với ngôn ngữ tự nhiên ở chỗ chúng có bản chất cụ thể theo miền hoặc nhiệm vụ cụ thể. Nếu không, sẽ chỉ có một ngôn ngữ lập trình có thể làm mọi thứ. Nhưng lý do tồn tại nhiều ngôn ngữ lập trình là vì bạn không thể giỏi tất cả mọi thứ. Họ thực sự đang cố gắng nhắm mục tiêu vào một lĩnh vực có vấn đề cụ thể và rất tập trung vào đó. Vì vậy, nếu bạn nhìn vào ngôn ngữ lập trình Rust mà chúng tôi sử dụng để viết chuỗi khối Sui và các hệ thống khác hoạt động trên Mysten, thì nó tập trung vào việc viết mã rất nhanh và hiệu quả, nhưng cũng an toàn. Nó cho phép bạn truy cập vào bộ nhớ cơ bản, cấu trúc luồng hoặc đồng thời, nhưng không để bạn tự làm rối tung bản thân như các ngôn ngữ C hoặc C++ cũ đã làm.

Câu chuyện của Move rất giống nhau. Khi tôi tạo ra nó, nó không phải để tạo ra một ngôn ngữ mới. Một câu hỏi khác mà bạn đặt ra là các nhà phát triển tìm kiếm điều gì trong một ngôn ngữ. Họ hỏi: "Liệu ngôn ngữ này có phù hợp với công việc tôi muốn làm không?" Nhưng tôi nghĩ điều quan trọng hơn là "Ngôn ngữ này có cộng đồng lớn không? Có nhiều thư viện không? Có nhiều lập trình viên sử dụng không? Có tài nguyên giáo dục tốt không? ?" Bởi vì điều này rất quan trọng nên rào cản gia nhập để tạo ra một ngôn ngữ mới phải rất cao và ngay cả khi bản thân ngôn ngữ đó tốt hơn, điểm mạnh của nó sẽ không thành vấn đề nếu không có sự hỗ trợ đó. Và đi từ con số 0 đến việc có một cộng đồng lớn và sôi động là rất khó.

Anh có thể chia sẻ một chút về quá trình phát triển của Move được không?

Nguồn gốc của Move có thể bắt nguồn từ dự án Libra của Facebook. Nhiệm vụ của tôi vào thời điểm đó không phải là tạo ra một ngôn ngữ mới, mà là "Libra cần phải có khả năng hợp đồng thông minh, vì vậy hãy tìm ra những gì chúng ta nên làm." Tôi đã xem xét các khả năng. Chúng tôi có thể sử dụng Solidity trên Máy ảo Ethereum không? Có nên sử dụng và sử dụng một ngôn ngữ chung thông thường như WASM hoặc JVM cho Libra không? Hay chúng ta nên tự tạo? Quyết định tạo ra thứ gì đó của riêng tôi dựa trên việc nghiên cứu các hợp đồng thông minh hiện có và hiểu những gì các lập trình viên đang cố gắng thực hiện, ngôn ngữ đã giúp họ ở đâu và nó đã làm họ thất bại ở đâu. Kết luận của tôi là trong nhiều trường hợp, nó làm họ thất vọng.

Điều này có thể được nhìn thấy từ hồ sơ bảo mật kém của Solidity, nhưng quan trọng hơn, các hợp đồng thông minh này là một loại chương trình rất độc đáo. Solidity không phải là một ngôn ngữ được xây dựng để đáp ứng nhu cầu của mọi người ngày nay. Tôi không có ý chỉ trích vì chúng là ngôn ngữ hợp đồng thông minh đầu tiên và chúng không biết mọi người muốn làm gì với nó. Khi bạn thấy những gì mọi người đang cố gắng làm với nó, tôi nghĩ khá rõ ràng rằng bạn cần một bộ trừu tượng và công cụ lập trình khác với ngôn ngữ mà Solidity cung cấp.

Do đó, các hợp đồng thông minh này rất đơn giản. Họ chủ yếu làm hai việc. Đầu tiên, chúng xác định hình dạng của một tài sản, bao gồm các quy tắc về thời điểm nó có thể được chuyển nhượng, những gì nó có thể làm và ai có thể đọc và viết nó. Thứ hai, họ kiểm tra các chính sách kiểm soát truy cập để xác định ai sở hữu tài sản, ai được phép sử dụng tài sản đó và ai được phép hành động trên tài sản đó. Mọi thứ đều xoay quanh tài sản và bạn muốn những tài sản đó có các thuộc tính giống như tài sản vật chất. Nếu tôi cho bạn một cái gì đó, thì bạn nên có nó, và tôi không thể có nó nữa.

Trên máy tính, mọi thứ chỉ là bit và byte, có thể được sao chép tự do. Bạn biết đấy, những khái niệm này không tồn tại trong máy tính. Vì vậy, bạn muốn có một ngôn ngữ cung cấp cho bạn những khái niệm trừu tượng tốt đẹp về quyền sở hữu và tính có thể thay thế được. Giống như trong thế giới thực, nhưng không buộc các lập trình viên phải phát minh lại bánh xe. Bạn muốn có những đảm bảo an ninh cơ bản này.

Đó là những gì Move làm và lý do cuối cùng chúng tôi quyết định tạo ra một ngôn ngữ mới. Những nhiệm vụ cơ bản này tồn tại trong lập trình hợp đồng thông minh, khó tái tạo bằng các ngôn ngữ khác, bao gồm cả các ngôn ngữ hợp đồng thông minh hiện có. Chúng tôi muốn thiết kế toàn bộ ngôn ngữ để cung cấp các yếu tố cơ bản này, cho phép các lập trình viên viết mã một cách an toàn và hiệu quả mà không cần phải phát minh lại bánh xe mỗi khi họ muốn viết một số mã.

Sui sử dụng một biến thể của Move gọi là Sui Move. Điều gì đã thúc đẩy những thay đổi này? Và tính năng nào của Sui Move đặc biệt phù hợp để xây dựng sản phẩm trên Web3?

Một số yếu tố đã góp phần vào những thay đổi này. Một trong những mục tiêu của dự án Libra ban đầu là xây dựng một mạng thanh toán tuân thủ quy định. Vì vậy, chúng tôi đã cố gắng thiết kế Move như một ngôn ngữ chung. Nhưng chúng tôi cũng có ý thức làm mọi thứ để đáp ứng những ràng buộc mà Libra yêu cầu. Một trong những vấn đề lớn là họ không muốn mọi người có thể di chuyển một số tài sản nhất định. Họ muốn mọi người tạo tài khoản một cách rõ ràng và đặt ra một số quy tắc khi tạo tài khoản, chẳng hạn như chủ sở hữu tài khoản phải vượt qua xác minh KYC hoặc có tính phí khi tạo tài khoản hoặc tài khoản chỉ có thể được tạo bởi một số ít người có quyền tạo tài khoản. Những hạn chế này tồn tại vì toàn bộ mục đích của Libra là muốn thực hiện các khoản thanh toán tuân thủ và hợp đồng thông minh tuân thủ. Nhưng trong không gian Web3 tổng quát hơn, điều ngược lại là đúng. Bạn không muốn có khái niệm tuân thủ dưới mui xe, đó là khái niệm về hợp đồng thông minh. Bạn muốn mọi thứ càng miễn phí càng tốt và hoàn toàn có thể gửi thứ gì đó đến bất kỳ địa chỉ nào. Sau đó, bạn không nên tạo tài khoản rõ ràng vì điều đó sẽ cản trở các trường hợp sử dụng khác nhau. Đây là một yếu tố quan trọng.

Một yếu tố khác là trong khi chúng tôi tập trung vào tài sản trong Move, dự án Libra không được xem xét tại thời điểm đó về cách đưa trọng tâm tài sản này vào chính các giao dịch. Vì vậy, viết mã trong Move cũng được, nhưng khi bạn đạt đến cấp độ giao dịch, bạn vẫn chỉ có API này, bạn cần nhập số, boolean, v.v. Nhận một tài sản và thực hiện một loạt thao tác. Hóa ra, hầu hết mã bạn đang chạy là sổ sách kế toán tồi tệ như loại bỏ thứ này, loại bỏ thứ kia, loại bỏ thứ khác, tôi đã có tất cả tài sản tôi muốn. Họ ở đó, và bây giờ tôi có thể bắt đầu làm điều gì đó có ý nghĩa. Và sau đó, bạn nói, được rồi, hãy đưa những tài sản đó trở lại tài khoản này, đưa chúng trở lại tài khoản đó, sắp xếp lại chúng.

Ở Sui, chúng tôi suy nghĩ rất nhiều về câu hỏi, nếu mọi chương trình đều bắt đầu và kết thúc theo cách này, liệu chúng tôi có thể trừu tượng hóa nó đi không? Vì vậy, logic xử lý giao dịch sẽ làm điều đó cho lập trình viên và từ quan điểm của lập trình viên, họ chỉ cần chuẩn bị sẵn tài sản họ cần và họ có thể bắt đầu thực hiện công việc thú vị ngay lập tức. Đây là cơ sở của mô hình dữ liệu lấy đối tượng làm trung tâm tồn tại trong Sui. Trong Move ban đầu, chúng tôi có mô hình dữ liệu dựa trên tài khoản, tài sản được lưu trữ dưới tài khoản và lập trình viên phải lấy chúng một cách rõ ràng. Trong khi ở Sui, chúng đã được trích xuất vào phần Di chuyển của giao dịch khi chạy qua Sui. Nó thân thiện hơn nhiều với các lập trình viên vì họ không phải thực hiện tất cả công việc ghi sổ tới lui này và đó cũng là cách chúng tôi có thể biết liệu chúng tôi có thể thực hiện một giao dịch song song với một giao dịch khác hay không, mở rộng quy mô Sui theo chiều ngang mà không thực sự thực hiện giao dịch và các mẹo để thực hiện các hoạt động khác hiệu quả hơn.

Chúng tôi cũng đã thực hiện một vài điều thực sự thú vị khác như khối giao dịch có thể lập trình sử dụng mô hình dữ liệu dựa trên đối tượng. Đây là một chủ đề kỹ thuật hơn một chút và tôi rất sẵn lòng thử và giải thích nó. Nhưng hai yếu tố đó là động lực chính của sự khác biệt so với Move ban đầu.

Nếu bạn muốn, tôi có thể chia sẻ thêm thông tin về các khối giao dịch có thể lập trình và khả năng của chúng.

Chúng tôi cũng đã thực hiện một vài điều thực sự thú vị khác như khối giao dịch có thể lập trình sử dụng mô hình dữ liệu dựa trên đối tượng. Đây là một chủ đề kỹ thuật hơn một chút và tôi rất sẵn lòng thử và giải thích nó. Nhưng hai yếu tố đó là động lực chính của sự khác biệt so với Move ban đầu.

Nếu bạn muốn, tôi có thể chia sẻ thêm thông tin về các khối giao dịch có thể lập trình và khả năng của chúng.

Một phép loại suy mà tôi muốn sử dụng ở đây là các chuỗi khối khác giống như một khu ẩm thực trong trung tâm thương mại. Bạn muốn ăn kem, bạn đến quầy kem, rút ​​thẻ tín dụng và trả tiền. Nhưng nếu bạn cũng quyết định ăn một chiếc bánh mì kẹp thịt, thì bạn đến quầy bán bánh mì kẹp thịt và trả tiền. Tôi không phải là người háu ăn, nhưng nếu tôi muốn ăn tám thứ, tôi phải thực hiện tám giao dịch riêng biệt. Trong khi Sui giống như một bữa tiệc buffet không giới hạn. Mỗi giao dịch không chỉ là một mặt hàng. Khi bạn đã trả tiền cho bữa tiệc buffet, bạn có thể làm rất nhiều thứ mà không phải trả thêm phí. Bạn có thể ăn kem, bạn có thể ăn bánh mì kẹp thịt, bạn có thể ăn tất cả cùng nhau.

Để làm cho khái niệm này cụ thể hơn một chút, trong trường hợp đơn giản là gửi 100 giao dịch để đúc 100 NFT, bạn có thể gửi một giao dịch đến đúc 100 NFT. Chi phí như vậy gần tương đương với chi phí đúc một NFT. Bạn cũng có thể có các giao dịch được đóng gói không đồng nhất, chẳng hạn như giao dịch đầu tiên trong một khối lấy nhân vật Mario từ ví nhiều chữ ký của bạn và giao dịch thứ hai yêu cầu Mario và cho phép bạn chơi trò chơi. Nếu bạn thắng trò chơi và nhận được một chiếc cúp, có thể lần giao dịch thứ ba sẽ đưa chiếc cúp vào tủ đựng cúp mà bạn chia sẻ với bạn bè. Một trong những điều thú vị về điều này là các khối giao dịch có thể lập trình cho phép các lập trình viên viết mã theo cách mà trò chơi không phải quan tâm đến ví nhiều chữ ký hoặc cách Mario được lưu trữ. Nó cũng không cần biết bất cứ điều gì về tủ danh hiệu của bạn hoặc cách nó được thực hiện.

Các khối giao dịch có thể lập trình bao gồm các giao dịch với các đối tượng đầu vào và đầu ra. Nếu một giao dịch cần một đối tượng đầu vào, nó có thể lấy thứ đó mà không cần quan tâm nó đến từ đâu và chuyển đầu ra của nó đến nơi cần thiết mà không cần quan tâm nó sẽ đi đâu. Trong các chuỗi khối khác, khả năng ghép nối cao hơn, vì vậy các trò chơi phải tích hợp với ví nhiều chữ ký và tủ khóa danh hiệu hoặc tất cả chúng phải triển khai một số giao diện chung và có khả năng ghép nối cao hơn. Sui làm cho những gì tôi gọi là ngẫu hứng dễ dàng hơn nhiều. Giống như, nếu các quy trình phù hợp, chúng tôi có thể thực hiện mọi thứ trong một giao dịch.

Vì vậy, lợi ích của các khối giao dịch có thể lập trình cho người dùng là gì?

Từ góc độ người dùng, tôi nghĩ những lợi ích như sau: Phí gas thấp hơn vì bạn có thể gói tất cả các hoạt động vào một giao dịch thay vì nhiều giao dịch riêng lẻ. Ngoài ra, số lượng phê duyệt đã giảm. Nếu bạn sử dụng một hệ thống yêu cầu phê duyệt giao dịch, bạn chỉ cần thực hiện một lần và sau đó thực hiện tất cả trong một lần. Ngoài ra, tôi nghĩ rằng có một điểm khác về tính nguyên tử. Nếu bạn muốn thực hiện ba việc khác nhau và muốn việc thứ ba chỉ thành công nếu hai việc đầu tiên thành công, thì điều đó sẽ không hiệu quả nếu những việc đó phải là các giao dịch riêng biệt. Nhưng nếu bạn có thể đưa tất cả chúng vào một giao dịch thì không có vấn đề gì.

Tôi đã nghe bạn nói với những người khác về tầm quan trọng của trải nghiệm phát triển trên Sui đối với các lập trình viên. Bạn có bất kỳ giai thoại nào để chia sẻ về việc các lập trình viên Web3 có kinh nghiệm và người mới bắt đầu với Sui Move không?

Đối với những nhà phát triển sử dụng các ngôn ngữ lập trình Web3 khác, họ cảm thấy hiệu quả hơn trong Move và Sui Move. Đồng thời, phương pháp này cũng an toàn hơn. Tôi đã xem một podcast về Bucket Protocol và họ đang xây dựng một dự án DeFi thực sự thú vị trên Sui. Khi trình diễn kiến ​​trúc hệ thống, họ minh họa cách các thành phần khác nhau hoạt động cùng nhau. Họ nói rằng nếu viết dự án này trên Solidity thì có thể mất 8 tháng, nhưng với Sui Move, họ chỉ mất 2 tháng và rất tin tưởng vào tính bảo mật của nó. Mô hình lập trình của Sui Move rất gần với ý tưởng của họ về cách các mục nên được sáng tác. Trong thế giới Solidity, kết nối này gián tiếp hơn nhiều.

Đây chỉ là một ví dụ và chúng tôi đã nghe rất nhiều trường hợp tương tự khi mọi người nói rằng họ tiến bộ nhanh hơn trong ngôn ngữ và cảm thấy tự tin hơn về kết quả khi họ hoàn thành. Điều này làm cho tôi rất hạnh phúc. Nhưng theo một cách nào đó, điều đó không đáng ngạc nhiên. Chúng tôi đã xem xét Solidity và thấy có vấn đề với nó. Thiết kế của chúng tôi rõ ràng xoay quanh cách làm cho nó an toàn hơn và nhanh hơn. Chúng tôi nghĩ về những vấn đề mà những người sử dụng ngôn ngữ đang cố gắng giải quyết và cách thiết kế một ngôn ngữ đáp ứng nhu cầu của họ, chứ không chỉ những gì đang tồn tại. Ngôn ngữ được thiết kế cho những vấn đề mà mọi người gặp phải, vì vậy khi họ chuyển sang ngôn ngữ này, họ thực sự có thể cảm nhận được lợi ích của nó.

Họ nói "người đi trước thắng", nhưng tôi đoán trong trường hợp này có thể nói "người đi sau thắng".

Vâng, đúng vậy.

Bạn đã nói về điều này khi đề cập đến Sui Move và bản chất hướng đối tượng chung của Sui. Nhưng bạn có thể trình bày rõ ràng hơn về mối liên hệ giữa thiết kế của Sui Move và khả năng của Sui để đạt được việc áp dụng rộng rãi Web3, đặc biệt là về độ trễ thấp, chi phí thấp và khả năng mở rộng không?

Bạn đã nói về điều này khi đề cập đến Sui Move và bản chất hướng đối tượng chung của Sui. Nhưng bạn có thể trình bày rõ ràng hơn về mối liên hệ giữa thiết kế của Sui Move và khả năng của Sui để đạt được việc áp dụng rộng rãi Web3, đặc biệt là về độ trễ thấp, chi phí thấp và khả năng mở rộng không?

Chúng tôi rất thận trọng khi đóng góp cho Sui và tôi nghĩ đây là vấn đề mà các nền tảng khác cũng gặp phải. Nếu bạn có dung lượng hạn chế, cho dù đó là 15 TPS (giao dịch mỗi giây) trên Ethereum hay 100 hay 1.000, nếu đó là một con số cố định, thì khi nền tảng trở nên quá thành công, nó sẽ đạt đến giới hạn dung lượng. Tại thời điểm này, trải nghiệm cho mọi người sử dụng nền tảng đã xuống cấp. Nếu chỉ có 1.000 vị trí, bạn phải chọn 1.000 vị trí quan trọng nhất, có thể thông qua đấu giá xăng hoặc một cái gì đó. Giá tăng đối với mọi người hoặc độ trễ tăng đối với mọi người hoặc cả hai. Rất nhiều trường hợp sử dụng bị loại trừ vì chỉ người trả phí cao nhất mới thắng và những người khác phải đi nơi khác hoặc đợi lâu hơn. Điều này không lý tưởng.

Mục tiêu của Sui là khả năng mở rộng theo chiều ngang. Nếu bạn phân bổ một lượng phần cứng nhất định, bạn có thể đạt được một lượng thông lượng nhất định. Nếu cần nhiều thông lượng hơn, trình xác thực có thể giới thiệu thêm phần cứng. Không có giới hạn trên cho điều này. Đây là cách mọi dịch vụ Web2 hoạt động. Tất nhiên, bạn phải giải quyết một số hạn chế và vấn đề kỹ thuật, và đó không phải là điều chắc chắn hoặc dễ thực hiện, nhưng khi thiết kế các dịch vụ web có thể mở rộng, mọi người đều muốn đạt được khả năng mở rộng theo chiều ngang.

Nếu Sui có thêm nhiều khách hàng hoặc người dùng, mục tiêu là để Sui tiếp tục phát triển và mọi thứ sẽ hoạt động. Và tất nhiên, giữ độ trễ rất thấp. Bạn không muốn phải hy sinh độ trễ để đạt được thông lượng cao hơn.

Trong hệ thống Libra, chúng tôi không tính đến các thuộc tính này. Đó là một hệ thống thanh toán quy mô nhỏ, có thể vài trăm nhà điều hành thanh toán mỗi ngày, có thể hàng nghìn hoặc hàng triệu khoản thanh toán, nhưng không nhiều hơn thế. Do đó, chúng tôi đã áp dụng kiến ​​trúc một khung vì nó đơn giản hơn và đủ để sử dụng. Nhưng đối với Sui, chúng tôi biết hệ thống Libra sẽ không hoạt động vì nó thiếu các tính năng mở rộng theo chiều ngang. Vì vậy, chúng tôi nghĩ, làm thế nào để chúng tôi thiết kế một hệ thống từ đầu có thể đạt được điều này. Đây là nơi mô hình dữ liệu hướng đối tượng xuất hiện. Về cơ bản, chúng tôi đã loại bỏ mô hình dữ liệu dựa trên tài khoản cũ vì đó là điều khiến khả năng mở rộng theo chiều ngang trở nên khó đạt được. Trong khi nếu bạn tổ chức mọi thứ thành các đối tượng, thì trạng thái chung của bạn chỉ là một bản đồ lớn từ ID đối tượng đến các đối tượng. Đó là kho lưu trữ khóa-giá trị và chúng tôi biết cách mở rộng quy mô kho lưu trữ khóa-giá trị. Đây là một câu hỏi kỹ thuật đơn giản.

Sau đó, câu hỏi trở thành, làm cách nào để chúng tôi thiết kế cấu trúc giao dịch có thể tìm nạp dữ liệu từ kho lưu trữ khóa-giá trị và cập nhật dữ liệu đó? Làm cách nào để chúng tôi phân đoạn các cửa hàng khóa-giá trị? Làm cách nào để chúng tôi quyết định giao dịch nào sẽ được xử lý? Vì vậy, về cơ bản đó là nó. Giống như, đây là thứ mà chúng tôi biết cách mở rộng quy mô. Làm cách nào để chúng tôi biến hệ thống đó thành một hệ thống có các thuộc tính của chuỗi khối, thực hiện các lần đọc được xác thực, sử dụng Move, v.v. Và sau đó, làm thế nào để chúng ta kết hợp tất cả lại với nhau một cách suôn sẻ nhất có thể.

Ở cấp độ cao, làm thế nào để bạn nói lời hứa về công nghệ phi tập trung với những người hoài nghi về các nhà phát triển Web2?

Tôi nghĩ rằng blockchain và tiền điện tử về cơ bản là một công nghệ loại bỏ ma sát. Có một số rào cản khiến chúng tôi rất khó thực hiện các giao dịch tài chính, xây dựng ứng dụng hoặc thiết lập thông tin vì thông tin không thể vượt qua các rào cản này hoặc nếu vượt qua các rào cản này thì sẽ cần có sự trợ giúp của một số bên thứ ba và họ sẽ tính phí cho nó Một số khoản phí.

Một ví dụ kinh điển là nếu bạn mua một căn nhà, có người mua và người bán, nhưng khi thanh toán thực sự được thực hiện, phải có một bên thứ ba là đại lý bảo lãnh, người không làm gì ngoài việc ngồi đó và giữ tiền vì người mua và người bán. Không hoàn toàn tin tưởng nhau. Đây là một thực tế của cuộc sống. Chúng ta sẽ đối phó với điều này. Tuy nhiên, nếu đại lý xác nhận có thể là mã mà cả hai bên đều có thể xem được hoặc đã được bên thứ ba nào đó kiểm tra, thì đại lý đó có thể thực hiện công việc miễn phí hoặc ít hơn nhiều. Mục đích của blockchain không phải là loại bỏ các đảm bảo về bất động sản. Đó chỉ là một trường hợp ứng dụng. Nhưng đây là một nguyên tắc chung.

Nếu thay vì làm cho Ứng dụng A và Ứng dụng B không thể tương tác với nhau, thì chúng được xây dựng trên cùng một nền tảng cơ bản, vì vậy bạn có thể chuyển mọi thứ từ ứng dụng này sang ứng dụng khác, cho dù đó là mục trong ứng dụng, dữ liệu, quảng cáo chéo hoặc một số chức năng của bên thứ ba được xây dựng trên cả hai. Hoặc nghĩ về internet, nơi các trang web chia sẻ dữ liệu qua cookie, nhưng những cookie đó chỉ là siêu dữ liệu chỉ đọc. Điều gì sẽ xảy ra nếu những cookie này có thể trở thành tiền tệ? Hoặc họ có thể là đối tượng chi tiêu? Điều gì sẽ xảy ra nếu đây có thể là một chương trình khách hàng thân thiết và phiếu giảm giá? Mọi thứ đều có chức năng này được tích hợp sẵn. Nó rất trừu tượng, nhưng tiềm năng nằm ở đó. Thông thường, những người đang xây dựng nghĩ rằng đây là những siêu năng lực mới mà tôi có thể sử dụng để xây dựng thứ gì đó hấp dẫn hơn.

Đối với người dùng cuối, ngay cả khi họ không phải là chuyên gia kỹ thuật, bạn có cảm thấy do dự khi họ nghĩ về việc tin tưởng mã, ngay cả khi tùy chọn khác là một thực thể trung tâm lớn mờ đục?

Đối với người dùng cuối, ngay cả khi họ không phải là chuyên gia kỹ thuật, bạn có cảm thấy do dự khi họ nghĩ về việc tin tưởng mã, ngay cả khi tùy chọn khác là một thực thể trung tâm lớn mờ đục?

Tôi không nghĩ vậy. Bởi vì chúng ta làm điều này mỗi ngày, phải không? Khi tôi đăng nhập vào email của mình, tôi không lo lắng rằng mã sẽ làm mất thư của tôi hoặc khi tôi gửi nó sẽ không thực sự gửi. Nếu điều đó xảy ra, thì có lẽ tôi sẽ ngừng sử dụng email hoặc sử dụng một nhà cung cấp khác. Tôi nghĩ nó cũng rất giống ở đây, tất nhiên chỉ có nhiều người thực sự có thể đọc một cái gì đó và kiểm tra xem nó hoạt động như thế nào. Và bạn biết đấy, nếu tôi muốn kiểm tra email, tôi không thể vì mã không có ở đó. Vì vậy, minh bạch là một khía cạnh quan trọng của điều đó. Trên thực tế, không phải ai cũng làm được, nhưng một số có thể kiểm tra tại chỗ. Ngoài ra, có tái sử dụng và bất biến. Đó là chìa khóa ở đây. Khi tôi đăng nhập vào email của mình, tôi không biết liệu mã có thay đổi kể từ lần cuối cùng tôi làm điều gì đó hay không. Không có sự minh bạch về điều này. Ngay cả trong Web3, bạn có thể lấy phần thông tin này, bạn không thể lấy nó ở bất kỳ nơi nào khác.

Bạn có kỳ vọng gì cho sự phát triển của Sui Move trong tương lai?

Rất nhiều tính năng mà chúng tôi đang tập trung vào ngay bây giờ dựa trên kinh nghiệm của chúng tôi với những người phát hành lô gói Sui Move ban đầu của họ, sau đó xem cách họ muốn phát triển các gói đó và điều gì dễ phát triển và điều gì khó. Sui Move là ngôn ngữ tuyệt vời cho các lần phát hành gói lần đầu, nhưng nếu tôi muốn thay đổi loại, thêm một số trường, thêm một số chức năng và thực hiện theo cách phối hợp mà không vi phạm nguyên tắc sử dụng gói ban đầu Người dùng tin tưởng, sau đó trở thành một vấn đề rất thách thức. Phần lớn công việc chúng tôi làm là xem xét vấn đề này và tìm ra những tính năng ở cấp độ ngôn ngữ nào mà chúng tôi có thể thêm vào để mang lại cho các lập trình viên sự linh hoạt trong việc mở rộng mã trong khi vẫn duy trì niềm tin ở những người sử dụng mã gốc.

Chúng tôi đang nghiên cứu rất nhiều chức năng liên quan đến vấn đề này, đặc biệt là enums. Chúng tôi cũng đang nghiên cứu những thứ khác liên quan đến trải nghiệm kết nối Di chuyển với mã giao diện người dùng. Chúng tôi muốn nói đùa rằng 5% của một ứng dụng Sui điển hình là mã Move và 95% là mã giao diện người dùng. Vì vậy, chúng tôi quan tâm rất nhiều về 95% đó. Chúng tôi dành nhiều thời gian để nói về Move, nhưng chúng tôi cũng quan tâm nhiều đến việc làm cho phần khác hiệu quả hơn và giúp kết nối dễ dàng hơn. Nói chung, làm thế nào chúng ta có thể làm cho ứng dụng bao gồm nhiều Moves hơn để cải thiện tính bảo mật? Đồng thời, làm cách nào để chúng tôi làm cho 95% mã đó dễ tiếp cận hơn đối với cả lập trình viên Move và những người không lập trình Move.

Các bình luận

Tất cả bình luận

Recommended for you

  • Tuần trước, BitMine đã tăng lượng nắm giữ thêm khoảng 138.400 ETH, nâng tổng số nắm giữ lên hơn 3,86 triệu ETH.

    Tính đến 8 giờ tối theo giờ miền Đông ngày 7 tháng 12, số tiền điện tử mà BitMine nắm giữ bao gồm: 3.864.951 ETH (tăng 138.452 ETH so với tuần trước), trị giá khoảng 13,2 tỷ đô la theo giá hiện tại; 193 BTC; 36 triệu đô la cổ phiếu của Eightco Holdings (NASDAQ: ORBS); và 1 tỷ đô la tiền mặt không được thế chấp.

  • Robinhood có kế hoạch ra mắt hợp đồng altcoin và giảm phí.

    Hôm thứ Hai, Robinhood đã công bố kế hoạch thu hút thêm nhiều nhà giao dịch tiền điện tử cấp cao và khối lượng giao dịch lớn tại Hoa Kỳ và EU bằng cách ra mắt các tính năng mới, bao gồm giảm phí và tăng đòn bẩy cho hợp đồng tương lai altcoin. Trong một tuyên bố, công ty cho biết họ đã mở rộng các mức phí khả dụng tại Hoa Kỳ từ ba lên bảy, "cung cấp mức phí thấp tới 0,03% cho người dùng khối lượng giao dịch lớn". Tại EU, người dùng muốn giao dịch hợp đồng tương lai vĩnh viễn giờ đây có thể giao dịch các cặp giao dịch mới cho XRP, DOGE, SOL và SUI, với những khách hàng đủ điều kiện có thể giao dịch với đòn bẩy lên đến 7 lần.

  • Hassett: Trump sẽ công bố nhiều tin tức kinh tế tích cực.

    Giám đốc Hội đồng Kinh tế Quốc gia Nhà Trắng Hassett: Trump sẽ công bố nhiều tin tức kinh tế tích cực.

  • Cố vấn kinh tế Nhà Trắng Hassett: Lãi suất nên tiếp tục được hạ xuống.

    Cố vấn kinh tế Nhà Trắng Hassett đã bình luận về Cục Dự trữ Liên bang, cho rằng lãi suất nên tiếp tục được hạ xuống. Về mức lãi suất nên ở mức thấp nào, ông cho biết cần theo dõi chặt chẽ dữ liệu. Ông cũng cho rằng việc công bố cam kết lãi suất sáu tháng vào lúc này là vô trách nhiệm.

  • Tether đúc 1 tỷ USDT trên mạng lưới Tron.

    Theo dữ liệu theo dõi của Whale Alert, vào lúc 21:05:18 giờ Bắc Kinh, Tether Treasury đã đúc 1 tỷ USDT trên mạng lưới Tron.

  • Paradigm đầu tư 13,5 triệu đô la vào công ty khởi nghiệp stablecoin Crown của Brazil.

    Công ty đầu tư mạo hiểm tiền điện tử Paradigm đã công bố khoản đầu tư 13,5 triệu đô la vào công ty khởi nghiệp stablecoin Crown của Brazil, định giá công ty ở mức 900 triệu đô la. Đồng stablecoin BRLV của Crown, được neo giá theo đồng real Brazil và được bảo đảm hoàn toàn bằng trái phiếu chính phủ Brazil, đã trở thành đồng stablecoin thị trường mới nổi lớn nhất thế giới. Không giống như Tether, vốn có lãi suất bằng 0, BRLV cung cấp cho khách hàng tổ chức mức lợi suất lên tới 15% lãi suất chuẩn của Brazil, và lượng đăng ký hiện tại đã vượt quá 360 triệu real (khoảng 66 triệu đô la).

  • Binance: Người dùng có ít nhất 250 điểm có thể yêu cầu airdrop 2000-STABLE.

    Theo nguồn tin chính thức, người dùng sở hữu ít nhất 250 điểm Binance Alpha có thể yêu cầu airdrop 2.000 token STABLE trên trang sự kiện Alpha. Nếu sự kiện tiếp tục, ngưỡng điểm sẽ tự động giảm 10 điểm sau mỗi năm phút. Xin lưu ý rằng việc yêu cầu airdrop sẽ tiêu tốn 15 điểm Binance Alpha. Người dùng phải xác nhận yêu cầu trong vòng 24 giờ trên trang sự kiện Alpha; nếu không, họ sẽ bị coi là đã hủy yêu cầu airdrop.

  • Tuần trước, Strategy đã mua 10.624 bitcoin với giá 962,7 triệu đô la.

    Strategy đã mua 10.624 Bitcoin từ ngày 1 tháng 12 đến ngày 7 tháng 12, với tổng giá trị khoảng 962,7 triệu đô la, tương đương khoảng 90.615 đô la cho mỗi Bitcoin. Lợi nhuận từ đầu năm đến nay của Bitcoin vào năm 2025 là 24,7%. Tính đến ngày 7 tháng 12 năm 2025, Strategy nắm giữ 660.624 Bitcoin, với tổng giá trị khoảng 49,35 tỷ đô la, tương đương khoảng 74.696 đô la cho mỗi Bitcoin.

  • Ủy ban Chứng khoán và Giao dịch Hoa Kỳ (SEC) đã kết thúc cuộc điều tra kéo dài hai năm về Ondo.

    Ủy ban Chứng khoán và Giao dịch Hoa Kỳ (SEC) đã kết thúc cuộc điều tra kéo dài hai năm đối với Ondo Finance, mở đường cho sự mở rộng của công ty này trong không gian tài sản mã hóa tại Hoa Kỳ.

  • CoreWeave có kế hoạch phát hành 2 tỷ đô la trái phiếu chuyển đổi; giá cổ phiếu của công ty này đã giảm 7% trong phiên giao dịch trước giờ mở cửa.

    Cổ phiếu của công ty điện toán AI CoreWeave đã giảm tới 7% trong phiên giao dịch trước giờ mở cửa sau khi công ty công bố kế hoạch huy động 2 tỷ đô la thông qua chào bán trái phiếu chuyển đổi. Công ty cho biết sẽ phát hành trái phiếu chuyển đổi đáo hạn vào năm 2031 thông qua chào bán riêng lẻ, kèm theo quyền chọn bán thêm 300 triệu đô la. Mặc dù động thái này nhằm củng cố cơ cấu vốn, nhưng những lo ngại của thị trường về khả năng pha loãng cổ phiếu trong tương lai đã gây áp lực lên giá cổ phiếu. CoreWeave đã hoàn thành IPO vào tháng 3 và được coi là một cổ phiếu nóng đang đặt cược vào việc chi tiêu mạnh mẽ cho cơ sở hạ tầng AI. Công ty có mối quan hệ chặt chẽ với Nvidia và cung cấp dịch vụ điện toán cho các gã khổng lồ công nghệ như OpenAI và Microsoft.