Gửi bài viết tới BigCoin

[Review Code] Dự án QuarkChain – Hứa hẹn 1 triệu giao dịch/giây

Đăng bởi: Miorly  - 26/04/2018 - 1032 lượt xem
Chia sẻ
 

QuarkChain là 1 blockchain 2 tầng, tầng 1 là sharding linh hoạt và chain gốc ở tầng 2. Hãy tưởng tượng như Ethereum là 1 root chain và nó có rất nhiều side chain, chúng ta có POA, chúng ta có chain của các dApp (từ Mạng lưới Loom- nền tảng blockchain thế hệ mới cho các game trực tuyến quy mô lớn và ứng dụng xã hội), mỗi 1 side chain sẽ được gắn vào root chain của Ethereum. Đây là giải thích đơn giản nhất của phương pháp 2 tầng lớp.

Ngày hôm nay chúng ta sẽ đi nghiên cứu sâu về code của dự án QuarkChain. Dự án tập trung phát triển hệ thống giao dịch ngang hàng công suất cao, hứa hẹn 1 triệu giao dịch. Không biết các độc giả suy nghĩ như thế nào nhưng với mình khi nghe con số 1 triệu giao dịch/ giây, mình sẽ hoài nghi và đi tìm hiểu xem họ làm như thế và bao lâu thực hiện được con số này.

Xem video phân tích dự án tại đây:

Như tôi và các bạn có thể thấy, hiện tại blockchain trong hệ sinh thái của chúng ta tốt nhất hiện nay mới chỉ đạt được 2k TPS và chúng ta kì vọng con số này có thể tăng lên 10k, và 50k. Còn rất nhiều mục tiêu mà chúng ta phải hướng tới trước khi đạt được 1 triệu TPS, bạn hiểu ý tôi rồi đấy. Nếu họ nói rằng “chúng tôi có thể đạt được 13,431k TPS” thì có thể tôi sẽ tin đấy. Còn nếu bạn nói bạn có thể đạt được 1 triệu TPS, ngay lập tức tôi sẽ nghĩ bạn là Scam!

Đó là lí do chúng ta nghiên cứu công nghệ của dự án.

QuarkChain là 1 blockchain 2 tầng, tầng 1 là sharding linh hoạt và chain gốc ở tầng 2. Hãy tưởng tượng như Ethereum là 1 root chain và nó có rất nhiều side chain, chúng ta có POA, chúng ta có chain của các dApp (từ Mạng lưới Loom- nền tảng blockchain thế hệ mới cho các game trực tuyến quy mô lớn và ứng dụng xã hội), mỗi 1 side chain sẽ được gắn vào root chain của Ethereum. Đây là giải thích đơn giản nhất của phương pháp 2 tầng lớp.

Hiện nay Ethereum sử dụng token ERC20 (như token của EOS, TRX…) và khi các side chain khác xây dựng nên nó sẽ có token ER20 riêng. Thay vì việc này, QuarkChain sẽ đưa ra cho bạn 1 ý tưởng về việc sử dụng blockchain sharding linh hoạt, 1 token mới sẽ được thêm vào khi có một blockchain mới, và mỗi token đó sẽ vẫn được xác nhận trong chain chính của Ethereum.

Vì vậy hãy nhớ kĩ nhiều side chain đã được cắm nguyên vào chain chính của Ethereum khi chúng ta nói về phương pháp hai tầng.

Các yếu tố còn lại đều là các chức năng của Blockchain 2 tầng, chúng tôi sẽ đi sâu vào từng khái niệm trong phần review code. Ở bên trên tôi đã nói qua về ví dụ POA và Mạng lưới Loom Chain cho các ứng dụng phi tập trung, nhưng vấn đề ở đây là chúng không thể giao tiếp với nhau. Trừ khi bạn áp dụng một số các phương thức cross chain. Trong QuarkChain chúng được thiết kế ở lớp đầu tiên.

Về cơ bản chúng ta đang ở một phần hệ thống, điểm khác biệt ở chỗ gửi các giao dịch on-chain và chéo chain là sự dễ dàng thuận tiện trong việc thay đổi địa chỉ đến.

Vì vậy có hai khái niệm phức tạp ở mức độ khác nhau mà mọi người cần phân biệt rõ, hãy xem ảnh chụp code dưới đây.

Nhìn hình trên ngay lập tức chúng tôi nghĩ đến pyethereum, họ bắt chước y hệt để trở thành pyquarkchain. Tôi không biết tôi có nên bi quan hay không nhưng đối với những dự án mà tôi đã xem qua thì việc copy là khá bình thường và được xem như một quy chuẩn.

Một điều đáng ngạc nhiên hơn là khi tôi đi sâu tìm hiểu những các file tôi chắc chắn là chúng được copy, tất cả các phần. Họ có nhập một số EVM và P2P nhưng chỉ là những cập nhật thô.

Một số số liệu cho thấy hiện tại mới có 268 commits, 4 nhánh, 4 người đóng góp. Tôi thích số tỷ lệ người đóng góp, quản lý các branches được sử dụng, số lượng commits nhỏ những hàm chứa khá nhiều giá trị. Một khởi đầu tốt đẹp đây.

Các yêu cầu vận hành và quản lý vấn đề đã thực sự được sử dụng. Rất đáng để xem.

So sánh nhanh hai mã code sau (pyquarkchain & pyethereum).

Comment tốt. Hãy tiến đến các chức năng thực tế.

Testnet đang chạy hiện tại có 8 shard (con số ước lượng). Chains đã được đào bằng thuật toán Proof of Work. Mỗi shard có thể chạy được 100-200 giao dịch/giây vì thế hiện tại tổng giao dịch/giây là 1.1k.

Đáng ra những chàng trai này cần tuyển một nhà design để trình bày, tôi muốn chương trình được sắp xếp như năm 2011 khi nó mới bắt đầu, nhưng những chàng trai này tập trung về mặt hiệu quả hơn. Ví đang được lập trình, tôi thường hạn chế bình luận về nó, đây chưa phải là HTTPS, và cần 10 phút để xác nhận, thôi nào.

Ví đang sử dụng ethereumjs-util.

Chúng tôi nhìn thấy các chức năng có Nodes và chọn Nodes, hãy quan sát.

Họ đang được bảo vệ, vì thế sẽ không dễ dàng bị hack ở thời điểm hiện tại.

Hãy bàn luận về một số chức năng của nó. Hãy nhớ lại phần tôi vừa review bên trên về sidechain, dự án tạo nên sharding độc lập, chia tất cả thành từng phần khác nhau. Tôi không thực sự muốn gọi cái QuarkChain đang làm là sharding, điều thú vị ở đây là một trong những yếu tố họ đề cập trước đó là Quản lý tài khoản một cách dễ dàng. Hãy để tôi nhắc lại.

“Chỉ cần có một tài khoản cho tất cả các shard. Tất cả các đồng tiền mã hoá từ các shard khác được lưu trữ trong một ví thông minh.”, điều mà tất những dự án bắt chước Ethereum (WanChain, POA, dAppChains…) đó là họ sử dụng kiến trúc một khoá cá nhân/khoá công khai. Điều này có nghĩa là nếu bạn sở hữu cặp khoá đôi này trên Ethereum, bạn cũng sẽ sở hữu cặp khoá đôi này trên Wanchain, POA và các bản sao chép khác.

Vì vậy trong ví dụ Hai tầng chúng tôi đã đề cập bên trên, bạn cũng sẽ sở hữu khoá này trong từng side chain. Nhưng điều này có dẫn tới sự xung đột nào không? Kể từ bây giờ, làm thế nào tôi gửi 10 WAN sang địa chỉ POA của tôi? Thực ra là bạn không thể. Trong QuarkChain bạn có thể không? Thế thì họ tiến hành như thế nào?

Đầu tiên, chúng ta cần xem lại tại sao giả dụ ban đầu của tôi về cấu trúc hai tầng side chain là sao. Chúng ta có thể gọi đó là phương pháp đặt tên sharding (mỗi sidechain/token sẽ có tên riêng).

QuarkChain đã tạo nên một loại sharding song song. Như vậy không giống ví dụ sidechain khác, nó khá giống Ethereum song song chạy tất cả các node với nhau. Nếu Ethereum A bắt đầu trở nên bận rộn, bạn sẽ chuyển khoản tiền của bạn sang Ethereum B. Vì lí do này mà tôi đã đấu tranh rất nhiều và gọi nó là sharding thật sự, bởi vì mỗi shard thực sự không phải là một mảnh miếng của tất cả nhưng là bản sao chép của tập thể, nếu tất cả chạy cùng lúc tuy nhiên hoạt động độc lập.

Vì thế khi tôi sở hữu khoá riêng, đồng nghĩa tôi sở hữu khoá đó ở Ethereum A, Ethereum B, C … và vì thế tôi có thể di chuyển quỹ của tôi giữa một trong những shard đó, nhưng liệu có không gây mâu thuẫn một lần nữa không? Vì thế khoá riêng tư của bạn sẽ có thể chức năng nữa như bạn có thể thấy dưới đây + shard ID, vì thế thay vì bạn sẽ có địa chỉ nền tảng như 0x1, bạn có thể có địa chỉ là 0x1a, 0x1b, 0x1c … Vì thế khi bạn có thể chuyển quỹ của mình từ 0x1a tới 0x1b bạn sẽ đơn giản sử dụng địa chỉ bạn muốn gửi sang. Đó là cách chúng tôi cho phép sở hữu một khoá cá nhân trong khi tương tác shard chéo.

Tuy nhiên, hai chain song song không thể chạm được sự đồng thuận, vì vậy họ cần phải dựa vào root chain để tạo được sự đồng thuận, vì thế chức năng chủ yếu của root chain là các giao dịch chéo chain. Ở giao dịch Ethereum thông thường bạn có địa chỉ A gửi địa chỉ B, hiện tại bạn có blockchain A gửi sang blockchain B, cùng chung khái niệm, nhưng các bên được đề cập có quy mô khác.

Do các chain song song, điều gì sẽ diễn ra nếu bất kì ai đơn giản giao dịch trên Ethereum A mà không ai sử dụng Ethereum B hay C? Thực ra, nếu Ethereum A nghẽn vì quá nhiều giao dịch thì nó sẽ bắt đầu phải chịu đựng thông lượng. Điều này sẽ làm tăng chi phí vì vậy bây giờ, nếu bạn muốn có giao dịch giá rẻ bạn có thể xử lý giao dịch của bạn trên Ethereum B và nếu cả A và B có tỷ lệ giao dịch bằng nhau thì bạn có thể chuyển sang C.

Khái niệm này là khai thác hợp tác theo định hướng thị trường, nhờ vào cấu trúc phần thưởng, tải trọng được chia sẻ trên các phân đoạn. Vấn đề là bạn có đủ tiền trong Ethereum A và bạn muốn tham gia vào ICO trên Ethereum C, nhưng A bị tắc nghẽn và bạn phải trả phí cao để chuyển tiền từ A sang C, và không chỉ bạn phải trả lệ phí cao, nhưng bạn phải chờ root chain để hoàn tất giao dịch của mình, bổ sung thêm chi phí.

Tôi không chắc chắn làm thế nào họ có thể xử lý vấn đề này, nhưng tôi thấy đây là một trở ngại. Tương tự, cách quản lý nhỏ lẻ mà người dùng cần phải làm giữa các shard của họ sẽ tạo ra những trải nghiệm không hay. Tôi nghĩ có hai vấn đề chính cần phải giải quyết.

Vì thế nếu chúng ta nhìn thấy thực tế số giao dịch trên giây ít đi, hãy xem xét sự tắc nghẽn có thể xảy ra trên một chain song song và bạn phải xem xét tổng phí của rootchain.

Như vậy, hãy quan sát phía lý thuyết về TPS trước.

Hiện tại các shard đang chạy ở 150 TPS vì thế 1 triệu/150 có nghĩa là cần 6.667 shard, và các shard hỗ trợ phải lên tới 2 tỷ shard. Nếu lý thuyết là đúng, bạn sẽ phải tiến đến quản lý nhỏ lẻ 6.667 shard bằng các di chuyển khoản tiền của mình liên tục ư? Vậy thì hãy chỉ làm 10 shard với 1.5k TPS thôi.

Tiếp theo là CPU, tôi đã quản lý khoảng 5k TPS trên một lõi đơn (chỉ dành riêng cho TPS), vì vậy, hãy nói thực tế là 1k. Nếu chúng ta xem xét một số máy khủng trong AWS, m5.24xlarge, có 72 lõi, thì sẽ được 72k TPS (giả sử có đủ giao dịch được thực hiện song song và bạn không phải thực hiện chúng đồng bộ, hãy nhớ, lý do chúng ta thực hiện giao dịch đồng bộ là bởi vì giao dịch 0x2 có thể bị ảnh hưởng bởi giao dịch 0x1. Nếu tôi có 10 QKC (Quarkcoin) và tôi gửi 10 đến A và 10 đến B và chúng được xử lý song song, cả hai đều có thể thành công, vì vậy chúng tôi phải xử lý chúng một cách đồng bộ. Nhưng giả sử chúng ta có 72 shard để chúng ta có thể chạy từng shard trên một CPU, vì vậy hãy nói 72k TPS là có thể.

Chúng ta nói thực tế chúng ta sẽ xem xét khoảng 10 shard, vì vậy khi nói 10k TPS là rất có thể đạt được.

Ngay cả ở 20 shard, vẫn còn hợp lý, chúng ta sẽ nhanh chóng đạt được kiếm 20k TPS. Vẫn còn rất nhiều ý kiến trái chiều về 1 triệu TPS, nhưng trước hết khả năng đạt đưuọc 10-50k của đội team là có thể đạt được.

Đó là tôi còn chưa nói về clustering mà tôi nghĩ mới chỉ đến đây thôi bạn đã oải rồi.

Kết luận đánh giá code QuarkChain

Thực sự có những vấn đề tôi chưa thấy oke lắm, nhưng tôi thực sự ấn tượng. Tôi nghĩ rằng họ nên 1 triệu TPS là hơi trìu tượng những thay vào đó chỉ nói là 50k TPS thôi thì sẽ thực tế hơn (và họ cần phải có một chuyên gia UI / UX nữa)

Tôi nghĩ việc thực hiện novel là khá tốt và tôi chắc chắn sẽ tìm hiểu testnet của họ nhiều hơn chút. Tuy nhiên khó chịu là họ chưa được công bố.

Các bạn đang đọc bài viết [Review code] Quarkchain - Dự án hứa hẹn 1 triệu giao dịch/giây tại chuyên mục Phân tích.

Biên soạn: https://bigcoinvietnam.com/

Tags
Chia sẻ  
  
  
  
84% Rating
Điểm: 4.2 / 5
5 Bình chọn

Miorly

Là member "cứng" của nhóm Core Team - Team chuyên phân tích các dự án Coins, ICO chuyên nghiệp của Bigcoinvietnam.

CertiK là gì? - An ninh mạng công nghệ Blockchain


1. Certik là gì?

CertiK là công ty khởi nghiệp đầu tiên về an ninh mạng sử dụng công nghệ Blockchain được thành lập bởi các giáo sư chuyên về khoa học máy tính tại trường đại học Yale và Columbia. Bằng cách áp dụng công nghệ Kiểm Định Hình Thức (Formal Verification) cho các giao thức hợp đồng thông minh và Blockchain, CertiK đã và đang bảo vệ cho hơn 1,2 tỉ đô la Mỹ tài sản, bao gồm rất nhiều các dự án Blockchain hàng đầu trên thế giới.

2. Công nghệ lõi của CertiK

Kiểm định hình thức (Formal Verification) – kiểm chứng các chương trình quan trọng bằng phương pháp toán học

Quét tự động (AutoScan) – công nghệ xác minh và sửa chữa các lỗ hổng an ninh

DeepSEA-Blockchain – ngôn ngữ lập trình cho các hợp đồng thông minh với tính năng kiểm định hình thức

3. Hệ sinh thái phần mềm CertiK

Hệ sinh thái của CertiK gồm:

Blockchain của CertiK

CertiK đang xây dựng một Blockchain sử dụng “phần mềm CertiK” (Certik software) riêng, dự kiến sẽ ra mắt testnet vào cuối tháng 6/2019. Blockchain sử dụng phần mềm CertiK sẽ áp dụng thuật toán đồng thuận DPOS và được trang bị với máy ảo đã qua kiểm định (Certified Virtual Machine) sẽ có khả năng linh hoạt cao về thiết kế và khả năng ứng dụng trong khi duy trì độ tin cậy và tính an toàn cao.

Nền tảng xác thực của CertiK

Phần mềm CertiK cung cấp các công cụ kiểm định để phát triển bằng chứng toán học của hợp đồng thông minh và áp dụng vào nền tảng Blockchain. Với các công cụ được chứng nhận và báo cáo trong thời gian thực của CertiK, các nhà phát triển có thể sửa lỗi tiềm ẩn trong hệ thống ngay từ khi bắt đầu.

Mô hình coin kép

Sự khác biệt giữa CertiK và các dự án khác là Blockchain của CertiK sẽ sử dụng mô hình coin kép. Đầu tiên, CTK (đồng tiền chính của hệ thống) sẽ được đưa ra thị trường. CKT - token quản trị, chỉ có giá trị sử dụng trong việc xác thực và đạt được sự đồng thuận trong giao dịch.

Sau đó, CKG - gas sử dụng(utility gas), sẽ được tạo ra để trao thưởng cho những node xác thực. CGK có giá trị sử dụng để tham gia chương trình Bounty hunter, đăng ký tham gia hệ thống và nhiều lợi ích khác sẽ được tiếp tục bổ sung.

Image result for team certik background

4. Tính năng hiện tại

Kiểm chứng độ bảo mật (Security audits)

Tìm ra và loại bỏ các lỗ hổng an ninh bằng các kỹ thuật an ninh mạng chính xác. CertiK sẽ kiểm tra nguồn code, tìm kiếm lỗ hổng an ninh có thể có, gợi ý sửa và đưa ra kết luận tổng hợp.

Kiểm tra khả năng thâm nhập (Penetration testing)

Kiểm tra hệ thống bằng cách dàn dựng các vụ tấn công có thể xảy ra để kiểm tra và xác định lỗ hổng trong hệ thống và cơ sở IT tầng đáy. Với đội ngũ Hacker mũ trắng (white hat hackers), CertiK sẽ khảo sát, quét và kiểm tra thủ công toàn bộ hệ thống, phân tích rủi ro và đưa ra báo cáo đánh giá chi tiết về an ninh hệ thống bao gồm gợi ý sửa lỗi.

Điều chỉnh nền tảng (Platform Customization)

Bổ sung thêm tính năng và tăng cường an ninh cho các nền tảng khi kết hợp với lõi của cơ chế Formal Verification. CertiK có một đội ngũ chuyên gia để phân tích các nền tảng, từ đó đưa ra mô hình toán học phù hợp với ngôn ngữ của hệ thống để bảo vệ hệ sinh thái blockchain và các DApp.

5. Lợi thế chính của Certik

- Công nghệ Formal Verification toàn diện và có thể điều chỉnh

- Báo cáo Audit minh bạch và chi tiết

- Review code bởi các chuyên gia về an ninh

- Audit trên tất cả loại ngôn ngữ và giao thức chính

- Re-Audit code không giới hạn

- Công nghệ kiểm tra khả năng thâm nhập tân tiến

6. Team

Zhong Shao (đồng sáng lập hiện đang là giáo sư Thomas L.Kempner và trưởng khoa khoa học máy tính tại trường Yale University. Ông tốt nghiệp tiến sĩ ngành công nghệ máy tính trường đại học Princeton. Zhong Shao là một cây cổ thụ trong lĩnh vực nghiên cứu như an ninh mạng, hệ thống vận hành và phần mềm chứng chỉ.

Ronghui Gu (đồng sáng lập và nhà phát triển chính) hiện đang là Assistant Professor tại khoa Khoa học máy tính của trường đại học Columbia. Ông tốt nghiệp tiến sĩ ngành khoa học máy tính tại trường đại học Yale và cử nhân trường Tsinghua University Distinction Dissertation Award trường đại học Yale năm 2016. Ông là một chuyên gia trong lĩnh vực Formal Verification cho phần mềm hệ thống.

Muhan Zuo (CSO - giám đốc chiến lược) từng có nhiều năm kinh nghiệm trong lĩnh vực thiết kế và phát triển các sản phẩm doanh nghiệp SaaS. Trước khi tham gia vào Certik, ông từng làm engineering lead tại Comcast và Full Stack engineer tại Oracle.

Daryl Hok (COO - giám đốc vận hành) từng là head bộ phận phát triển doanh nghiệp tại FiscalNote. Ông cũng từng là Product Manager phụ trách ý tưởng và phát hành các sản phẩm SaaS và phát triển cơ sở hạ tầng dữ liệu cốt lõi. Ông tốt nghiệp bằng kép khoa Kinh tế và Tâm lý học trường đại học Yale.

Ngoài ra, các thành viên khác trong core team đều là các chuyên gia, tiến sĩ về lĩnh vực an ninh mạng, phần mềm, kinh tế học, đến từ các trường đại học hàng đầu như Yale, Columbia, Chicago, Penn, Duke, … và có kinh nghiệm làm việc cho các ông lớn như Google, Oracle, Microsoft, HP, Microsoft, Samsung, …

7. Partners

Đến nay Certik đã có mối quan hệ hợp tác với hơn 30 dự án và quỹ. Những cái tên tiêu biểu có thể kể đến như Bitmain, Binance, Lightspeed, WinG, Matrix, DHVC, iCon, Fenbushi Digital, FBG Capital, NGC, OK Blockchain Capital, Kenetic, Vochain, NEO, ONTology, KOSMOS, QTUM, IOST, ….

Image result for certik logo

8. Token metrics

Ticker: CTK

Token type: ERC20

Total supply (dự tính): 100.000.000

Các thông tin còn lại đang được cập nhật

9. Roadmap chính

Năm 2017: dự án bắt đầu phát triển

Năm 2018: phát triền dịch vụ CertiK contract verification (xác thực hợp đồng CertiK) phiên bản alpha, 1.0, 2.0 và đạt mục tiêu có khoảng 30 đối tác doanh nghiệp và khách hàng

Tháng 6/2019 (dự tính): cho ra mắt Testnet

Tháng 12/2019 (dự tính): cho ra mắt Mainnet 1.0

Tháng 12/ 2020 (dự tính): cho ra mắt Mainnet 2.0 (đã hoàn thiện)

Image result for certik roadmap

10. Contacts

Twitter: https://twitter.com/certikorg

LinkedIn: https://www.linkedin.com/company/11831043/admin/

Telegram: https://t.me/certikorg

Medium: https://medium.com/certik

Website: https://certik.org/

 

Kết luận

Certik là một dự án đang được cộng đồng quan tâm sau khi công bố những phát triển về mặt công nghệ và quan hệ đối tác.

  • Dự án được xây dựng bởi các chuyên gia và giáo sư hàng đầu trong lĩnh vực an ninh mạng và phần mềm chứng chỉ, những công nghệ sẽ được ứng dụng trong hệ thống CertiK nên có khả năng ứng dụng thực tế cao.
  • Dự án đã có sản phẩm cụ thể và đang được áp dụng bởi nhiều dự án có tiếng như OnTology, NEO, Kardia Chain, OKex, Houbi … nên khá tin cậy.
  • CertiK đã chứng minh được sự tiềm năng khi nhận được quỹ đầu tư từ nhiều ông lớn trong lĩnh vực Blockchain như Binance, FBG Capital, Bitmain, ….

Tuy nhiên, dự án chưa tiết lộ bất cứ thông tin nào về IEO hay việc bán token. Đây chính là một chiến thuật của CertiK để thu hút cộng đồng tập chung vào công nghệ và bắt buộc các thành viên phải liên tục theo dõi, cập nhật tình hình. Theo tác giả, Certik là một trong những dự án có khả năng phát triển tốt và tính ứng dụng thực tế cao không chỉ trong lĩnh vực Blockchain. Với những gì dự án đã và đang đạt được, rất đáng để bất cứ ai, không chỉ nhà đầu tư mà những ai hứng thú với công nghệ hay doanh nghiệp muốn ứng dụng Blockchain quan tâm và theo dõi những cập nhật mới nhất từ CertiK.

 

Tags
Chia sẻ  
  
  
  
84% Rating
Điểm: 4.2 / 5
5 Bình chọn

NHẬN FREE VÉ THAM GIA SỰ KIỆN BLOCKCONFEX HỒ CHÍ MINH

"39 TIÊU CHÍ ĐẦU TƯ ICO THÀNH CÔNG và REVIEW ICO HOT hàng tuần"

Bigcoin Việt Nam - Phân tích đầu tư Bitcoin và các dự án công nghê Blockchain