Đường đến Neo3: Hợp đồng định danh riêng biệt

TIN TỨC NEO
2020-02-13


Trong bài viết Road to Neo3 trước đây, chúng tôi đã thảo luận về việc sử dụng băm tập lệnh trên Neo2 và các vấn đề chúng có thể gây ra cho các nhà phát triển và mạng. Mặc dù các vấn đề liên quan đến di chuyển dữ liệu có thể được giảm thiểu thông qua các hồ sơ chuyển hướng hợp đồng, nhưng các vấn đề khác chưa được giải quyết đã thúc đẩy một cách tiếp cận khác thay thế.


Việc triển khai hợp đồng định danh riêng biệt là theo đề xuất của Erik Zhang, anh đã giải thích lợi ích của việc thay đổi:


“Sự khác biệt chính là với GUID, bạn không cần phải thêm hồ sơ chuyển hướng và hợp đồng có thể được nâng cấp bất cứ lúc nào mà không cần ghi lại thông tin bổ sung để ngăn các hợp đồng cũ được triển khai. Bởi vì nếu một hợp đồng cũ được triển khai, GUID mới sẽ được tạo.”


Ngoài việc loại bỏ nhu cầu di chuyển lưu trữ hợp đồng, một ưu điểm khác của phương pháp này là các hợp đồng sẽ không còn thay đổi định danh (mã băm) sau khi cập nhật. Một ID xác định được gán cho mỗi hợp đồng được triển khai, vẫn tồn tại giữa các lần cập nhật mã. Điều này có nghĩa là các nhà cung cấp dịch vụ tích hợp với hợp đồng Neo sẽ không còn cần phải cập nhật thủ công cơ sở hạ tầng của họ bất cứ khi nào hợp đồng được cập nhật.


Triển khai hợp đồng ID

Zhang đã làm theo đề xuất của mình bằng một quá trình triển khai đơn giản, thay thế băm tập lệnh bằng UIDcung cấp sơ đồ tạo UID xác định.


Trong khi xem xét đề xuất, nhà phát triển phần mềm NGD, Mạnhyu Liu nhấn mạnh rằng phương pháp tạo đơn giản này có thể tạo ra khả năng va chạm băm, khả năng này có thể dẫn đến việc tấn công tính năng lưu trữ hợp đồng.


Lưu ý sự cần phải tạo UID an toàn và nhất quán, Liu đã đề xuất hai phương pháp thay thế để tạo ID hợp đồng bắt buộc. Sau khi ban đầu đề xuất sử dụng chiều cao khối, chỉ số giao dịch và bộ đếm để tạo khóa, một bộ đếm toàn cầu đã được đề xuất.


Sức mạnh của phương pháp truy cập toàn cầu nằm ở sự đơn giản của nó. Mỗi lần hợp đồng được triển khai vào blockchain Neo3, nó sử dụng bộ đếm để xác định và lấy số ID có sẵn tiếp theo và bộ đếm được tăng lên. Quá trình này được lặp lại trên mỗi lần triển khai mới, đảm bảo mỗi hợp đồng nhận được một số ID duy nhất.


Liu cung cấp các triển khai cho cả hai phương pháp, tuy nhiên bộ đếm toàn cầu có vẻ được yêu thích hơn bởi các nhà phát triển vì nó giúp họ không cần phải lo ngại về các vấn đề va chạm băm. Một nhược điểm được phát hiện theo cách tiếp cận này là các hợp đồng bản địa không thể sử dụng trực tiếp hợp đồng ID, vì bộ đếm toàn cầu (và do đó tất cả ID hợp đồng) sẽ bị ảnh hưởng nếu một hợp đồng bản địa mới được thêm vào trong tương lai.


Lỗ hổng này đã được giải quyết bởi nhà phát triển cốt lõi Shargon, họ cho rằng các hợp đồng bản địa nên có giá trị âm, cho phép chúng tận dụng cùng một bộ đếm toàn cầu nhưng không ảnh hưởng đến ID hợp đồng thông thường khi thêm hợp đồng gốc. Thay vào đó, mỗi hợp đồng bản địa mới sẽ có một ID giảm dần (-1, -2, -3 .. vv).


Mặc dù được triển khai ban đầu với mục đích ngăn chặn các cuộc tấn công DoS, ID hợp đồng duy nhất sẽ mang lại nhiều lợi thế cho các nhà phát triển, bên thứ ba và thậm chí giúp giảm kích thước blockchain.

TINTUCNEO – Tham gia các cộng đồng Tin tức NEO tại:
Website tin tức
Medium tin tức
Telegram tin tức
Telegram Thảo luận
Fanpage tin tức
Kênh Youtube



Xin chào

Admin TINTUCNEO xin chào bạn



0 bình luận. Để lại câu hỏi & nhận trả lời nhanh qua email.




Bài cùng chủ đề
Da Hongfei xuất hiện với tư cách diễn giả tại IstanBlock 2020
Người sáng lập Neo và Giám đốc điều hành của Neo Global Development (NGD) - Da Hongfei, sẽ xuất hiện với tư cách là một diễn giả tại hội nghị IstanBlock 2020 trong Tuần lễ Blockchain Istanbul vào tháng Tư.

2020-02-16

City of Zion đổi tên thành COZ, hợp nhất thành công ty
Tập đoàn phát triển phần mềm COZ, trước đây gọi là City of Zion, đã thành lập như một công ty ở bang Delaware, đã đăng ký hoạt động tại Colorado. Động thái này đã được lên kế hoạch từ lâu khi COZ tìm cách chính thức hóa hoạt động của mình.

2020-02-15

Neo tham gia Blockchain Education Alliance để tăng cường tiếp xúc với các trường đại học
Neo Global Development (NGD) tuyên bố đã gia nhập Liên minh giáo dục Blockchain của MouseBelt, một tập đoàn gồm các thực thể ngành công nghiệp blockchain tìm cách hỗ trợ giáo dục, nghiên cứu và khởi nghiệp tại các trường đại học và hơn thế nữa. Các đối tác khác trong Liên minh Blockchain bao gồm Mastercard, Binance X, Ripple Xpring, Onology, KuCoin, và nhiều hơn nữa.

2020-02-14

NeoSPCC phát hành cổng giao thức Amazon S3 để thử nghiệm trong neofs-local
Trung tâm Năng lực Neo Saint Petersburg (Neo SPCC) đã công bố phát hành cổng giao thức S3 cho NeoFS, hiện có sẵn như là một phần của neofs-local. Đây là cổng thứ hai được nhóm triển khai, theo sau cổng HTTP được thể hiện bởi dịch vụ Send.NeoFS.

2020-02-14

Tham gia Cộng đồng NEO Việt Nam - TINTUCNEO
NEO-based projects? Contact us at [email protected] for collaborations in the Vietnam market