Trong bài viết này, chúng tôi nói chuyện với Kostas Chalkias, đồng sáng lập và trưởng bộ phận mật mã tại Mysten Labs, về cách đổi mới mật mã nằm ở trung tâm thiết kế của Sui và tại sao các tính năng sắp tới lại thú vị như vậy?
**Hỏi: Bạn có thể giải thích ngắn gọn về vai trò của người viết mật mã trong việc xây dựng chuỗi khối không? **
Trả lời: Tôi thực sự đã làm việc với một trong những nhà phát triển đầu tiên của Satoshi Nakamoto (Mike Hearn), tôi có bằng tiến sĩ về mật mã và trước kỷ nguyên blockchain, trọng tâm của tôi chủ yếu là ranh giới học thuật. Vì sự tham gia này, tôi có thể nói chính xác với bạn rằng tiền điện tử đóng một vai trò đối với các công ty cơ sở hạ tầng chuỗi khối, thường được chia thành ba vai trò chính.
Đầu tiên là nghiên cứu, bạn phải sáng tạo trong lĩnh vực mật mã vì nó thường là toán học rất nâng cao, một phần trong đó là tìm ra các thuật toán mới thú vị, nhưng cũng nghiên cứu về các thuật toán phá vỡ. Vai trò trước đây của tôi tại một công ty blockchain liên quan đến việc xem xét việc triển khai mật mã và là một hacker mũ trắng đang tìm kiếm các cuộc tấn công chống lại chúng. Những gì bạn làm là "Bạn là một nhà toán học, bạn là một nhà mật mã. Hãy xem cách triển khai thuật toán chữ ký số hoặc đèn hiệu ngẫu nhiên hoặc bất cứ thứ gì cụ thể này. Kiểm tra xem mọi thứ có hoạt động không." Đó là lĩnh vực nghiên cứu.
Thứ hai là triển khai, khái niệm về mật mã ứng dụng. Các nhà mật mã học ứng dụng nhận được yêu cầu từ các nhóm sản phẩm -- "này, chúng tôi muốn một sơ đồ chữ ký mới nhanh hơn hoặc chúng tôi muốn tạo một tính năng bảo mật mới cho khách hàng hoặc khách hàng của chúng tôi hoặc cộng đồng." Và sau đó, một nhà mật mã học ứng dụng không chỉ thiết kế một thứ gì đó, nghiên cứu nó, nhưng cũng thực hiện nó. Đôi khi, một nhà mật mã học ứng dụng cũng phải là một nhà phát triển phần mềm rất giỏi, yêu cầu những tối ưu hóa mới trong mã hóa.
Cuối cùng là tạo ra các sản phẩm mới và đưa ra những ý tưởng sáng tạo của riêng họ dựa trên những nguyên tắc cơ bản mà các nhà mật mã hiểu được.
**Tóm lại, chúng tôi cân bằng giữa nghiên cứu, triển khai và sản phẩm, đó là vai trò của một nhà mật mã blockchain điển hình. **
**Hỏi: Có thường là cùng một người làm được cả ba việc không? Hay chia nhóm để thực hiện? **
Trả lời: Đối với Sui, vì chúng tôi đã giới thiệu rất nhiều cải tiến nên chúng tôi cần nhiều người làm việc trên nhiều quy trình công việc. Tôi là nhà mật mã học hàng đầu tại Mysten Labs và là một trong những người sáng lập Sui, vì vậy tôi tham gia vào hầu hết công việc. Tuy nhiên, bạn không thể làm mọi thứ một mình và tôi vẫn đang học hỏi từ nhóm của mình.
Chúng tôi không chỉ sử dụng một ngôn ngữ lập trình. Ví dụ: ngôn ngữ Rust được sử dụng để chứng minh khái niệm, nhưng sau đó chúng tôi nhận ra rằng hầu hết mọi người trên web đang sử dụng JavaScript hoặc TypeScript và các nhà mật mã học không thể tự viết mọi thứ. Nhưng bạn không thể ủy quyền cho một chuyên gia tổng quát như kỹ sư phần mềm, vì một số tối ưu hóa yêu cầu kiến thức về toán học nâng cao và nguyên hàm mật mã hoặc bạn có thể cần phải tương tác với một số thư viện mà bạn không quen thuộc, vì vậy bạn cần người khác tiếp quản công việc.
Nhóm nghiên cứu của chúng tôi có tổng cộng khoảng 10 người và làm việc để đổi mới và triển khai hàng ngày. Chúng tôi có những bộ óc "thông minh" này và đôi khi tôi là người đưa ra ý tưởng và đôi khi tôi làm theo chỉ đạo của các chuyên gia tiền điện tử khác. Nhóm của chúng tôi có thể giúp triển khai hoặc cung cấp tài nguyên hoặc cung cấp các mẹo về cách mở rộng và áp dụng một ý tưởng hay.
Hai mắt thôi là chưa đủ, bởi vì mật mã là một phần cực kỳ quan trọng của cơ sở hạ tầng chuỗi khối, nếu xảy ra sự cố, đó có thể là GAME OVER, vì vậy cần có nhiều mắt hơn. Thêm vào đó, rất nhiều nhà đổi mới là cần thiết.
**Hỏi: Những phát triển và tác động chính của nghiên cứu bên ngoài được áp dụng trong thiết kế của Sui là gì? Những đổi mới quan trọng trong đối thoại nội bộ là gì? **
Trả lời: Về mặt mật mã, các tín hiệu bên ngoài đã ảnh hưởng đến chúng tôi là sự phát triển của các công nghệ như bằng chứng không có kiến thức và các kỹ thuật bảo vệ quyền riêng tư chung được đề xuất trong tài liệu. Không chỉ blockchain đang thực hiện công việc mã hóa, mà còn có các tổ chức nghiên cứu và khoa đại học trên khắp thế giới đang thực hiện công việc lý thuyết. Cá nhân tôi nghĩ Mysten Labs rất giỏi trong việc tìm ra các lý thuyết mới trong các lĩnh vực chưa từng được thực hiện trước đây, một số giả định này có thể không chính xác, nhưng chúng tôi kết hợp chúng với công nghệ hiện có của mình và cuối cùng thúc đẩy chúng tôi tạo ra một sản phẩm mới lạ.
**Sui có một tính năng mới, Đăng nhập bằng không kiến thức (Đăng nhập ZK), ra đời như thế này. Một số công nghệ đã được đề xuất từ bên ngoài, nhưng không đủ để cung cấp cơ chế xác thực liền mạch cho chuỗi khối L1, chúng tôi đã phát minh ra chức năng mới trên nó, đây là một nghiên cứu ứng dụng nội bộ và cuối cùng, chúng tôi đã đưa ra một kế hoạch giải pháp hoàn chỉnh. **
Chúng tôi không phải là một trường đại học, chúng tôi không chỉ là lý thuyết, chúng tôi cần triển khai thứ gì đó sẵn sàng sản xuất, vì vậy chúng tôi nhận phản hồi từ các cuộc thảo luận nội bộ và bên ngoài. Rất nhiều lần chúng tôi đọc các bài báo khoa học, chúng tôi tham dự các sự kiện, chúng tôi là người đánh giá và trình bày, chúng tôi nhận được phản hồi. Rõ ràng, chúng tôi chuyển đổi tất cả những điều này để triển khai trên Sui.
Tôi nhận ra rằng một số mã của chúng tôi sau đó được sử dụng bởi những người khác, các công ty khác hoặc thậm chí những người bên ngoài ngành của chúng tôi và cuối cùng bạn sẽ thấy các công ty lớn lấy mã đó và đưa nó vào cơ sở hạ tầng của riêng họ, không nhất thiết phải là một cơ sở nền tảng chuỗi khối.
Đổi mới nội bộ thường được kích hoạt bởi các nhóm sản phẩm. Họ sẽ đến gặp chúng tôi và nói, "Điều đó là không thể vào lúc này, chúng tôi chưa thấy nghiên cứu về điều này. Bạn có thể tìm ra điều này không?"
Ví dụ: vấn đề thú vị về việc kích hoạt các địa chỉ chuỗi khối có thể khám phá nhưng với quyền riêng tư. Làm cách nào tôi có thể gửi nội dung nào đó đến email hoặc số điện thoại của bạn ngay cả trước khi bạn tạo tài khoản? Hãy tưởng tượng một tính năng kiểu Venmo nơi tôi gửi cho bạn tài sản và sau đó đi lấy chúng khi bạn nhận ra chúng ở đó. Giải quyết vấn đề này đòi hỏi phải động não trong nội bộ về cách thực hiện đúng với tư duy bảo mật. Lấy lý thuyết từ bên ngoài, chúng tôi kết hợp tất cả những điều này thành một bộ công cụ. Hầu hết thời gian chúng tôi thực sự khá thành công ở đó. Chúng tôi cố gắng giải quyết các vấn đề trên và rất hiếm khi gặp phải sự cố sản phẩm mà không có giải pháp.
**Hỏi: Move giúp bạn tạo ra những đổi mới về mật mã này như thế nào và cung cấp trải nghiệm an toàn hơn cho các nhà phát triển sử dụng Sui? **
Trả lời: Tôi từng là nhà phát triển Solidity, viết hợp đồng Ethereum và tôi cũng đam mê phá vỡ hợp đồng thông minh trên Ethereum. Công việc đầu tiên của tôi là kiểm tra các hợp đồng xổ số trên Ethereum và tôi đã phá hủy được một số thuật toán. Vào thời điểm đó, bạn gần như có thể nói rằng các thuật toán ngẫu nhiên là không công bằng và mờ đục. Điều này thực sự đã dạy tôi rằng các nhà phát triển hợp đồng thông minh thường là các kỹ sư viết các tập lệnh nhỏ. Hợp đồng thông minh không phải là chương trình lớn, cũng không phải là cơ sở dữ liệu phức tạp. Thông thường, một người chỉ cần vài ngày đào tạo là có thể viết hợp đồng thông minh và triển khai nó, nhưng điều này đòi hỏi phải kiểm tra rất cẩn thận và có thể có những cạm bẫy tiềm ẩn trong tương tác giữa web2 và web3 .
Chúng tôi nhận thấy rằng trên Ethereum, một số tính năng bảo mật của Solidity có vấn đề do hai yếu tố cụ thể. Đầu tiên, các kỹ sư đang tối ưu hóa khả năng nén để giảm chi phí gas, điều này có thể khiến người dùng bỏ lỡ một số nội dung vì các trường hợp cạnh không được bảo hiểm. Và cũng có vấn đề về các cuộc tấn công vào lại. Nó giống như một hợp đồng thông minh thanh toán một hợp đồng thông minh khác mà không cập nhật trạng thái của nó. Vectơ tấn công này đã gây ra tổn thất tài chính đáng kể trong quá khứ, bao gồm cả Ethereum DAO nhiều năm trước, dẫn đến một Ethereum fork.
**Move không gặp phải các sự cố này, đặc biệt đối với các sự cố vào lại, chúng tôi bảo vệ mã nguồn từ đầu. Chúng tôi cũng đã thực hiện nhiều thay đổi đối với Facebook Move ban đầu bằng cách tạo ngôn ngữ Move tập trung vào đối tượng hơn, giúp ích rất nhiều cho khả năng sử dụng lại mã. Thay vì sao chép mã hợp đồng thông minh và sau đó có thể thực hiện một số chỉnh sửa, bạn có thể gọi mã gốc và nhận được sự đảm bảo về tính nhất quán tốt hơn. **
Ngoài ra, trong Move, chúng tôi có các đối tượng cho mọi thứ. Trong Solidity, khi bạn chuyển thứ gì đó từ hợp đồng này sang hợp đồng khác, bạn thường không biết nó là gì nếu không có ngữ cảnh. Đây có phải là địa chỉ không? Đây có phải là một con số? Đây có phải là một URL hình ảnh? Khi bạn coi mọi thứ là đối tượng, tương tự như Java và C++ và tất cả các ngôn ngữ hướng đối tượng, trước tiên bạn có thể chuyển đổi các dự án phía máy khách hiện tại của mình sang thế giới dựa trên hợp đồng thông minh mà không phải lo lắng về các cơ chế nén được tối ưu hóa gấp ba lần. Bởi vì bạn có thể thấy theo nghĩa đen, đây là vật thể "con hổ", tôi đang truyền vật thể "con hổ" cho bạn.
Còn về mật mã thì sao? Khi bạn sở hữu các mặt hàng, khi tôi gửi thứ gì đó từ ví này đến địa chỉ khác, bạn sẽ nhận được thông báo bật lên có nội dung "Bạn đang chuyển một NFT hổ. NFT hổ này có đặc điểm X". Nhờ thiết kế lấy đối tượng làm trung tâm, bất kể bạn đang chạm vào đối tượng nào, bạn có thể thấy chính xác những gì bạn đang làm, điều này có thể giúp bạn xác định bất kỳ vấn đề nào với các giao dịch của mình. Nhiều người dùng bị thu hút bởi phần mềm độc hại hoặc ứng dụng cố thuyết phục bạn ký vào thứ gì đó mà bạn không muốn ký trong các ví blockchain khác. Nhưng với Move thì khó hơn một chút và người dùng có thể thấy rõ những gì đang diễn ra, giúp tăng cường bảo mật cho người dùng cuối.
Một điều khác thực sự hữu ích trong việc thiết kế các thuật toán thú vị và hấp dẫn hơn là khả năng song song hóa được kích hoạt bởi các đối tượng. Giả sử tôi có một số hóa đơn, hóa đơn 10 đô la và hóa đơn 100 đô la. Tôi có thể làm điều này song song nếu tôi đưa hóa đơn cho hai người bên cạnh.
Trên Ethereum, khái niệm cơ bản là số dư tài khoản trung tâm mà từ đó bạn có thể chuyển mọi thứ. Vì vậy, nếu tôi muốn gửi hoặc nhận tiền, tôi phải đặt hàng các giao dịch này, trước tiên tôi sẽ gửi 100 đô la, sau đó gửi giao dịch 10 đô la, đồng thời nếu ai đó gửi tiền cho tôi, cả 3 giao dịch phải được sắp xếp theo thứ tự, quá trình này rất tốn kém của.
Đó là nơi chúng tôi có được tất cả những thứ thú vị từ ngôn ngữ Move và với tư cách là người viết mật mã, chúng tôi có thể sử dụng lập trình hướng đối tượng và song song hóa mà Move cung cấp để tạo ra các thuật toán cải tiến tốt hơn, bảo mật hơn. Đó là toàn bộ ý tưởng. Ví dụ, chúng tôi đã tạo ra một chương trình xổ số. Mặc dù thoạt nhìn có vẻ dễ dàng, nhưng thành thật mà nói, việc hiểu đúng thường rất, rất khó, đặc biệt là khi xây dựng xổ số nhiều người chơi với các trường hợp phức tạp, đó là nơi các nhà mật mã giỏi tỏa sáng. Chúng tôi cần một chút ngẫu nhiên, bạn cần mua vé số có thể mua song song. Làm thế nào để bạn làm điều này trên blockchain? Move và các nguyên tắc mã hóa có sẵn của nó giúp cung cấp một hệ sinh thái tiền điện tử tốt hơn và an toàn hơn.
Tôi biết rõ rằng một cái gì đó giống như hệ thống xổ số có thể được sử dụng trong một sản phẩm, chẳng hạn như 300 vé có sẵn, nhưng hàng nghìn người muốn chúng và bạn muốn chúng được chỉ định ngẫu nhiên? Hệ thống này là nền tảng của Sui và bất kỳ công ty nào cũng có thể thêm nó vào sản phẩm của họ.
Điều thú vị ở đây là, do tính chất hướng đối tượng của Sui, bạn có thể gọi cùng một hợp đồng từ nhiều hợp đồng thông minh khác nhau. Chúng tôi có khái niệm về khả năng kết hợp, thứ thực sự giúp bạn sử dụng cùng một vé xổ số trong hai loại xổ số khác nhau, điều này thật tuyệt vời để tạo ra những trải nghiệm mới chưa từng có trước đây.
Khi chơi game, bạn cần sự ngẫu nhiên và Sui thực sự là một trong những chuỗi khối tốt nhất hiện có. Đối với một trò chơi cờ bàn, thậm chí là cờ vua, có vẻ giống như một trò chơi mang tính quyết định, bạn cần biết ai đi trước. Ai là người da trắng và ai là người da đen (trong cờ vua, như chúng ta biết, màu trắng có lợi thế), nó đòi hỏi sự minh bạch nhất định để kết hợp chính xác những người chơi khác nhau trong cùng một trò chơi. Ngoài ra còn có các ứng dụng của chính phủ. Hãy tưởng tượng cơ quan thuế đang thực hiện một số mẫu thống kê và chọn người để kiểm toán. Họ có thể thực sự cung cấp bằng chứng rằng việc lấy mẫu thống kê được thực hiện một cách công bằng và minh bạch không?
Nếu tồn tại một thuật toán với tính minh bạch không thể phủ nhận, mang lại tính ngẫu nhiên tốt mà ban tổ chức không thể thay đổi, thì mọi cuộc bốc thăm hay lấy mẫu ngẫu nhiên sẽ có một sự công bằng mới.
**Hỏi: Gần đây bạn đã viết một tweet thảo luận về tầm quan trọng của việc lưu trữ NFT trên chuỗi để chúng duy trì động và thay đổi theo thời gian. Bạn có thể chia sẻ thêm về quan điểm này, cụ thể là cách cấu trúc dữ liệu của Sui nâng cao tiện ích của NFT không? **
A: Đây là một chủ đề được tranh luận sôi nổi. Tôi đang cố gắng giải thích rằng các cơ sở hạ tầng khác nhau kích hoạt các thuộc tính NFT theo cách khác nhau và khi đó chỉ là một hình ảnh tĩnh, khi bạn không thực hiện bất kỳ hoạt động có lưu lượng truy cập cao nào trên hình ảnh đó, thì cấu trúc truyền thống thực sự tốt. Nhưng trong một số trường hợp, chẳng hạn như trò chơi, người chơi hy vọng nhận được nhiều lợi ích hơn từ NFT, thì cấu trúc truyền thống của NFT không đủ tốt.
Sui có một số thuật toán cho phép các NFT động có các trường được cập nhật mỗi khi giao dịch xảy ra. Khi bạn chơi một trò chơi, bạn có một anh hùng, bạn giành chiến thắng, vượt qua cấp độ, bạn có thể nhận được một số vũ khí hoặc sức mạnh mới, tất cả những thứ này có thể được ghi lại trong trạng thái của chuỗi khối và tạo ra một thể loại hoàn toàn mới. Ngoài ra, do chi phí lưu trữ trên Sui rẻ nên NFT có thể được lưu trữ trên chuỗi. Điều này giúp đọc và viết các hợp đồng thông minh khác nhau trên chuỗi dễ dàng hơn và cho phép khả năng kết hợp.
Trên các chuỗi khác, bạn sẽ gặp sự cố vì các thay đổi không ở trạng thái. Để một hợp đồng thông minh khác đọc hợp đồng của bạn, họ cần biết cấu trúc của bạn, bạn cần một trình phân tích cú pháp ngoại tuyến, điều này tạo ra một số phức tạp về UX. Ngoài ra còn có logic có điều kiện trong một số ứng dụng thú vị mà bạn không biết mình đang chạm vào NFT nào tại thời điểm gửi giao dịch, vì vậy tôi có thể cung cấp những gì từ thế giới ngoài chuỗi, không dễ mở rộng quy mô.
Ngoài ra còn có vấn đề về các mô hình mối đe dọa và thực tế là một số ứng dụng cụ thể có thể chịu được việc nén và lưu trữ ngoài chuỗi. Nhưng trên thực tế, khi chúng tôi lưu trữ thứ gì đó ngoài chuỗi, chúng tôi đang thay đổi mô hình mối đe dọa. Lý do thường là tập trung hóa, hãy tưởng tượng nếu một ngày bạn lưu trữ nó trong AWS và sau đó... Amazon ngừng hoạt động. Amazon là một công ty duy nhất, nếu nó ngừng hoạt động và bạn không thể truy cập dữ liệu ngoại tuyến cụ thể đó, thì bạn không thể sử dụng dữ liệu đó trên chuỗi; và ngay cả khi bạn có thể, bạn thậm chí sẽ cần dữ liệu để tạo bằng chứng rằng bạn thực sự sở hữu dữ liệu ngoại tuyến bởi vì đôi khi bạn chỉ cần chứng minh điều đó, phải không? Để chứng minh điều đó, bạn cần lấy nội dung từ AWS, sau đó băm nội dung đó và gửi một lượng dữ liệu rất nhỏ vào chuỗi khối, dữ liệu này được xác minh ở một mức độ nào đó, nhưng nếu bạn không có dữ liệu thì bạn không thể chứng minh nó Nội dung của NFT của tôi là gì.
Vì vậy, có một số vấn đề về tập trung, mặc dù một số người nói rằng không phải vậy, bởi vì chúng tôi có thể lưu trữ nó ở những nơi khác nhau. Tôi đồng ý rằng nếu chúng ta có thể quản lý để có một thiết kế cụ thể, tất cả các mô hình mối đe dọa này sẽ được mã hóa vào chuỗi khối, nhưng vấn đề khác là độ trễ. NFT được lưu trữ trên các chuỗi khác, điều này sẽ làm tăng gấp đôi độ trễ. Đây không phải là điều chúng tôi muốn .Chúng tôi hy vọng rằng mọi thứ được lưu trữ trên chuỗi đồng thời giảm độ trễ.
**Q: Bạn mong chờ điều gì nhất cho tương lai của Sui? **
A: Đây là câu hỏi yêu thích của tôi. Lý do chính khiến tôi tham gia Mysten Labs là vì tôi thích một nơi mà sự đổi mới thúc đẩy quá trình phát triển sản phẩm. Chúng tôi đang cung cấp một cái gì đó mới cho cộng đồng. Tôi thậm chí còn đặt tên cho con trai mình là Kryptos.
Nếu bạn đang hỏi tôi cụ thể về những cải tiến mã hóa của Sui, thì có một điều chắc chắn là chúng tôi đang cho phép rất nhiều cách để xác thực. Thông thường, hầu hết các chuỗi khối chỉ hỗ trợ một thuật toán chữ ký, Ethereum có thuật toán riêng và Cardano và Solana hỗ trợ thuật toán khác. Chúng tôi đang cố gắng làm cho Sui nói chuyện với các chuỗi công khai khác, điều đó có nghĩa là chúng tôi cho phép tất cả các thuật toán hiện có, nghĩa là chúng tôi tương thích với nhiều ví hơn. Các ví hiện tại không cần phải phát minh lại bánh xe, bạn thích thuật toán dựa trên Ethereum, chúng tôi hỗ trợ nó, vì vậy hãy tiếp tục và sử dụng nó. Bạn sử dụng iPhone, sau đó bạn thậm chí không cần ví, iPhone và các thiết bị Android cao cấp hơn được tích hợp chip bảo mật này chỉ hỗ trợ các thuật toán cụ thể và chúng tôi hỗ trợ điều đó.
Sau đó, chúng tôi cũng có khái niệm về đa chữ ký, nếu bạn chú ý đến bảo mật, phần xác thực của mật mã, một trong những tính năng hàng đầu của Sui, sẽ tạo ra trải nghiệm xác thực mới.
Một điều khác mà cá nhân tôi thực sự thích là chúng tôi đã giới thiệu bằng chứng không kiến thức, công nghệ bảo vệ quyền riêng tư bên trong Sui ngay từ ngày đầu tiên. Vì vậy, giờ đây mọi người có thể tạo một hệ thống KYC với nhiều quyền riêng tư nhất có thể, thậm chí họ có thể tạo các giao dịch chuyển số tiền bí mật, đồng thời cho họ cơ hội tuân thủ luật pháp và kiểm toán viên, chúng tôi đặt mọi thứ ở đó để các nhà phát triển sử dụng. **
Ngoài tất cả các thuật toán này, nhóm kỹ sư giải pháp dành cho nhà phát triển của chúng tôi thực sự cung cấp hỗ trợ thực sự tốt. Chúng tôi làm việc hàng ngày với các nhóm không rành về mật mã, họ không có chuyên gia mật mã, nhưng có một số ý tưởng thực sự hay và nếu nhận được phản hồi, chúng tôi sẽ giúp họ triển khai, có gì không khả dụng hoặc có vấn đề, chúng tôi Cũng giải quyết chúng với tốc độ tuyệt vời.
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.
Đối thoại với Giám đốc mật mã của Mysten Labs: Làm thế nào để đổi mới mật mã trở thành cốt lõi trong thiết kế của Sui?
Trong bài viết này, chúng tôi nói chuyện với Kostas Chalkias, đồng sáng lập và trưởng bộ phận mật mã tại Mysten Labs, về cách đổi mới mật mã nằm ở trung tâm thiết kế của Sui và tại sao các tính năng sắp tới lại thú vị như vậy?
**Hỏi: Bạn có thể giải thích ngắn gọn về vai trò của người viết mật mã trong việc xây dựng chuỗi khối không? **
Trả lời: Tôi thực sự đã làm việc với một trong những nhà phát triển đầu tiên của Satoshi Nakamoto (Mike Hearn), tôi có bằng tiến sĩ về mật mã và trước kỷ nguyên blockchain, trọng tâm của tôi chủ yếu là ranh giới học thuật. Vì sự tham gia này, tôi có thể nói chính xác với bạn rằng tiền điện tử đóng một vai trò đối với các công ty cơ sở hạ tầng chuỗi khối, thường được chia thành ba vai trò chính.
Đầu tiên là nghiên cứu, bạn phải sáng tạo trong lĩnh vực mật mã vì nó thường là toán học rất nâng cao, một phần trong đó là tìm ra các thuật toán mới thú vị, nhưng cũng nghiên cứu về các thuật toán phá vỡ. Vai trò trước đây của tôi tại một công ty blockchain liên quan đến việc xem xét việc triển khai mật mã và là một hacker mũ trắng đang tìm kiếm các cuộc tấn công chống lại chúng. Những gì bạn làm là "Bạn là một nhà toán học, bạn là một nhà mật mã. Hãy xem cách triển khai thuật toán chữ ký số hoặc đèn hiệu ngẫu nhiên hoặc bất cứ thứ gì cụ thể này. Kiểm tra xem mọi thứ có hoạt động không." Đó là lĩnh vực nghiên cứu.
Thứ hai là triển khai, khái niệm về mật mã ứng dụng. Các nhà mật mã học ứng dụng nhận được yêu cầu từ các nhóm sản phẩm -- "này, chúng tôi muốn một sơ đồ chữ ký mới nhanh hơn hoặc chúng tôi muốn tạo một tính năng bảo mật mới cho khách hàng hoặc khách hàng của chúng tôi hoặc cộng đồng." Và sau đó, một nhà mật mã học ứng dụng không chỉ thiết kế một thứ gì đó, nghiên cứu nó, nhưng cũng thực hiện nó. Đôi khi, một nhà mật mã học ứng dụng cũng phải là một nhà phát triển phần mềm rất giỏi, yêu cầu những tối ưu hóa mới trong mã hóa.
Cuối cùng là tạo ra các sản phẩm mới và đưa ra những ý tưởng sáng tạo của riêng họ dựa trên những nguyên tắc cơ bản mà các nhà mật mã hiểu được.
**Tóm lại, chúng tôi cân bằng giữa nghiên cứu, triển khai và sản phẩm, đó là vai trò của một nhà mật mã blockchain điển hình. **
**Hỏi: Có thường là cùng một người làm được cả ba việc không? Hay chia nhóm để thực hiện? **
Trả lời: Đối với Sui, vì chúng tôi đã giới thiệu rất nhiều cải tiến nên chúng tôi cần nhiều người làm việc trên nhiều quy trình công việc. Tôi là nhà mật mã học hàng đầu tại Mysten Labs và là một trong những người sáng lập Sui, vì vậy tôi tham gia vào hầu hết công việc. Tuy nhiên, bạn không thể làm mọi thứ một mình và tôi vẫn đang học hỏi từ nhóm của mình.
Chúng tôi không chỉ sử dụng một ngôn ngữ lập trình. Ví dụ: ngôn ngữ Rust được sử dụng để chứng minh khái niệm, nhưng sau đó chúng tôi nhận ra rằng hầu hết mọi người trên web đang sử dụng JavaScript hoặc TypeScript và các nhà mật mã học không thể tự viết mọi thứ. Nhưng bạn không thể ủy quyền cho một chuyên gia tổng quát như kỹ sư phần mềm, vì một số tối ưu hóa yêu cầu kiến thức về toán học nâng cao và nguyên hàm mật mã hoặc bạn có thể cần phải tương tác với một số thư viện mà bạn không quen thuộc, vì vậy bạn cần người khác tiếp quản công việc.
Nhóm nghiên cứu của chúng tôi có tổng cộng khoảng 10 người và làm việc để đổi mới và triển khai hàng ngày. Chúng tôi có những bộ óc "thông minh" này và đôi khi tôi là người đưa ra ý tưởng và đôi khi tôi làm theo chỉ đạo của các chuyên gia tiền điện tử khác. Nhóm của chúng tôi có thể giúp triển khai hoặc cung cấp tài nguyên hoặc cung cấp các mẹo về cách mở rộng và áp dụng một ý tưởng hay.
Hai mắt thôi là chưa đủ, bởi vì mật mã là một phần cực kỳ quan trọng của cơ sở hạ tầng chuỗi khối, nếu xảy ra sự cố, đó có thể là GAME OVER, vì vậy cần có nhiều mắt hơn. Thêm vào đó, rất nhiều nhà đổi mới là cần thiết.
**Hỏi: Những phát triển và tác động chính của nghiên cứu bên ngoài được áp dụng trong thiết kế của Sui là gì? Những đổi mới quan trọng trong đối thoại nội bộ là gì? **
Trả lời: Về mặt mật mã, các tín hiệu bên ngoài đã ảnh hưởng đến chúng tôi là sự phát triển của các công nghệ như bằng chứng không có kiến thức và các kỹ thuật bảo vệ quyền riêng tư chung được đề xuất trong tài liệu. Không chỉ blockchain đang thực hiện công việc mã hóa, mà còn có các tổ chức nghiên cứu và khoa đại học trên khắp thế giới đang thực hiện công việc lý thuyết. Cá nhân tôi nghĩ Mysten Labs rất giỏi trong việc tìm ra các lý thuyết mới trong các lĩnh vực chưa từng được thực hiện trước đây, một số giả định này có thể không chính xác, nhưng chúng tôi kết hợp chúng với công nghệ hiện có của mình và cuối cùng thúc đẩy chúng tôi tạo ra một sản phẩm mới lạ.
**Sui có một tính năng mới, Đăng nhập bằng không kiến thức (Đăng nhập ZK), ra đời như thế này. Một số công nghệ đã được đề xuất từ bên ngoài, nhưng không đủ để cung cấp cơ chế xác thực liền mạch cho chuỗi khối L1, chúng tôi đã phát minh ra chức năng mới trên nó, đây là một nghiên cứu ứng dụng nội bộ và cuối cùng, chúng tôi đã đưa ra một kế hoạch giải pháp hoàn chỉnh. **
Chúng tôi không phải là một trường đại học, chúng tôi không chỉ là lý thuyết, chúng tôi cần triển khai thứ gì đó sẵn sàng sản xuất, vì vậy chúng tôi nhận phản hồi từ các cuộc thảo luận nội bộ và bên ngoài. Rất nhiều lần chúng tôi đọc các bài báo khoa học, chúng tôi tham dự các sự kiện, chúng tôi là người đánh giá và trình bày, chúng tôi nhận được phản hồi. Rõ ràng, chúng tôi chuyển đổi tất cả những điều này để triển khai trên Sui.
Tôi nhận ra rằng một số mã của chúng tôi sau đó được sử dụng bởi những người khác, các công ty khác hoặc thậm chí những người bên ngoài ngành của chúng tôi và cuối cùng bạn sẽ thấy các công ty lớn lấy mã đó và đưa nó vào cơ sở hạ tầng của riêng họ, không nhất thiết phải là một cơ sở nền tảng chuỗi khối.
Đổi mới nội bộ thường được kích hoạt bởi các nhóm sản phẩm. Họ sẽ đến gặp chúng tôi và nói, "Điều đó là không thể vào lúc này, chúng tôi chưa thấy nghiên cứu về điều này. Bạn có thể tìm ra điều này không?"
Ví dụ: vấn đề thú vị về việc kích hoạt các địa chỉ chuỗi khối có thể khám phá nhưng với quyền riêng tư. Làm cách nào tôi có thể gửi nội dung nào đó đến email hoặc số điện thoại của bạn ngay cả trước khi bạn tạo tài khoản? Hãy tưởng tượng một tính năng kiểu Venmo nơi tôi gửi cho bạn tài sản và sau đó đi lấy chúng khi bạn nhận ra chúng ở đó. Giải quyết vấn đề này đòi hỏi phải động não trong nội bộ về cách thực hiện đúng với tư duy bảo mật. Lấy lý thuyết từ bên ngoài, chúng tôi kết hợp tất cả những điều này thành một bộ công cụ. Hầu hết thời gian chúng tôi thực sự khá thành công ở đó. Chúng tôi cố gắng giải quyết các vấn đề trên và rất hiếm khi gặp phải sự cố sản phẩm mà không có giải pháp.
**Hỏi: Move giúp bạn tạo ra những đổi mới về mật mã này như thế nào và cung cấp trải nghiệm an toàn hơn cho các nhà phát triển sử dụng Sui? **
Trả lời: Tôi từng là nhà phát triển Solidity, viết hợp đồng Ethereum và tôi cũng đam mê phá vỡ hợp đồng thông minh trên Ethereum. Công việc đầu tiên của tôi là kiểm tra các hợp đồng xổ số trên Ethereum và tôi đã phá hủy được một số thuật toán. Vào thời điểm đó, bạn gần như có thể nói rằng các thuật toán ngẫu nhiên là không công bằng và mờ đục. Điều này thực sự đã dạy tôi rằng các nhà phát triển hợp đồng thông minh thường là các kỹ sư viết các tập lệnh nhỏ. Hợp đồng thông minh không phải là chương trình lớn, cũng không phải là cơ sở dữ liệu phức tạp. Thông thường, một người chỉ cần vài ngày đào tạo là có thể viết hợp đồng thông minh và triển khai nó, nhưng điều này đòi hỏi phải kiểm tra rất cẩn thận và có thể có những cạm bẫy tiềm ẩn trong tương tác giữa web2 và web3 .
Chúng tôi nhận thấy rằng trên Ethereum, một số tính năng bảo mật của Solidity có vấn đề do hai yếu tố cụ thể. Đầu tiên, các kỹ sư đang tối ưu hóa khả năng nén để giảm chi phí gas, điều này có thể khiến người dùng bỏ lỡ một số nội dung vì các trường hợp cạnh không được bảo hiểm. Và cũng có vấn đề về các cuộc tấn công vào lại. Nó giống như một hợp đồng thông minh thanh toán một hợp đồng thông minh khác mà không cập nhật trạng thái của nó. Vectơ tấn công này đã gây ra tổn thất tài chính đáng kể trong quá khứ, bao gồm cả Ethereum DAO nhiều năm trước, dẫn đến một Ethereum fork.
**Move không gặp phải các sự cố này, đặc biệt đối với các sự cố vào lại, chúng tôi bảo vệ mã nguồn từ đầu. Chúng tôi cũng đã thực hiện nhiều thay đổi đối với Facebook Move ban đầu bằng cách tạo ngôn ngữ Move tập trung vào đối tượng hơn, giúp ích rất nhiều cho khả năng sử dụng lại mã. Thay vì sao chép mã hợp đồng thông minh và sau đó có thể thực hiện một số chỉnh sửa, bạn có thể gọi mã gốc và nhận được sự đảm bảo về tính nhất quán tốt hơn. **
Ngoài ra, trong Move, chúng tôi có các đối tượng cho mọi thứ. Trong Solidity, khi bạn chuyển thứ gì đó từ hợp đồng này sang hợp đồng khác, bạn thường không biết nó là gì nếu không có ngữ cảnh. Đây có phải là địa chỉ không? Đây có phải là một con số? Đây có phải là một URL hình ảnh? Khi bạn coi mọi thứ là đối tượng, tương tự như Java và C++ và tất cả các ngôn ngữ hướng đối tượng, trước tiên bạn có thể chuyển đổi các dự án phía máy khách hiện tại của mình sang thế giới dựa trên hợp đồng thông minh mà không phải lo lắng về các cơ chế nén được tối ưu hóa gấp ba lần. Bởi vì bạn có thể thấy theo nghĩa đen, đây là vật thể "con hổ", tôi đang truyền vật thể "con hổ" cho bạn.
Còn về mật mã thì sao? Khi bạn sở hữu các mặt hàng, khi tôi gửi thứ gì đó từ ví này đến địa chỉ khác, bạn sẽ nhận được thông báo bật lên có nội dung "Bạn đang chuyển một NFT hổ. NFT hổ này có đặc điểm X". Nhờ thiết kế lấy đối tượng làm trung tâm, bất kể bạn đang chạm vào đối tượng nào, bạn có thể thấy chính xác những gì bạn đang làm, điều này có thể giúp bạn xác định bất kỳ vấn đề nào với các giao dịch của mình. Nhiều người dùng bị thu hút bởi phần mềm độc hại hoặc ứng dụng cố thuyết phục bạn ký vào thứ gì đó mà bạn không muốn ký trong các ví blockchain khác. Nhưng với Move thì khó hơn một chút và người dùng có thể thấy rõ những gì đang diễn ra, giúp tăng cường bảo mật cho người dùng cuối.
Một điều khác thực sự hữu ích trong việc thiết kế các thuật toán thú vị và hấp dẫn hơn là khả năng song song hóa được kích hoạt bởi các đối tượng. Giả sử tôi có một số hóa đơn, hóa đơn 10 đô la và hóa đơn 100 đô la. Tôi có thể làm điều này song song nếu tôi đưa hóa đơn cho hai người bên cạnh.
Trên Ethereum, khái niệm cơ bản là số dư tài khoản trung tâm mà từ đó bạn có thể chuyển mọi thứ. Vì vậy, nếu tôi muốn gửi hoặc nhận tiền, tôi phải đặt hàng các giao dịch này, trước tiên tôi sẽ gửi 100 đô la, sau đó gửi giao dịch 10 đô la, đồng thời nếu ai đó gửi tiền cho tôi, cả 3 giao dịch phải được sắp xếp theo thứ tự, quá trình này rất tốn kém của.
Đó là nơi chúng tôi có được tất cả những thứ thú vị từ ngôn ngữ Move và với tư cách là người viết mật mã, chúng tôi có thể sử dụng lập trình hướng đối tượng và song song hóa mà Move cung cấp để tạo ra các thuật toán cải tiến tốt hơn, bảo mật hơn. Đó là toàn bộ ý tưởng. Ví dụ, chúng tôi đã tạo ra một chương trình xổ số. Mặc dù thoạt nhìn có vẻ dễ dàng, nhưng thành thật mà nói, việc hiểu đúng thường rất, rất khó, đặc biệt là khi xây dựng xổ số nhiều người chơi với các trường hợp phức tạp, đó là nơi các nhà mật mã giỏi tỏa sáng. Chúng tôi cần một chút ngẫu nhiên, bạn cần mua vé số có thể mua song song. Làm thế nào để bạn làm điều này trên blockchain? Move và các nguyên tắc mã hóa có sẵn của nó giúp cung cấp một hệ sinh thái tiền điện tử tốt hơn và an toàn hơn.
Tôi biết rõ rằng một cái gì đó giống như hệ thống xổ số có thể được sử dụng trong một sản phẩm, chẳng hạn như 300 vé có sẵn, nhưng hàng nghìn người muốn chúng và bạn muốn chúng được chỉ định ngẫu nhiên? Hệ thống này là nền tảng của Sui và bất kỳ công ty nào cũng có thể thêm nó vào sản phẩm của họ.
Điều thú vị ở đây là, do tính chất hướng đối tượng của Sui, bạn có thể gọi cùng một hợp đồng từ nhiều hợp đồng thông minh khác nhau. Chúng tôi có khái niệm về khả năng kết hợp, thứ thực sự giúp bạn sử dụng cùng một vé xổ số trong hai loại xổ số khác nhau, điều này thật tuyệt vời để tạo ra những trải nghiệm mới chưa từng có trước đây.
Khi chơi game, bạn cần sự ngẫu nhiên và Sui thực sự là một trong những chuỗi khối tốt nhất hiện có. Đối với một trò chơi cờ bàn, thậm chí là cờ vua, có vẻ giống như một trò chơi mang tính quyết định, bạn cần biết ai đi trước. Ai là người da trắng và ai là người da đen (trong cờ vua, như chúng ta biết, màu trắng có lợi thế), nó đòi hỏi sự minh bạch nhất định để kết hợp chính xác những người chơi khác nhau trong cùng một trò chơi. Ngoài ra còn có các ứng dụng của chính phủ. Hãy tưởng tượng cơ quan thuế đang thực hiện một số mẫu thống kê và chọn người để kiểm toán. Họ có thể thực sự cung cấp bằng chứng rằng việc lấy mẫu thống kê được thực hiện một cách công bằng và minh bạch không?
Nếu tồn tại một thuật toán với tính minh bạch không thể phủ nhận, mang lại tính ngẫu nhiên tốt mà ban tổ chức không thể thay đổi, thì mọi cuộc bốc thăm hay lấy mẫu ngẫu nhiên sẽ có một sự công bằng mới.
**Hỏi: Gần đây bạn đã viết một tweet thảo luận về tầm quan trọng của việc lưu trữ NFT trên chuỗi để chúng duy trì động và thay đổi theo thời gian. Bạn có thể chia sẻ thêm về quan điểm này, cụ thể là cách cấu trúc dữ liệu của Sui nâng cao tiện ích của NFT không? **
A: Đây là một chủ đề được tranh luận sôi nổi. Tôi đang cố gắng giải thích rằng các cơ sở hạ tầng khác nhau kích hoạt các thuộc tính NFT theo cách khác nhau và khi đó chỉ là một hình ảnh tĩnh, khi bạn không thực hiện bất kỳ hoạt động có lưu lượng truy cập cao nào trên hình ảnh đó, thì cấu trúc truyền thống thực sự tốt. Nhưng trong một số trường hợp, chẳng hạn như trò chơi, người chơi hy vọng nhận được nhiều lợi ích hơn từ NFT, thì cấu trúc truyền thống của NFT không đủ tốt.
Sui có một số thuật toán cho phép các NFT động có các trường được cập nhật mỗi khi giao dịch xảy ra. Khi bạn chơi một trò chơi, bạn có một anh hùng, bạn giành chiến thắng, vượt qua cấp độ, bạn có thể nhận được một số vũ khí hoặc sức mạnh mới, tất cả những thứ này có thể được ghi lại trong trạng thái của chuỗi khối và tạo ra một thể loại hoàn toàn mới. Ngoài ra, do chi phí lưu trữ trên Sui rẻ nên NFT có thể được lưu trữ trên chuỗi. Điều này giúp đọc và viết các hợp đồng thông minh khác nhau trên chuỗi dễ dàng hơn và cho phép khả năng kết hợp.
Trên các chuỗi khác, bạn sẽ gặp sự cố vì các thay đổi không ở trạng thái. Để một hợp đồng thông minh khác đọc hợp đồng của bạn, họ cần biết cấu trúc của bạn, bạn cần một trình phân tích cú pháp ngoại tuyến, điều này tạo ra một số phức tạp về UX. Ngoài ra còn có logic có điều kiện trong một số ứng dụng thú vị mà bạn không biết mình đang chạm vào NFT nào tại thời điểm gửi giao dịch, vì vậy tôi có thể cung cấp những gì từ thế giới ngoài chuỗi, không dễ mở rộng quy mô.
Ngoài ra còn có vấn đề về các mô hình mối đe dọa và thực tế là một số ứng dụng cụ thể có thể chịu được việc nén và lưu trữ ngoài chuỗi. Nhưng trên thực tế, khi chúng tôi lưu trữ thứ gì đó ngoài chuỗi, chúng tôi đang thay đổi mô hình mối đe dọa. Lý do thường là tập trung hóa, hãy tưởng tượng nếu một ngày bạn lưu trữ nó trong AWS và sau đó... Amazon ngừng hoạt động. Amazon là một công ty duy nhất, nếu nó ngừng hoạt động và bạn không thể truy cập dữ liệu ngoại tuyến cụ thể đó, thì bạn không thể sử dụng dữ liệu đó trên chuỗi; và ngay cả khi bạn có thể, bạn thậm chí sẽ cần dữ liệu để tạo bằng chứng rằng bạn thực sự sở hữu dữ liệu ngoại tuyến bởi vì đôi khi bạn chỉ cần chứng minh điều đó, phải không? Để chứng minh điều đó, bạn cần lấy nội dung từ AWS, sau đó băm nội dung đó và gửi một lượng dữ liệu rất nhỏ vào chuỗi khối, dữ liệu này được xác minh ở một mức độ nào đó, nhưng nếu bạn không có dữ liệu thì bạn không thể chứng minh nó Nội dung của NFT của tôi là gì.
Vì vậy, có một số vấn đề về tập trung, mặc dù một số người nói rằng không phải vậy, bởi vì chúng tôi có thể lưu trữ nó ở những nơi khác nhau. Tôi đồng ý rằng nếu chúng ta có thể quản lý để có một thiết kế cụ thể, tất cả các mô hình mối đe dọa này sẽ được mã hóa vào chuỗi khối, nhưng vấn đề khác là độ trễ. NFT được lưu trữ trên các chuỗi khác, điều này sẽ làm tăng gấp đôi độ trễ. Đây không phải là điều chúng tôi muốn .Chúng tôi hy vọng rằng mọi thứ được lưu trữ trên chuỗi đồng thời giảm độ trễ.
**Q: Bạn mong chờ điều gì nhất cho tương lai của Sui? **
A: Đây là câu hỏi yêu thích của tôi. Lý do chính khiến tôi tham gia Mysten Labs là vì tôi thích một nơi mà sự đổi mới thúc đẩy quá trình phát triển sản phẩm. Chúng tôi đang cung cấp một cái gì đó mới cho cộng đồng. Tôi thậm chí còn đặt tên cho con trai mình là Kryptos.
Nếu bạn đang hỏi tôi cụ thể về những cải tiến mã hóa của Sui, thì có một điều chắc chắn là chúng tôi đang cho phép rất nhiều cách để xác thực. Thông thường, hầu hết các chuỗi khối chỉ hỗ trợ một thuật toán chữ ký, Ethereum có thuật toán riêng và Cardano và Solana hỗ trợ thuật toán khác. Chúng tôi đang cố gắng làm cho Sui nói chuyện với các chuỗi công khai khác, điều đó có nghĩa là chúng tôi cho phép tất cả các thuật toán hiện có, nghĩa là chúng tôi tương thích với nhiều ví hơn. Các ví hiện tại không cần phải phát minh lại bánh xe, bạn thích thuật toán dựa trên Ethereum, chúng tôi hỗ trợ nó, vì vậy hãy tiếp tục và sử dụng nó. Bạn sử dụng iPhone, sau đó bạn thậm chí không cần ví, iPhone và các thiết bị Android cao cấp hơn được tích hợp chip bảo mật này chỉ hỗ trợ các thuật toán cụ thể và chúng tôi hỗ trợ điều đó.
Sau đó, chúng tôi cũng có khái niệm về đa chữ ký, nếu bạn chú ý đến bảo mật, phần xác thực của mật mã, một trong những tính năng hàng đầu của Sui, sẽ tạo ra trải nghiệm xác thực mới.
Một điều khác mà cá nhân tôi thực sự thích là chúng tôi đã giới thiệu bằng chứng không kiến thức, công nghệ bảo vệ quyền riêng tư bên trong Sui ngay từ ngày đầu tiên. Vì vậy, giờ đây mọi người có thể tạo một hệ thống KYC với nhiều quyền riêng tư nhất có thể, thậm chí họ có thể tạo các giao dịch chuyển số tiền bí mật, đồng thời cho họ cơ hội tuân thủ luật pháp và kiểm toán viên, chúng tôi đặt mọi thứ ở đó để các nhà phát triển sử dụng. **
Ngoài tất cả các thuật toán này, nhóm kỹ sư giải pháp dành cho nhà phát triển của chúng tôi thực sự cung cấp hỗ trợ thực sự tốt. Chúng tôi làm việc hàng ngày với các nhóm không rành về mật mã, họ không có chuyên gia mật mã, nhưng có một số ý tưởng thực sự hay và nếu nhận được phản hồi, chúng tôi sẽ giúp họ triển khai, có gì không khả dụng hoặc có vấn đề, chúng tôi Cũng giải quyết chúng với tốc độ tuyệt vời.