NEAR và TRON đều là những chuỗi thông lượng cao được thiết kế cho các giao dịch phí thấp, nhưng kiến trúc của chúng khác biệt một cách đáng kinh ngạc. Những tính năng định hình của NEAR — tên tài khoản dễ đọc, Hợp đồng thông minh dựa trên WASM, Khóa TRX để lưu trữ, và các lệnh gọi chéo hợp đồng (cross-contract calls) bất đồng bộ — không có đối trọng trực tiếp trên TRON. Hướng dẫn này ánh xạ từng sự khác biệt một cách cụ thể.
Hệ thống tài khoản của NEAR là khía cạnh đặc biệt nhất của giao thức và không có đối trọng ở bất kỳ đâu trên TRON.
Khái niệm
NEAR
TRON
Định danh tài khoản
Tên dễ đọc (alice.near) hoặc 64 ký tự hex (tài khoản ngầm định)
Địa chỉ Base58Check có tiền tố T (34 ký tự) — luôn luôn là mật mã học (cryptographic)
Tài khoản phụ (Sub-accounts)
Có — sub.alice.near là một tài khoản riêng biệt được sở hữu bởi alice.near
Không có tài khoản phụ — mỗi địa chỉ là độc lập
Tạo tài khoản
Rõ ràng — ai đó phải trả chi phí kích hoạt để tạo một tài khoản có tên
Ngầm định — bất kỳ địa chỉ nào cũng có thể nhận TRX; phí kích hoạt 1 TRX ở lần nhận đầu tiên
Quản lý khóa
Nhiều khóa truy cập cho mỗi tài khoản (truy cập toàn quyền hoặc bị hạn chế gọi hàm)
Một khóa riêng duy nhất cho mỗi địa chỉ (hoặc đa chữ ký - multi-sig với các trọng số có thể định cấu hình)
Các loại khóa truy cập
Khóa toàn quyền (tất cả hành động) so với khóa gọi hàm (các phương thức và hạn mức bị giới hạn)
Khóa toàn quyền (full access) so với đa chữ ký (cần nhiều người phê duyệt)
Xóa tài khoản
Các tài khoản có thể bị xóa, số dư chuyển sang người thụ hưởng
Không có khái niệm xóa địa chỉ trên TRON
Tác động thực tế: Các tài khoản được đặt tên của NEAR làm cho các địa chỉ ví dễ đọc trong giao diện người dùng (alice.near so với TJYea...VPCX). TRON không có khái niệm tương đương — việc gắn nhãn địa chỉ chỉ diễn ra off-chain (tên liên hệ TRONSCAN, sổ địa chỉ ví).
Lưu trữ là một trong những khác biệt có hệ quả lớn nhất giữa NEAR và TRON đối với các nhà phát triển.
Khái niệm
NEAR
TRON
Chi phí lưu trữ
Khoảng 1 NEAR cho mỗi 100 KB lưu trữ on-chain
Miễn phí — không có phí lưu trữ trên TRON
Mô hình thanh toán
NEAR bị khóa (staked) trong suốt vòng đời của dữ liệu — được hoàn lại khi xóa
Không áp dụng
Tạo tài khoản
Yêu cầu một khoản tiền gửi (deposit) để bù đắp chi phí lưu trữ
Phí kích hoạt 1 TRX (cố định, không tỷ lệ với lưu trữ)
Triển khai hợp đồng
Phải chi trả lưu trữ cho bytecode
Chỉ tốn phí Năng lượng — không cần tiền gửi lưu trữ
Xóa object
Giải phóng NEAR đã stake trở lại tài khoản
Trạng thái là vĩnh viễn một khi đã ghi — không xóa, không hoàn tiền
Tác động thực tế: Các hợp đồng NEAR được viết với nhận thức về lưu trữ — bạn luôn biết mình đang tạo ra bao nhiêu trạng thái và ai trả tiền cho nó. Trên TRON, lưu trữ là miễn phí nhưng vĩnh viễn. Đừng chuyển (port) logic quản lý lưu trữ của NEAR sang TRON; nó không áp dụng được.
Bất đồng bộ — các lệnh gọi chéo hợp đồng sử dụng promises và callbacks
Đồng bộ — các lệnh gọi hoàn thành trong cùng một giao dịch
Mô hình trạng thái
Kho lưu trữ khóa-giá trị (key-value) cho mỗi tài khoản (dựa trên trie)
Các khe (slots) lưu trữ bên trong hợp đồng (Bố cục EVM)
Khả năng nâng cấp
Các hợp đồng có thể được triển khai lại vào cùng một tài khoản bởi chủ tài khoản
Bất biến mặc định — yêu cầu sử dụng mẫu proxy
Kích thước hợp đồng
Bị giới hạn bởi giới hạn lưu trữ của tài khoản
Lên đến 500KB bytecode (lớn hơn giới hạn 24KB của Ethereum)
Dành cho các nhà phát triển NEAR: Sự thay đổi quan trọng nhất là từ bất đồng bộ (async) sang đồng bộ (sync). Các lệnh gọi chéo hợp đồng của NEAR là các promise thực thi trong các biên lai (receipts) tiếp theo, với các callbacks để xử lý kết quả và lỗi. Trên TRON, một lệnh gọi nội bộ từ hợp đồng A sang hợp đồng B sẽ hoàn tất trước khi quyền điều khiển trả về — không có mô hình callback. Điều này cũng có nghĩa là reentrancy là một mối lo ngại thực sự trên TRON theo cái cách mà nó không tồn tại trên NEAR (nơi mô hình async tự nhiên tránh được nó trong hầu hết các trường hợp).
Nightshade sharding — nhiều phân đoạn (shard) xử lý giao dịch song song
Không có — chuỗi đơn, tất cả giao dịch trong cùng một môi trường thực thi
Lệnh gọi chéo shard
Được xử lý tự động bởi giao thức (các receipt async)
Không áp dụng
Mở rộng thông lượng
Theo chiều ngang (horizontal) qua các shard
Theo chiều dọc (vertical) — một chuỗi, bị giới hạn bởi dung lượng khối
Các chi tiết về sharding phần lớn là vô hình (transparent) đối với các nhà phát triển ứng dụng trên NEAR. Trên TRON, không có sharding nào cần phải xem xét — tất cả trạng thái nằm ở cùng một nơi.
NEAR nhanh hơn TRON khoảng 5 lần ở tính cuối cùng thực tế (practical finality). Đối với các ứng dụng hướng tới người dùng (user-facing) nơi thời gian phản hồi rất quan trọng, đây là một sự khác biệt có thể nhận thấy được.