Đồng tiền điện tử Zilliqa (ZIL) là gì? Cùng tìm hiểu về một giải pháp hiệu năng cao

Thảo luận trong 'Cơ bản' bắt đầu bởi Cờ ríp tô cơ rừn si, 10/5/18. Trả lời: 0 Xem: 454.

  1. Cờ ríp tô cơ rừn si
    Zilliqa (ZIL) là một đồng tiền điện tử dựa trên nền tảng blockchain công cộng đầu tiên được thiết kế để triển khai kỹ thuật sharding, qua đó cho phép hệ sinh thái này có thể mở rộng tuyến tính khi nền tảng blockchain phát triển về kích thước.

    Zilliqa.png
    Cho đến nay, khả năng mở rộng quy mô (scalability) là một vấn đề lớn đối với các nền tảng blockchain hiện có.

    Hiện nay Bitcoin đã không thể xử lý và đáp ứng tất cả các nhu cầu về hạ tầng mạng lưới của mình và phí giao dịch đã tăng lên tương ứng. Tương tự như vậy với Ethereum nơi mà thông lượng đang bị giới hạn làm cho chi phí GAS khi triển khai các hợp đồng thông minh tăng lên mạnh mẽ. Một ví dụ điển hình của tình trạng này xuất phát từ sự phổ biến của ứng dụng Crypto Kitties khi đó nó đã làm giảm đáng kể tốc độ mạng lưới Ethereum và đã cho thấy các giới hạn của mạng lưới này được phơi bày.

    Zilliqa về cơ bản thay đổi cách một nền tảng blockchain đạt được sự đồng thuận. Giải pháp sharding của họ có tính mở rộng quy mô. Về mặt lý thuyết, không có giới hạn về số lượng giao dịch mà Zilliqa có thể xử lý mỗi giây. Tuy nhiên, thực tế, tùy thuộc vào số lượng các nút trên mạng, Zilliqa có thể xử lý hàng chục hoặc hàng trăm nghìn giao dịch mỗi giây.

    Zilliqa cũng hứa hẹn sẽ hỗ trợ các hợp đồng thông minh. Việc vận hành các hợp đồng thông minh trên một mạng lưới phân tán là một thách thức kỹ thuật lớn đối với Zilliqa. Trong bài viết này, chúng ta sẽ khám phá cách họ tiếp cận khả năng mở rộng cho các giao dịch và cho các hợp đồng thông minh. Chúng ta cũng sẽ tìm hiểu về nhóm phát triển và lộ trình của Zilliqa để đưa ra các đánh giá.

    Trọng tâm giải quyết khả năng mở rộng

    Blockchain đang có những nhược điểm tiềm tàng về khả năng mở rộng mạng lưới. Bạn càng có nhiều nút tham gia mạng lưới thì càng khó đạt được sự nhất trí.

    Để minh họa cho vấn đề này, bạn có thể liên tưởng đến sự đồng thuận về mặt con người:
    • Với một nhóm nhỏ bạn bè thân thiết của bạn, thật đơn giản để đưa ra quyết định. Bạn có thể không phải lúc nào cũng cần đồng tình, nhưng thật đơn giản để xem mọi người cảm thấy như thế nào.
    • Đối với một nhóm lớn hơn, giống như một khán phòng đầy đủ mọi người, bạn có thể có người giơ tay để nhanh chóng bỏ phiếu. Nhưng nó sẽ trở nên khó kiểm soát hơn, và bạn không thể chắc chắn mọi người đều hành động một cách trung thực.
    • Với các nhóm hàng nghìn hoặc hàng triệu cá nhân, bạn sẽ cần một hệ thống bỏ phiếu phức tạp hơn, cần nhiều năng lượng hơn. Bạn cũng không thể chắc chắn mọi người đang hành động với đức tin tốt, và thật khó để đạt được kết quả với hàm ý rằng mọi người đều đã bỏ phiếu để đưa ra một câu trả lời rõ ràng.

    Như vậy bạn có thể thấy sự đồng thuận trở nên phức tạp hơn khi mạng lưới của bạn lớn hơn. Tốc độ và chất lượng của sự đồng thuận và kích thước mạng lưới có một mối tương quan tỷ lệ nghịch.
    Các giải pháp khác cho vấn đề về khả năng mở rộng blockchain hầu hết đều tập trung vào việc đưa một số thông tin ra ngoài chuỗi. Hoặc, họ tìm cách để tăng kích thước khối block qua đó thiết lập sự đồng thuận hiệu quả với giao dịch nhiều hơn trong mỗi vòng đồng thuận. Các giải pháp này có thể hoạt động như một giải pháp tạm thời, nhưng về cơ bản chúng không khắc phục được vấn đề cốt lõi về khả năng mở rộng.
    Để khắc phục, bạn cần phải thay đổi kiến trúc của toàn bộ hệ thống để tốc độ đồng thuận và kích thước mạng có tương quan tích cực.

    Giải pháp Zilliqa như thế nào
    Zilliqa đã tìm ra cách để xử lý nhiều giao dịch hơn khi nhiều nút tham gia vào mạng lưới hơn. Mô hình mới của họ triển khai một giao thức đồng thuận lai ghép để qua đó gia tăng thông lượng của mạng lưới với mỗi nhóm 600 nút mới tham gia.

    Về lý thuyết, mỗi 600 nút mới được thêm vào thông lượng của Zilliqa sẽ tăng lên bằng cách chia sẻ công việc. Trong thực tế, có vấn đề với quy trình phát tán các giao dịch lên mạng lưới nếu mạng lưới trở nên quá lớn (trên 1 triệu nút). Tuy nhiên, 1 triệu nút là một giới hạn quá lớn và gần như chỉ có trong lý thuyết. Hiện tại mạng lưới Bitcoin đang có khoảng 11.000 nút đang hoạt động. Ethereum, mạng lưới có nhiều nút nhất với gần 25.000 nút.

    Mạng lưới Bitcoin và Ethereum với hàng chục nghìn nút có thể vẫn chỉ xử lý được 3-15 giao dịch mỗi giây. Ngược lại, các thử nghiệm gần đây trên mạng testnet riêng (sử dụng dịch vụ ảo hóa AWS) đã cho kết quả rằng mạng Zilliqa đạt được thông lượng 1.218 giao dịch/giây khi có 1.800 nút cùng hoạt động. Tăng số lượng nút lên 3.600 cho thấy mạng lưới Zilliqa đã đạt đến 2.488 giao dịch/giây.

    phan-manh.jpeg
    Kỹ thuật phân mảnh (Sharding): Phân chia công việc trên mạng lưới
    Làm thế nào để Zilliqa đạt được khả năng mở rộng như vậy?
    Họ sử dụng một giải pháp được gọi là sharding. Theo đó giao thức Zilliqa chia số lượng các nút khai thác trên mạng thành các nhóm 600 nút. Mỗi nhóm được gọi là một phân đoạn hay phân mảnh.
    Trong các ví dụ thử nghiệm với mạng testnet ở trên, khi hoạt động với 1.800 nút, mạng testnet này sẽ chia thành 3 nhóm. Khi hoạt động với 3.600 nút, sẽ có 6 nhóm. Khi có nhiều nút tham gia vào mạng, Zilliqa có thể chia nhỏ mạng lưới hơn nữa, tạo thêm nhiều phân đoạn.

    sharding.png
    Mỗi phân đoạn đó xử lý một phần nhỏ của các giao dịch của mạng lưới. Theo đó nếu có 6 phân đoạn, mỗi phân đoạn sẽ xử lý khoảng 1/6 các giao dịch của mạng lưới. Càng có nhiều phân mảnh, mạng càng phân chia tải trọng đồng thuận giữa các phân đoạn, qua đó giữ cho nhu cầu tính toán tương đối ổn định.
    Mỗi phân đoạn xử lý các giao dịch được gán vào một block nhỏ được gọi là microblock song song với các phân mảnh khác. Khi kết thúc giai đoạn xử lý song song, được gọi là "khe DS", những microblock đó sẽ được kết hợp lại thành một khối đầy đủ và sẽ được gắn vào blockchain.

    Ủy ban DS: Nơi quản lý các phân mảnh
    Đối với mỗi khe DS sẽ có một số nút được chọn ngẫu nhiên để quản lý các phân đoạn khác nhau. Nhóm quản lý này được gọi là "ủy ban DS", sẽ làm nhiệm vụ chỉ đạo mạng lưới. Họ là người quyết định các nút nào được gán cho phân đoạn nào. Khi có các yêu cầu giao dịch mới ủy ban DS sẽ giao các giao dịch cho một phân đoạn để xử lý. Vào cuối khe DS, ủy ban DS sẽ lắp ráp khối hoàn chỉnh từ các khối con (microblock) mà các phân mảnh tạo ra.

    Cơ chế đồng thuận: PoW + BFT
    Zilliqa sử dụng một cơ chế đồng thuận lai ghép. Khi bạn lần đầu tiên tham gia khai thác, bạn sẽ phải hoàn thành giải thuật khai thác theo năng lực cho một khối mã hóa Hash. PoW yêu cầu sức mạnh tính toán đảm bảo rằng một máy chỉ có thể vận hành một nút. Như vậy, PoW sẽ giúp Zilliqa ổn định và an toàn và góp phần cản trở các nhân tố xấu tạo ra nhiều danh tính để áp đảo mạng lưới trong lý thuyết tấn công Sybil. Tuy nhiên, mạng lưới không chỉ sử dụng giải thuật khai thác theo năng lực cho cơ chế đồng thuận.

    Sau khi một nút đã được xác minh danh tính của nó, nó sẽ được gán cho một phân mảnh. Trong các phân mảnh, Zilliqa sử dụng cơ chế đồng thuận BFT. Đây là cơ chế đồng thuận ở mức cao hơn có tính toàn vẹn hơn. Theo đó hầu hết các nút trong phân đoạn phải đồng thuận với một miniblock được tạo ra. Khi một khối được xác nhận bởi các phân đoạn và bởi ủy ban DS thì nó sẽ là khối duy nhất có thể tham chiếu đến khối trước đó.

    Zilliqa không phải là nền tảng sổ cái phân tán đầu tiên triển khai BFT. Các đồng tiền điện tử như NEO, Tendermint và Hyperledger cũng sử dụng một phiên bản khác của cơ chế đồng thuận BFT.

    Hợp đồng lưu lượng dữ liệu và trạng thái Sharding
    Như tên gọi của nó, giao dịch sharding khá đơn giản. Bạn có thể dễ dàng chỉ định xác minh giao dịch cho các phân đoạn khác nhau. Mỗi phân đoạn sẽ đủ thầm quyền để xác minh các block con và không cần phải có sự tham gia và giao tiếp với các phân đoạn khác trong quá trình xác minh này.

    Tuy nhiên với việc vận hành các hợp đồng thông minh và các ứng dụng phân tán thì hoàn tòa ngược lại. Vấn đề là hoạt động của các hợp đồng thông minh thường dựa vào các quy trình kiểm tra các trạng thái, biến và hàm khác nhau. Như vậy nó sẽ đòi hỏi rất nhiều thông tin liên lạc giữa các phân đoạn. Những thông điệp này được gửi qua lại sẽ yêu cầu băng thông và sức mạnh xử lý lớn và do đó sẽ làm mất đi những lợi ích của sharding.

    Do đó, các hợp đồng thông minh của Zilliqa chỉ tập trung vào luồng dữ liệu và lập trình chức năng. Chúng không cho phép kiểm tra, lưu trữ hoặc thay đổi trạng thái.

    Như vậy cơ chế đồng thuận này không phải là cơ chế phân mảnh trạng thái mà nó chỉ là một cơ chế đảm bảo tính an toàn và hiệu quả. Nếu bạn cho phép các hợp đồng thông minh thực hiện ở các phân đoạn riêng biệt thì có thể có những cơ chế tiềm tàng tấn công mạng lưới, những thách thức về cơ chế giữa các phân đoạn và các luồng giao tiếp chéo quá ngưỡng.

    Tuy nhiên, hiện tại Ethereum vẫn đang kiếm tìm giảm pháp phân mảnh trạng thái. Hiện tại vẫn chưa rõ sáng kiến này đã tiến triển như thế nào trong tiến trình phát triển của cộng đồng này.

    Điều đó đã nói lên rằng, Zilliqa vẫn có thể được sử dụng cho các ứng dụng phân tán (dApp) đòi hỏi thông lượng cao. Bất kỳ dApp nào cần tỷ lệ giao dịch vượt quá mức hiện tại so với các blockchains khác thì có thể Zilliqa là một giải pháp tốt.

    Một ngôn ngữ lập trình mới
    Với mục tiêu làm cho lập trình chức năng được chuẩn hóa và bảo mật hơn, nhóm Zilliqa đã phát triển một ngôn ngữ lập trình mới được gọi là Scilla.

    Scilla tách trạng thái và chức năng. Nó là một ngôn ngữ lập trình chức năng qua đó đã tách biệt các chức năng giao tiếp của hợp đồng - chức năng chuyển tiền và chức năng gọi một hợp đồng khác - và chức năng tính toán thực tế của hợp đồng.

    Ngôn ngữ lập trình mới này không có tính chất hoàn toàn tối ưu (Turing-complete). Điều này có nghĩa là nó không hỗ trợ các ứng dụng cần một số loại vòng lặp hoặc câu lệnh có điều kiện nhất định. Tuy nhiên, tính không hoàn chỉnh của nó cho phép nó tuân theo các ý tưởng logic chính thức. Điều này rất quan trọng cho mục đích bảo mật và qua đó cho phép người dùng biết hợp đồng có thực sự an toàn theo cách có thể kiểm chứng trước khi sử dụng.

    Đồng ZIL
    Zilliqa có một đồng tiền điện tử nguyên gốc cho hệ sinh thái của nó. Tương tự như các nền tảng khác như Ethereum hoặc NEO, token ZIL hoạt động với vai trò là phần thưởng khuyến khích khai thác, chi phí thực thi hợp đồng và công cụ trả phí giao dịch cho mạng lưới.

    Ban đầu, ZIL là một token theo tiêu chuẩn ERC-20 trên nền tảng blockchain Ethereum. Điều này là do mạng mainnet của Zilliqa chưa được vận hành. Khi được hoàn thành token ERC-20 sẽ được trao đổi với token nguyên gốc Zilliqa.

    Zilliqa đã gọi vốn được khoảng 12 triệu USD bằng đồng ETH trong vòng gọi vốn cuối năm 2017. Sau vòng gọi vốn đó, giá ETH đã tăng mạnh làm tăng giá trị gọi vốn của đồng tiền này lên 20 triệu USD.

    Sau khi đạt được giới hạn trên (hard cap), Zilliqa đã phát đi thông cáo với cộng đồng rằng chương trình chào bán công khai không còn cần thiết nữa. Tuy nhiên, do lợi ích của cộng đồng, Zilliqa đã phân bổ 4445 ETH cho một đợt chào bán công khai vào tháng 1 năm 2018.
    Token ZIL hiện được niêm yết trên các sàn giao dịch Huobi, EtherDelta, gate.io và Idex.

    Đội phát triển Zilliqa
    Nhóm nghiên cứu đứng sau hỗ trợ Zilliqa phần lớn là các tiến sĩ và nhà nghiên cứu khoa học máy tính.
    Giám đốc điều hành, Xinshu Dong, có bằng Tiến sĩ về khoa học máy tính của Đại học quốc gia Singapore. Ông là chuyên gia bảo mật mạng, chịu trách nhiệm cho một số dự án an ninh quốc gia tại Singapore. Nghiên cứu của ông cũng đã xuất hiện tại các hội nghị có uy tín và trong các tạp chí nổi tiếng.

    Prateek Saxena là cố vấn khoa học. Ông có bằng tiến sĩ về khoa học máy tính của Đại học California, Berkeley. Ông hiện là giáo sư khoa học máy tính tại NUS.

    Amrit Kumar là người dẫn dắt các phương thức mã hóa cho dự án. Ông là thành viên nghiên cứu tại NUS. Ông có bằng tiến sĩ từ Đại học Grenoble-Alpes, Pháp và bằng cao học kỹ sư của Ecole Polytechnique, Pháp.

    Ban cố vấn của Zilliqa bao gồm các nhân vật nổi bật trong cộng đồng blockchain. Bao gồm Lợi Lưu (Người Việt Nam chúng ta) và cũng là đồng sáng lập mạng lưới Kyber; Vincent Zhou, thành viên sáng lập FBG Capital; Nicolai Oster, đối tác tại Bitcoin Suisse AG; và Alexander Lipton, người sáng lập kiêm giám đốc điều hành của StrongHold Labs.

    zil-road-map.jpg
    Kết luận
    Khả năng mở rộng sẽ tiếp tục là một vấn đề lớn đối với các công nghệ sổ cái phân tán. Zilliqa là một dự án quan trọng nhằm giải quyết vấn đề về khả năng mở rộng. Bản thân nền tảng này có thể là một minh chứng cho một bước phát triển quan trọng trong cộng đồng blockchain. Tuy nhiên, chúng ta vẫn mong đợi những đột phá mà mã nguồn mở Zilliqa triển khai công nghệ sharding được đưa vào sử dụng cho các dự án blockchain khác trong những năm tới.
     
    Tags:

Chia sẻ trang này lên mạng xã hội:

Đang tải...