Mua tiền điện tử
Thị trường
Spot
Futures
Earn
Chương trình
Thêm
reward-centerKhu vực người mới
Phân tích báo cáoChi tiết
Nghiên cứu ngành

Nghiên cứu CoinEx: Bài toán An ninh của Tài sản Blockchain: Lý do Tại sao Thời gian Thực cần được Bổ sung như một Lớp Bảo mật

  • ETH0%
  • DOT0%
  • ATOM0%
  • LUNA0%
  • BTC0%
CoinEx logo
Đăng vào 2022-04-07

Kể từ mùa hè DeFi năm 2020, được thúc đẩy bởi sự phát triển liên tục của cơ sở hạ tầng blockchain, các giao thức DeFi đã phát triển từ Swap đến Cho vay đến Yield Farming và đến các giao thức ngày càng phức tạp hơn, bao gồm các chiến lược Yield Farming AMM (tạo lập thị trường tự động) dựa trên các công cụ phái sinh blockchain, các nền tảng cho vay có cấu trúc được xây dựng trên cơ sở hạ tầng cho vay, và các giao thức cho vay trên chuỗi kết nối với tài sản thế chấp trong thế giới thực, v.v.

Một trong những yếu tố chính đằng sau sự bùng nổ của đổi mới DeFi là khái niệm khả năng kết hợp. Hầu hết thời gian, khi một giao thức DeFi mới được phát hành, phần lớn mã nguồn của nó cũng được công bố công khai. Điều này có nghĩa là mã nguồn của các hợp đồng thông minh từ một hoặc nhiều giao thức DeFi có thể dễ dàng được kết hợp lại với nhau để tạo ra một giao thức mới. Chúng hoạt động như các khối Lego - các khối với hình dạng khác nhau có thể được sử dụng để xây dựng các dự án độc đáo, giảm đáng kể chi phí đổi mới.

Đáng ngạc nhiên là, dù có những đổi mới to lớn như vậy, số lượng người dùng DeFi không có sự tăng trưởng đáng kể nào kể từ năm 2020. Trong khi đó, các tổ chức truyền thống vẫn chưa đưa thanh khoản vào không gian blockchain. Một trong những nguyên nhân chính cho điều này là lo ngại về bảo mật của DeFi.

Tài chính trong thế giới thực đi kèm với một hệ thống bảo mật được thiết lập tốt. Ví dụ, khi chuyển tiền từ Ngân hàng A sang Ngân hàng B, sẽ có xe chở tiền và cảnh sát vũ trang để bảo vệ tiền, đây là một quy trình đáng tin cậy. Hơn nữa, các ngân hàng cũng sẽ chịu trách nhiệm về tài sản của khách hàng và sẽ bồi thường cho bất kỳ tổn thất nào trong quá trình này. Tuy nhiên, DeFi khác với hệ thống tài chính truyền thống. Các hợp đồng thông minh là bất biến theo thiết kế. Chúng về cơ bản là những hộp đen không gửi nhật ký có thể đọc được, vì vậy mọi người không thể có cái nhìn rõ ràng về các quy trình nội bộ. Hầu hết các cuộc kiểm toán hợp đồng thông minh không giúp ích gì vì chúng chỉ tập trung vào các hình thức tấn công đã biết, thay vì các lỗ hổng mới có khả năng xảy ra cao. Trong khi đó, nhiều giao thức DeFi tự gắn nhãn là sản phẩm "tự chịu rủi ro". Điều này có thể đáng sợ đối với người dùng thông thường và khiến họ không có niềm tin để đưa phần lớn tiền gửi ngân hàng của họ vào hệ sinh thái DeFi. DeFi đã không làm thất vọng những người không tin tưởng nó. Cho đến nay, DeFi đã chứng kiến 82 vụ vi phạm bảo mật, với số tiền bị hack ban đầu hơn 1,8 tỷ đô la. Đặc biệt, flash loan là hình thức tấn công phổ biến nhất, chiếm 33 trường hợp. Một trong những lý do bảo mật đằng sau cuộc tấn công flash loan là sự thiếu vắng khái niệm về thời gian chính xác và cơ chế xác nhận trong blockchain . Chúng ta sẽ đi qua các lý do cụ thể trong các chương sau.

Nghiên cứu CoinEx: Bài toán An ninh của Tài sản Blockchain: Lý do Tại sao Thời gian Thực cần được Bổ sung như một Lớp Bảo mật

I. Thời gian & Mạng lưới thời gian của máy tính

Hãy xem xét cách thời gian hoạt động trong các chương trình máy tính thông thường trước.

Thời gian là một khái niệm thiết yếu đối với các chương trình máy tính. Không có khái niệm thời gian, không thể truy cập bất kỳ trang web được bật TLS nào, tạo entropy cho một số thuật toán nhất định, trao đổi bí mật, hoặc xác thực giấy phép Windows. Chúng ta coi việc theo dõi thời gian trên máy tính là điều hiển nhiên, nhưng việc trao đổi và theo dõi thời gian là một vấn đề cực kỳ khó giải quyết khi đề cập đến các hoạt động thực tế.

Thời gian về cơ bản là một biểu diễn của trạng thái toàn cục hiện tại của vũ trụ. Điều này có nghĩa là tại bất kỳ thời điểm nào, mọi thực thể đều phải chia sẻ cùng một giá trị chính xác. Đây rõ ràng là một vấn đề lớn đối với máy tính: Giả sử có một đồng hồ nguyên tử khổng lồ, cực kỳ chính xác ở trung tâm vũ trụ, truyền dữ liệu thời gian qua Internet. Một vấn đề trong quá trình này là việc truyền dữ liệu tự nó cũng mất thời gian. Khi một thiết bị nhận dữ liệu thời gian qua Internet và áp dụng nó vào hệ thống của mình, trạng thái toàn cục của vũ trụ (thời gian) đã thay đổi. Nói cách khác, không thể có một thiết bị mạng hoàn toàn cập nhật với giá trị thời gian toàn cục thực tế.

Một vấn đề khác với việc theo dõi thời gian qua mạng là chúng ta không thể dự đoán chính xác thời gian cần thiết cho việc truyền dữ liệu - điều kiện mạng liên tục thay đổi, và không ai có thể đảm bảo độ tin cậy hoàn hảo trong môi trường thực tế. Kết hợp với vấn đề đầu tiên, điều này có nghĩa là người nhận không thể sao chép chính xác giá trị thời gian, dẫn đến sự không nhất quán.

Giao thức Thời gian Mạng (NTP) giải quyết vấn đề này thông qua cấu trúc xác minh lẫn nhau của các máy chủ theo dõi thời gian được phân bố trên toàn cầu (lên đến 15 tầng) và bằng cách xây dựng cây khung đường đi ngắn nhất Bellman-Ford (giảm cả độ trễ và sự không nhất quán thời gian truyền). Điều này hoạt động hoàn hảo cho máy tính cá nhân và các dịch vụ tập trung, đặc biệt là với các ứng dụng phụ thuộc vào thời gian chính xác (ví dụ: các chương trình mã hóa). Mặc dù các dấu thời gian có được thông qua NTP chỉ là ước tính, chúng đủ chính xác và trưởng thành để các ứng dụng quan trọng về thời gian có thể dựa vào.

Nghiên cứu CoinEx: Bài toán An ninh của Tài sản Blockchain: Lý do Tại sao Thời gian Thực cần được Bổ sung như một Lớp Bảo mật - image 2

Nguồn: https://medium.com/@gokhansengun/bilgisayarlar-zaman%C4%B1-nas%C4%B1l-do%C4%9Fru-tutar-78c1203397f0

II. Cơ chế thời gian trong mạng Blockchain

Khái niệm thời gian cũng tồn tại trên blockchain. Mặc dù một số người nói rằng blockchain tự nó là một dẫn xuất của khái niệm thời gian, việc xử lý thời gian của mạng blockchain cực kỳ không chính xác so với độ chính xác 64-bit của hệ thống NTP. Xét cho cùng, điều này cũng là do các đối tượng dịch vụ của thời gian blockchain không phải là các ứng dụng hợp đồng thông minh nhạy cảm về thời gian như các ứng dụng DeFi. Hơn nữa, nó nhằm mục đích cho phép thực thi an toàn, hiệu quả cơ chế đồng thuận. Mục tiêu khác biệt như vậy cũng khiến các mạng blockchain khoan dung hơn với sự không chính xác về thời gian. Trong các đoạn sau, chúng ta sẽ thảo luận về một số cơ chế đồng thuận phổ biến và cách chúng xác định thời gian. Tuy nhiên, cần lưu ý rằng việc xác nhận thời gian trên blockchain nói chung là không chính xác đến mức chúng không thể thực hiện các hoạt động tài chính và kiểm tra bảo mật cho tài sản trên chuỗi trị giá hàng chục tỷ đô la.

1. Bitcoin

Bitcoin có khái niệm thời gian vì nó cần thiết cho cơ chế đồng thuận Proof-of-Work của nó. Không có dấu thời gian hợp lệ, mạng không thể xác minh liệu một giao dịch đang được đào cụ thể có đang cố gắng can thiệp vào giao dịch trước đó hay không. Mặc dù mỗi khối Bitcoin chứa một dấu thời gian UNIX, thời gian khối không phải là một biểu diễn chính xác của dấu thời gian UNIX. Điều này là do đồng thuận Bitcoin chỉ xem xét dấu thời gian như một phần của hệ thống bảo mật PoW, không phải như một công cụ thực sự để đo thời gian trên blockchain.

Trích dẫn từ Bitcoin Wiki, mỗi khối chứa một dấu thời gian Unix được cung cấp bởi thợ đào và sẽ được chấp nhận là hợp lệ nếu nó 1) lớn hơn dấu thời gian trung bình của 11 khối trước đó và 2) nhỏ hơn thời gian điều chỉnh mạng cộng thêm 2 giờ. Do đó, sự khác biệt giữa thời gian khối và thời gian thực từ một giờ đến hai giờ.

Nghiên cứu CoinEx: Bài toán An ninh của Tài sản Blockchain: Lý do Tại sao Thời gian Thực cần được Bổ sung như một Lớp Bảo mật - image 3

Nguồn: https://en.bitcoin.it/wiki/Block_timestamp

2. Ethereum

Trong mạng Ethereum, dấu thời gian cũng được gửi trực tiếp bởi các thợ đào với tính linh hoạt cao. Nói một cách đơn giản, một dấu thời gian Ethereum có thể đúng hoặc sai, và không có cách nào để cơ chế đồng thuận xác nhận độ chính xác của nó. Theo một bài đăng trên diễn đàn Ethereum (nguồn: https://ethereum.stackexchange.com/questions/413/can-a-contract-safely-rely-on-block-timestamp/428#428), một số cơ chế có thể được sử dụng để ngăn chặn sự sai lệch quá mức của dấu thời gian Ethereum: 1) Nếu dấu thời gian của một khối sai lệch đáng kể so với thời gian thực, không ai sẽ sẵn sàng tạo thêm các khối với khối này làm khối cha; 2) Dấu thời gian của khối mới nhất không thể sớm hơn khối cha; 3) Độ khó của khối sẽ thấp nhất khi khối không được đánh dấu sớm hơn yêu cầu. Những cơ chế này có thể cho phép thợ đào tự nguyện gửi dấu thời gian mà họ tin là chính xác. Tuy nhiên, khi có các động lực bên ngoài khác, mạng Ethereum không có bất kỳ cơ chế nghiêm ngặt nào để đảm bảo rằng thợ đào vẫn gửi dấu thời gian chính xác. Do đó, mạng không thể đảm bảo hoạt động đúng đắn của các giao thức nhạy cảm về thời gian (ví dụ: yield farming, cho vay). Vì vậy, các tổ chức lớn sẽ không tin tưởng giao tiền của họ cho Ethereum.

3. Polkadot

Theo tài liệu của Substrate, Polkadot cũng đánh dấu các khối bằng dấu thời gian được cung cấp trực tiếp bởi thợ đào. Trong khi đó, không có cơ chế nghiêm ngặt nào xác nhận hoặc đồng bộ hóa các dấu thời gian đó. Tài liệu cũng nêu rõ rằng mặc dù thời gian của một khối không thể được chứng minh, các người xác thực có thể đồng ý rằng nó nằm trong một khoảng delta nào đó so với đồng hồ hệ thống của họ.

Nghiên cứu CoinEx: Bài toán An ninh của Tài sản Blockchain: Lý do Tại sao Thời gian Thực cần được Bổ sung như một Lớp Bảo mật - image 4

Nguồn: https://wiki.polkadot.network/docs/build-protocol-info

4. Cosmos

Tendermint của Cosmos là thuật toán đồng thuận duy nhất tích hợp thời gian vào cơ chế đồng thuận, điều này giúp nó có khái niệm về thời gian mạnh mẽ nhất. Cụ thể hơn, các nút của một khối sẽ bỏ phiếu về thời gian mà nó đã gửi để đạt được sự đồng thuận, và chỉ có mốc thời gian mà các nút đồng ý mới được đưa vào khối.

Nghiên cứu CoinEx: Bài toán An ninh của Tài sản Blockchain: Lý do Tại sao Thời gian Thực cần được Bổ sung như một Lớp Bảo mật - image 5

Nguồn: https://docs.tendermint.com/master/spec/consensus/bft-time.html

III. Sự Thiếu Hụt Hệ Thống Đánh Dấu Thời Gian Trong Các Khối

Blockchain không chỉ thiếu chính xác trong việc tạo ra dấu thời gian mà còn thiếu một hệ thống hoặc cơ chế đánh dấu thời gian trong các khối. Các giao dịch trong thế giới thực được gửi và xác nhận lần lượt, mỗi giao dịch đều có thời gian và trình tự rõ ràng. Theo cách này, nhiều giao dịch giả mạo không thể xảy ra hoặc được xác nhận. Trong một mạng blockchain, ngược lại, các giao dịch trong mỗi khối được đóng gói cùng nhau và không được đánh dấu với dấu thời gian chính xác từng giao dịch một.

Mặc dù tất cả các giao dịch có thể được xác minh sau khi tạo khối, nhưng không thể xác định chính xác thời gian gửi và trình tự của từng giao dịch. Điều này một phần giải thích tại sao nhiều cuộc tấn công (ví dụ như cho vay nhanh hoặc hoán đổi nhanh) có thể thực hiện được. Nếu có dấu thời gian chính xác trong các khối làm bằng chứng để xác minh, các giao thức ứng dụng có thể phát triển các thuật toán an toàn và ổn định hơn. Đồng thời, do đặc tính vốn có của nó, thời gian là một mạng đồng thuận có tính bảo mật cao, không thể đảo ngược và không thể thay đổi.

IV. Các Giải Pháp Tiềm Năng

Sự thiếu hụt thời gian trên blockchain có thể được giải quyết từ bên trong hoặc bên ngoài.

Giải pháp nội bộ: Cần đưa vào một cơ chế xác nhận ở cấp độ đồng thuận để kiểm tra thời gian khối so với thời gian thực, hoặc thiết lập một hệ thống thời gian độc lập có độ chính xác cao hơn.

Giải pháp bên ngoài: Blockchain cần một mạng phi tập trung sử dụng mạng oracle thời gian giống NTP để thêm dấu thời gian chính xác vào các khối mạng và giao dịch trong các khối.

Xét về khía cạnh hợp tác đa chuỗi, giải pháp bên ngoài có thể phù hợp hơn. Ví dụ, giả sử Ethereum và Terra có đồng hồ riêng của họ, nếu dấu thời gian do các đồng hồ này cung cấp khác nhau, sẽ rất khó để xác định cái nào là chính xác trong quá trình tương tác giữa hai bên. Ví dụ, trong mạng máy tính thông thường, cuối cùng chỉ có một đồng hồ chủ cho mọi người biết thời gian là bao nhiêu. Blockchain cũng cần một đồng hồ chủ.

Trong đa vũ trụ tương lai được kích hoạt bởi nhiều chuỗi, chúng ta sẽ đối mặt với một thách thức khác - số lượng đồng hồ trên tất cả các máy tính khác nhau cao hơn nhiều so với dự kiến. Ví dụ, có đồng hồ game, đồng hồ tích lũy lãi suất DeFi, đồng hồ blockchain, v.v. Vì những đồng hồ này sẽ làm gián đoạn thời gian trong các nút meta, cần có một nguồn thời gian đáng tin cậy duy nhất để thống nhất và đồng bộ hóa tất cả các giao dịch. Khi mạng oracle thời gian như vậy cuối cùng được áp dụng rộng rãi, nó sẽ cung cấp một lớp bảo mật bổ sung, cung cấp xác nhận thời gian bổ sung cho mỗi giao dịch, giống như những gì xảy ra trong thế giới thực. Thời gian cũng sẽ trở thành một lớp bảo mật bổ sung cho các mạng blockchain.

Tham khảo:

  1. https://medium.com/@gokhansengun/bilgisayarlar-zaman%C4%B1-nas%C4%B1l-do%C4%9Fru-tutar-78c1203397f0
  2. https://en.bitcoin.it/wiki/Block_timestamp
  3. https://ethereum.stackexchange.com/questions/413/can-a-contract-safely-rely-on-block-timestamp/428#42
  4. https://wiki.polkadot.network/docs/build-protocol-info