paint-brush
Giao dịch định hướng tài sản của Radix: Làm cho giao dịch có ý nghĩatừ tác giả@RadixDLT
9,793 lượt đọc
9,793 lượt đọc

Giao dịch định hướng tài sản của Radix: Làm cho giao dịch có ý nghĩa

từ tác giả Radix Publishing12m2023/06/28
Read on Terminal Reader

dài quá đọc không nổi

Kiến trúc hợp đồng thông minh của Radix cung cấp mọi thứ trên nền tảng cho mọi thứ. Các giao dịch cơ số chứa một "bảng kê khai" các hướng dẫn hướng đến tài sản giúp giao dịch trở nên dễ hiểu, có thể kết hợp được và cực kỳ mạnh mẽ. Thiết kế giao dịch của Radix bắt đầu từ những nguyên tắc đầu tiên về kỳ vọng và kiểm soát trực quan của người dùng.
featured image - Giao dịch định hướng tài sản của Radix: Làm cho giao dịch có ý nghĩa
Radix Publishing HackerNoon profile picture


Trong bài viết trước , chúng ta đã nói về cách khái niệm về các giao dịch chuỗi khối ngày nay khiến việc giải quyết một số vấn đề nghiêm trọng mà người dùng và nhà phát triển DeFi gặp phải là không thể - những vấn đề cản trở tiềm năng chính của DeFi và Web3.


Thiết kế của hầu hết các nền tảng hợp đồng thông minh L-1 giới hạn các giao dịch chỉ đơn giản là một tin nhắn được gửi đến hợp đồng thông minh hộp đen và giới hạn đó có nghĩa là các giao dịch đơn giản là không thể đủ linh hoạt, mạnh mẽ hoặc minh bạch .


Cách duy nhất để thực sự khắc phục vấn đề là xác định lại ý nghĩa của một giao dịch trên chuỗi khối và đó chính xác là những gì Radix đã làm. Giao dịch Radix (trên mạng Babylon bao gồm Khả năng hợp đồng thông minh độc đáo của Radix ) chứa một "bản kê khai" các hướng dẫn hướng đến tài sản giúp giao dịch trở nên dễ hiểu, có thể kết hợp được và cực kỳ mạnh mẽ.


Hãy nói về giao dịch Radix là gì và một số điều tuyệt vời mà chúng mang lại cho người dùng và nhà phát triển.

Định nghĩa lại một “Giao dịch”

Tạm thời quên đi công nghệ, giao dịch lý tưởng nên là gì?


nên chứa những gì để nó đủ linh hoạt để làm mọi thứ khiến Web3 và DeFi trở nên thú vị, đồng thời cũng dễ hiểu và an toàn cho người dùng?


Để bắt đầu, hãy xem xét một giao dịch trong thế giới thực thực hiện điều gì đó hữu ích và rất dễ hiểu đối với bất kỳ ai. Lấy ví dụ về việc sử dụng phiên bản DEX trong thế giới thực: ki-ốt trao đổi tiền tệ.


Hãy tưởng tượng tôi là khách hàng, đi bộ đến quầy đổi tiền ở sân bay để đổi tiền. Tôi có thể mô tả giao dịch theo cách này:


  • Tôi lấy 20 USD từ ví của mình và đặt nó lên quầy.

  • Tôi thông báo cho nhân viên giao dịch hối đoái rằng tôi muốn đổi 20 USD đó lấy GBP .

  • Người giao dịch viên lấy USD của tôi, gõ nhẹ vào máy tính của anh ấy một lúc và đặt 16,08 GBP lên quầy.

  • Tôi hài lòng với tỷ giá hối đoái mà tôi nhận được, lấy GBP và bỏ vào ví của mình.


Trong tình huống điển hình trong thế giới thực này, mặc dù tôi không kiểm soát được cách thức hoạt động kinh doanh nội bộ của sàn giao dịch, nhưng tôi hoàn toàn kiểm soát được những gì quan trọng đối với mình: lấy tài sản từ ví của tôi, đưa tài sản cho sàn giao dịch cùng với hướng dẫn cho những gì tôi muốn, chấp nhận (hoặc từ chối) những gì họ trả lại cho tôi và đưa tài sản trở lại ví của tôi.


Kiến thức và khả năng kiểm soát những gì quan trọng đối với tôi là một kỳ vọng tự nhiên, hiển nhiên bất cứ khi nào tôi tương tác với ai đó và có liên quan đến tài sản của tôi. Tôi kiểm soát những tài sản nào rời khỏi ví của mình, tôi chỉ định người mà tôi đưa chúng cho và những gì tôi muốn, đồng thời tôi có thể xem những gì sẽ quay lại với tôi và phê duyệt. Về cơ bản, đó là ý nghĩa của từ “giao dịch” đối với tôi trong thế giới thực. Sẽ thật tuyệt nếu các giao dịch blockchain hoạt động như vậy phải không?


Trên Radix, họ làm. Thiết kế các giao dịch của Radix bắt đầu từ những nguyên tắc đầu tiên về kỳ vọng và kiểm soát trực quan của người dùng và mô hình hóa các giao dịch trên mạng Radix theo cách tương tự.

Làm cho giao dịch có ý nghĩa

Điều quan trọng nhất đối với tôi về giao dịch trong thế giới thực ở trên là nó mô tả trực tiếp các chuyển động của tài sản giữa ví của tôi và sàn giao dịch. Để làm cho các giao dịch Radix hoạt động như vậy, thiết kế nền tảng phải bắt đầu bằng tài sản. Và may mắn thay, một trong những tính năng xác định của thiết kế nền tảng Radix (từ Máy ảo Radix Engine đến Ngôn ngữ hợp đồng thông minh Scrypto ) là mạng có hiểu biết riêng về nội dung và hành vi của nội dung .


Kiến trúc “hướng đến tài sản” này cung cấp cho mọi thứ trên nền tảng hành vi trực quan khi nói đến quyền sở hữu kỹ thuật số. Mã thông báo và NFT không phải là số dư trong hợp đồng thông minh; chúng hoạt động giống như các vật thể di chuyển từ nơi này sang nơi khác. Tài khoản người dùng không chỉ là cặp khóa; chúng là nơi chứa tài sản mà người dùng có quyền rút tiền hoặc quản lý các quy tắc về loại tiền gửi mà người dùng sẽ chấp nhận. Hợp đồng thông minh không giới hạn trong việc chấp nhận tin nhắn; họ có thể chấp nhận “các thùng” tài sản làm đầu vào – như đẩy tiền qua quầy trao đổi.


Các khả năng của nền tảng này cung cấp các công cụ cần thiết để định hình lại định nghĩa về các giao dịch trên Radix để chúng hoạt động một cách trực quan và có thể dự đoán được, tương tự như các giao dịch trong thế giới thực.


Giao dịch Radix là một “bảng kê khai” hướng dẫn mô tả trực tiếp chuyển động của tài sản giữa các tài khoản và các thành phần (dạng hợp đồng thông minh của Radix).


Đây là bảng kê khai giao dịch thực (không có địa chỉ, để rõ ràng) mô tả một giao dịch giống như ví dụ về trao đổi trong thế giới thực của chúng tôi:



Lưu ý rằng bạn không nhìn vào một bản tóm tắt - đó thực sự là nội dung của một giao dịch Radix thực sự trông như thế nào! Tương tự như cách người dùng mô tả một giao dịch trong thế giới thực, bảng kê khai mô tả giao dịch theo các chuyển động của tài sản quan trọng đối với người dùng.


Đây là những gì đang xảy ra trong 4 hướng dẫn của bảng kê khai này:


  1. Tôi yêu cầu một trong các tài khoản của mình rút 20 USD token. (Tôi hy vọng các mã thông báo 20 USD sẽ được trả lại cho một thứ gọi là “bàn giao dịch”, mà bạn có thể coi là quầy trao đổi. Đây chỉ là nơi tạm thời để tài sản ngồi khi chúng được di chuyển xung quanh trong một giao dịch.)
  2. Tôi quét sạch 20 USD đó khỏi bàn làm việc và cho vào một chiếc “xô”. (Nhóm chỉ là nơi chứa tài sản mà tôi có thể chuyển sang những thứ khác.)
  3. Tôi chuyển trực tiếp thùng USD sang phương thức “giao dịch” của thành phần trao đổi. (Tôi hy vọng sàn giao dịch sẽ tìm ra tỷ giá hối đoái và trả lại một số mã thông báo GBP cho bàn làm việc.)
  4. Tôi quét những thứ bên trong bàn làm việc trở lại ví của mình.


Tôi ký giao dịch này – đó là cách tài khoản của tôi biết rằng tôi được phép rút 20 USD token – và gửi giao dịch đó lên mạng.


Giống như kịch bản trong thế giới thực, mặc dù tôi có thể không có quyền kiểm soát hoạt động nội bộ của sàn giao dịch, nhưng tôi có quyền kiểm soát trực tiếp những gì quan trọng đối với tôi: các mã thông báo di chuyển vào và ra khỏi tài khoản của tôi và những gì tôi muốn tương tác.


Đây đã là một cải tiến lớn so với một giao dịch chỉ gửi tin nhắn đến một hợp đồng thông minh. Nhưng có điều gì đó còn thiếu…

Đưa người dùng vào quyền kiểm soát

Trong ví dụ thực tế, tôi đảm bảo rằng mình nhận được 16,08 GBP (có thể dựa trên tỷ giá hối đoái hiện tại và phí dự kiến) cho 20 USD của mình trước khi chấp nhận giao dịch. Tôi có nên mong đợi có thể làm điều tương tự với giao dịch Radix trước khi tôi ký và gửi nó không?


Trên thực tế, tôi (với sự trợ giúp của phần mềm ví của mình) có thể làm điều tương tự bằng cách thêm một hướng dẫn vào bảng kê khai giao dịch. Đây là hướng dẫn thứ hai đến cuối cùng “ASSERT_WORKTOP_CONTAINS_BY_AMOUNT” tại đây:



Hướng dẫn trong tệp kê khai là "xác nhận" rằng bàn làm việc chứa ít nhất 16,08 mã thông báo GBP trước khi tôi gửi tiền trở lại tài khoản của mình. Điều này có nghĩa là khi giao dịch này được xử lý bởi mạng, nếu khẳng định đó không đúng (giả sử, nếu sàn giao dịch chỉ trả lại 15 GBP hoặc trả lại sai loại mã thông báo hoàn toàn) thì giao dịch sẽ bị mạng từ chối . Toàn bộ sự việc sẽ không xảy ra bởi vì tôi đã không nhận được những gì tôi mong đợi.


Điều này hoạt động vì bảng kê khai giao dịch là nguyên tử . Đó chỉ là một cách nói hoa mỹ rằng mọi thứ trong bảng kê khai giao dịch phải chạy thành công mà không gặp sự cố, nếu không sẽ không có sự cố nào xảy ra.


Điều này là vô cùng mạnh mẽ. Giống như trao đổi trong thế giới thực, tôi không cần phải quan tâm đến logic trao đổi nội bộ. Tôi được bảo vệ khỏi những thứ như trượt giá hoặc dẫn đến kết quả mà tôi không muốn theo cách hoàn toàn nằm trong tầm kiểm soát của tôi mà không cần dựa vào logic hợp đồng thông minh.


Ví Radix có thể trực tiếp thêm kỳ vọng của tôi với tư cách là người dùng vào bảng kê khai giao dịch cho tôi và mạng sẽ đảm bảo tất cả những kỳ vọng đó được tôn trọng – nếu không thì tiền của tôi sẽ không bao giờ rời khỏi túi của tôi.

Khắc phục trải nghiệm người dùng giao dịch

Việc có các giao dịch được cấu trúc theo cách này cũng chính xác là những gì cần thiết để cho phép Ví Radix cung cấp cho người dùng loại UX mà các giao dịch tài sản Web3 cần phải sẵn sàng cho dòng chính.


Để xem điều đó có nghĩa là gì, đây là cách giao dịch trao đổi của chúng tôi sẽ được trình bày cho người dùng trong Ví Radix:



Chế độ xem này không được tạo bởi dApp trao đổi. Đây chính là Ví Radix tóm tắt một cách an toàn những gì quan trọng đối với tôi bằng cách đọc trực tiếp nội dung của chính giao dịch đó . Và nếu bạn xem lại bảng kê khai giao dịch ở trên, bạn có thể thấy cách Ví Radix có thể tự động dịch nó thành giao diện người dùng tóm tắt cho người dùng:


  • RÚT TIỀN: Việc rút tiền từ tài khoản được hiển thị trực tiếp và ví có thể xem tài khoản nào thuộc sở hữu của người dùng ví.
  • Sử dụng dApps: Các thành phần khác có liên quan đến giao dịch được liệt kê dưới dạng dApps mà người dùng có thể hiểu được. (Để tìm hiểu cách Radix Wallet thực hiện việc này, hãy xem Radix's Hệ thống định nghĩa dApp cho phép nhà phát triển liên kết các thành phần với mô tả rõ ràng trên sổ cái về dApp của họ.)
  • GỬI TIỀN: Tiền gửi vào tài khoản của người dùng cũng được hiển thị trực tiếp. Bất kỳ khoản tiền gửi nào không có số lượng cụ thể trong bảng kê khai giao dịch đều được "ước tính" thông qua lần chạy trước của giao dịch và "bảo đảm" (hướng dẫn "xác nhận" mà chúng tôi đã mô tả trước đó) sẽ tự động được thêm vào theo tùy chọn của người dùng.
  • PHÍ GIAO DỊCH: Và tất nhiên, ví hiển thị phí giao dịch bắt buộc (thêm về điều đó bên dưới).


Kết quả là một bản tóm tắt giao dịch có ý nghĩa và phù hợp với người dùng, được đảm bảo chính xác và hoàn toàn không đáng tin cậy . Người dùng biết chính xác điều gì sẽ xảy ra với tài khoản và tài sản của họ nếu họ ký – như họ mong đợi. Khi mọi phần của ngăn xếp được thiết kế để hoạt động cùng nhau nhằm kích hoạt một sản phẩm có khả năng phổ biến, bạn không cần phải từ bỏ trải nghiệm người dùng tốt để chuyển sang phi tập trung.

Xác thực rõ ràng, linh hoạt

Hãy nói về một công cụ khác trong hộp công cụ giao dịch Radix.


Máy ảo Radix Engine bao gồm một hệ thống xác thực tích hợp mạnh mẽ cho các thành phần sử dụng “huy hiệu”. Giống như thẻ thành viên trong ví của bạn, huy hiệu là tài sản mà bạn sở hữu mà bạn có thể “xuất trình” bằng chứng trong một giao dịch. Các thành phần có thể kiểm tra xem bạn đã đưa ra bằng chứng nhất định như một điều kiện tiên quyết để thực hiện điều gì đó chưa.


Xuất trình bằng chứng về huy hiệu chỉ là một hướng dẫn khác trong bảng kê khai giao dịch yêu cầu bằng chứng đó từ tài khoản giữ huy hiệu. Nó giống như rút thẻ thành viên ra khỏi ví thật của tôi để cho ai đó xem.


Điều này có nghĩa là một lần nữa Radix Wallet có thể hiển thị cho người dùng chính xác những gì đang diễn ra. Hãy tưởng tượng rằng dApp trao đổi của chúng tôi cần xem bằng chứng rằng tôi có huy hiệu cho biết tôi đã hoàn thành một số kiểm tra KYC từ bên thứ ba. Kết quả là một giao dịch được trình bày như sau:



Một lần nữa, tôi nhận được bản trình bày rõ ràng rằng một huy hiệu nhất định đang được trình bày và có thể quyết định xem tôi có hài lòng với huy hiệu đó hay không trước khi ký.

Không mã, khả năng kết hợp nguyên tử theo yêu cầu

Bây giờ hãy nói về tính linh hoạt và sức mạnh của các giao dịch Radix. Một trong những siêu năng lực của bảng kê khai giao dịch là khả năng “soạn thảo” nhiều ứng dụng dApp trong một giao dịch nguyên tử duy nhất – không cần mã hợp đồng thông minh.


Hãy tưởng tượng tôi muốn vay một khoản vay từ hợp đồng thông minh dApp cho vay, sau đó sử dụng khoản vay đó để thực hiện một giao dịch nhất định từ hợp đồng thông minh DEX. Tôi có thể muốn đảm bảo rằng tôi chỉ vay tiền nếu tôi thực sự có thể thực hiện giao dịch đó.


Trên các mạng khác, bạn chỉ có một tùy chọn: viết và triển khai một hợp đồng thông minh đặc biệt mà bạn có thể gọi nó theo logic này. Sau khi được triển khai, hợp đồng thông minh đó sẽ nhận được yêu cầu của bạn trong một giao dịch, gọi hợp đồng thông minh cho vay, cố gắng gọi DEX (giả sử tôi đã nhận được tiền cho vay) và đảm bảo kiểm tra xem hoán đổi DEX có thành công hay không. Đây là một quy trình gồm nhiều bước đòi hỏi chuyên môn về hợp đồng thông minh, cần có thời gian, chỉ dành cho một mục đích và thường rất tốn kém về phí mạng.


Trên Radix, nó chỉ là bảng kê khai giao dịch gồm một số hướng dẫn:


  • Gọi thành phần cho vay để vay tiền
  • Đặt mã thông báo đã cho vay vào thùng và chuyển chúng đến DEX
  • Khẳng định rằng DEX đã trả lại những gì bạn mong đợi (giao dịch không thành công nếu điều này không đúng)
  • Gửi kết quả vào tài khoản của bạn


Bạn có thể xây dựng bảng kê khai giao dịch đơn giản này theo yêu cầu trong giao diện người dùng web đơn giản. Không có mã hợp đồng thông minh hoặc triển khai trước thời hạn, không cần kiểm tra tỉ mỉ về kết quả hợp đồng thông minh; bạn chỉ cần mô tả cách bạn muốn tài sản di chuyển giữa tài khoản của mình và các thành phần dApp và gửi.


Điều này mở ra một loạt các khả năng mới. Toàn bộ các phân đoạn của DeFi dApps giúp người dùng tìm các tuyến giao dịch tốt nhất có thể được xây dựng hoàn toàn dưới dạng giao diện người dùng của trang web, bởi các nhà phát triển không bao giờ chạm vào mã hợp đồng thông minh. Sự kết hợp rất phức tạp của các giao thức tài chính có thể được kết hợp với nhau trong thời gian thực để tận dụng các cơ hội phù du. Và bằng cách sử dụng các lan can bảo vệ “khẳng định” trong các giao dịch, các giới hạn rõ ràng và trực tiếp có thể được đặt vào kết quả cuối cùng mong muốn mà không cần quan tâm đến hoạt động bên trong của các thành phần được gọi.

Phí mạng thanh toán dApp

Đây là một tính năng quan trọng khác của giao dịch Radix dành cho nhà phát triển. Nhiều nhà phát triển dApp muốn coi phí mạng là chi phí cơ sở hạ tầng mà họ phải trả cho người dùng của mình, vì vậy người dùng không bao giờ phải nghĩ về chúng. Ví dụ: có thể người dùng của họ chỉ muốn giao dịch bằng USDC và không bao giờ chạm vào ETH hoặc có thể họ chỉ muốn cung cấp điều này như một lợi ích vô hình cho người dùng, chẳng hạn như người bán thanh toán phí giao dịch Visa khi chạy thẻ ghi nợ của khách hàng.


Các giao dịch hiện tại làm cho điều này là không thể – người ký phải là người trả phí. Trên Radix, thanh toán phí linh hoạt hơn nhiều; bất cứ điều gì có thể trả nó trong quá trình giao dịch.


Trên thực tế, tôi đã gian lận một chút khi cho bạn xem bảng kê khai giao dịch trước đó. Trong trường hợp điển hình khi người dùng thanh toán phí giao dịch, sẽ có một hướng dẫn kê khai bổ sung cho một trong các tài khoản của người dùng để “khóa” phí mạng cho giao dịch. Nhưng người dùng không bắt buộc phải khóa khoản phí đó nếu có điều gì đó khác sẵn sàng thực hiện việc khóa khoản phí đó trong quá trình giao dịch.


Ví dụ: Hãy tưởng tượng tôi là người dùng đã đăng ký, đã biết với một dApp trao đổi và họ muốn trả phí mạng cho tôi khi tôi sử dụng hệ thống của họ. Họ cấp cho tôi một tài sản huy hiệu người dùng mà tôi giữ trong một trong các tài khoản đại diện cho đăng ký của tôi. Bây giờ trong các giao dịch, tôi có thể xuất trình huy hiệu đó cho thành phần trao đổi (giống như chúng ta đã thấy trước đó với huy hiệu KYC) và trao đổi có thể kiểm tra bằng chứng đó và sau đó khóa phí cho giao dịch. Nếu làm như vậy, Ví Radix của tôi sẽ thấy rằng không cần khóa thêm phí và cứ như thể phí mạng bằng 0 một cách kỳ diệu.

Lưu ý cuối cùng về Sharding

Đối với những người thích tìm hiểu sâu về công nghệ, có một lợi ích tuyệt vời khác của mô hình giao dịch của Radix: nó phân mảnh tốt.


Nhìn về phía trước để nâng cấp mạng Xi'an khi giao thức đồng thuận Cerberus song song hóa ồ ạt của Radix ( đánh giá ngang hàng gần đây ) sẽ triển khai để cung cấp khả năng mở rộng không giới hạn, điều quan trọng là mô hình giao dịch phải phù hợp.


Để kích hoạt song song lớn, Cerberus dựa vào việc có thể tách trạng thái của tài khoản và thành phần trên số lượng phân đoạn hầu như không giới hạn (hoặc "chuỗi" có thể là một thuật ngữ mô tả nhiều hơn), trong khi có thể biết cụ thể phân đoạn nào trong số đó phải được tập hợp lại để đạt được sự đồng thuận cho mỗi giao dịch .


Bề ngoài, điều này nghe có vẻ giống như Cardano, vốn phân mảnh trạng thái của nó thành các bit trạng thái được gọi là “eUTXOs”. Sau đó, các giao dịch Cardano (tương tự như Bitcoin) bao gồm một đặc điểm kỹ thuật trực tiếp mà eUTXO sẽ được sử dụng để tạo ra kết quả của một giao dịch nhất định. Vấn đề với điều này là nó tạo ra sự tranh chấp . Một hợp đồng thông minh nhất định (chẳng hạn như DEX) có thể có một nhóm mã thông báo mà nhiều người đang cố gắng tương tác cùng một lúc. Nếu các giao dịch đang chọn các eUTXO mã thông báo riêng lẻ để sử dụng từ trong nhóm đó, thì gần như đảm bảo rằng khách hàng sẽ thường chọn các eUTXO giống nhau và do đó khiến nhiều giao dịch không thành công, mặc dù có rất nhiều mã thông báo trong nhóm để đáp ứng mong muốn của mọi người.


Thay vào đó, trên Radix, danh sách hướng dẫn trong bảng kê khai giao dịch là biểu hiện của ý định . Tôi không cần chỉ định các phần trạng thái riêng lẻ sẽ được sử dụng; Tôi chỉ phải chỉ định những tài khoản và thành phần nào mà tôi muốn tương tác – điều mà tôi vẫn muốn làm một cách tự nhiên.


Sau đó, khi giao dịch thực sự được xử lý bởi mạng Radix, ý định đó có thể được dịch một cách xác định thành định nghĩa về trạng thái nào cần được cập nhật – và đến lượt các phân đoạn nào phải tham gia vào sự đồng thuận. Điều đó có nghĩa là hai giao dịch tương tác với cùng một hợp đồng thông minh sẽ không tự động tạo ra một cuộc đua mà chỉ một giao dịch có thể thành công. 10 người có thể gửi giao dịch một cách đáng tin cậy để rút 5 mã thông báo từ nhóm 50 mã thông báo cùng một lúc và tất cả họ sẽ thực hiện lần lượt mà không gặp sự cố.

Điểm mấu chốt

Bằng cách xác định lại cách tất cả các giao dịch hoạt động trên Radix, tận dụng các khả năng hướng đến tài sản vốn có của Radix, nhiều vấn đề của nhà phát triển và người dùng sẽ biến mất. Loại giải pháp này không thể được vá vào mạng hiện có – tất cả các giả định về cách thức hoạt động của hợp đồng thông minh, tài sản và giao dịch đã được đưa vào giao thức và thiết kế máy ảo của chúng.


Hình thức giao dịch mới của Radix đang được giới thiệu cùng với khả năng hợp đồng thông minh của Scrypto và Ví Radix hoàn toàn mới trên mạng chính Radix khi phát hành “Babylon”.