State channels và Sidechains: 02 vấn đề mở rộng của Blockchain

in state-channels •  6 years ago 

state-channels-va-sidechains-hay-van-de-mo-rong-cua-blockchain (6).jpg
Là 02 giải pháp chính đang được nghiên cứu cho vấn đề mở rộng quy mô (Scalability), State channels và Sidechains đều sở hữu những điểm mạnh riêng, nhưng vẫn còn tồn đọng các vấn đề chưa được giải quyết.

Đến thời điểm hiện tại, có lẽ khái niệm blockchain đã không còn quá xa lạ với mọi người. Chúng ta hẳn đã nghe nhiều về những đặc tính ưu việt của công nghệ này, như tính phi tập trung/ phân quyền, mức độ bảo mật và minh bạch cao… Tuy nhiên, blockchain vẫn còn là một công nghệ quá mới mẻ với nhiều vấn đề đang tồn đọng, một trong những vấn đề lớn nhất của blockchain hiện nay là khả năng mở rộng quy mô kém, khiến cho công nghệ này vẫn chưa len lỏi sâu vào trong đời sống.

Cho đến nay, có 02 giải pháp chính đang được nghiên cứu cho vấn đề mở rộng quy mô là: State channels và Sidechains. Đây là 02 thuật ngữ phổ biến trong cộng đồng và đôi khi người ta vẫn sử dụng thay thế cho nhau gây nên sự nhầm lẫn. Bài viết này sẽ làm rõ hai khái niệm trên cũng như vấn đề mà cả 2 cùng hướng đến giải quyết.

State channels là gì?
Khi nhắc tới state channels, hình dung một cách đơn giản thì đây là cách mà các tương tác được tiến hành bên ngoài blockchain (off-chain) mà không gây ra rủi ro cho người tham gia. Nếu như quan tâm đến các giải pháp mở rộng quy mô, bạn chắc hẳn đã nghe đến Lightning Network của Bitcoin, hay Raiden Network – phiên bản Lightning của Ethereum. Ý tưởng chung của cả 2 giải pháp này đều là sử dụng state channels để đưa các giao dịch ra khỏi blockchain. Việc đưa các tương tác ra khỏi chuỗi giúp cải thiện đáng kể chi phí và tốc độ giao dịch, do đó state channels được kỳ vọng sẽ trở thành một phần quan trọng trong quá trình mở rộng quy mô cho blockchain, đưa công nghệ này phát triển lên những mức cao hơn.

Cấu trúc của một state channel tương đối đơn giản:

state-channels-va-sidechains-hay-van-de-mo-rong-cua-blockchain.jpg

  • Để hình thành state channel, một phần dữ liệu (state) của blockchain cần bị khóa lại (không được cập nhật thêm) thông qua phương thức đa chữ ký, hoặc một loại smart contract khác, từ đó chỉ khi tất cả những người liên quan cùng thống nhất thì dữ liệu mới được cập nhật. (lên blockchain??)
  • Những người này cập nhật dữ liệu bằng cách thiết lập và thực hiện các giao dịch qua lại với nhau, nhưng thay vì đưa vào blockchain ngay thì những giao dịch này được giữ lại state channel.
  • Cuối cùng, những người tham gia đưa bản cập nhật dữ liệu cuối cùng trở lại blockchain và đóng state channel lại, mở khóa trạng thái.

Để state channels hoạt động, những người tham gia phải đảm bảo họ sẵn sàng đưa dữ liệu của state channel vào blockchain bất cứ lúc nào. Điều này yêu cầu người tham gia luôn phải online để bảo vệ lợi ích của chính mình cho đến khi kênh được đóng lại.

Hãy tưởng tượng khi chúng ta tham gia vào một kênh thanh toán, tôi có 100 Bitcoin còn bạn có 10 Bitcoin. Nếu chúng ta ký một cập nhật chuyển 10 Bitcoin cho tôi, sau đó lại ký thêm một cập nhật khác chuyển 50 Bitcoin lại cho bạn, thì bản cập nhật sau rõ ràng là có lợi cho bạn hơn. Nếu tự dưng bạn bị mất kết nối mạng, và tôi cứ coi là cập nhật thứ 2 không bao giờ diễn ra thì tôi có thể đưa cập nhật thứ nhất lên blockchain và như thế tôi đã cuỗm được 50 Bitcoin của bạn. Để tránh chuyện này xảy ra, bạn phải giữ trạng thái online liên tục với một bản sao của giao dịch thứ 2 để thay thế cho giao dịch đầu tiên và đảm bảo an toàn cho số tiền của bạn. Bạn không nhất thiết phải giữ bản copy này mà có thể gửi tới nhiều servers ngẫu nhiên đồng ý publish nó khi cần (tất nhiên bạn sẽ phải trả phí cho việc này). Dù bằng cách nào, bạn vẫn phải đảm bảo bản cập nhật thứ 2 luôn sẵn sàng thay thế cho cập nhật trước đó.

Thay thế bằng cách nào? Điều này đòi hỏi phải có cơ chế khóa và mở khóa được thiết kế phù hợp, để những cập nhật cũ có thể được thay thế bằng cập nhật mới hơn trước khi đưa vào blockchain. Cơ chế đơn giản nhất là hẹn giờ (start a timer), trong khoảng thời gian hẹn giờ, bất cứ cập nhật mới nào cũng có thể thay thế cập nhật trước nó, cho đến khi hết giờ thì kênh sẽ bị đóng lại và trạng thái kênh được điều chỉnh theo bản cập nhật mới nhất. Việc quyết định độ dài thời gian hẹn giờ cũng cần được cân nhắc, thời gian quá dài sẽ gây bất tiện cho các bên, trong khi khoảng thời gian quá ngắn sẽ tạo điều kiện cho một bên gian lận trong trường hợp bên kia bị mất kết nối mạng hoặc blockchain có vấn đề. Ngoài ra, bạn có thể thiết kế kênh với cơ chế phạt tiền trong trường hợp có ai đó cố tình đưa cập nhật không chính xác vào blockchain.

Thực ra, những cơ chế hẹn giờ hay phạt tiền như vậy thường gây phát sinh thêm các loại phí và làm chậm thời gian cập nhật, trong khi các bên tham gia vào một state channel có thể chỉ cần thống nhất về trạng thái cuối cùng trước khi đóng kênh lại. Những người tham gia có thể mở kênh bằng cách thiết lập một “thẩm phán” (judge smart contract – một dạng hợp đồng thông minh), ký thỏa thuận cho phép “thẩm phán” có quyền phán quyết trong trường hợp cần thiết, sau đó thống nhất đóng kênh. Nếu cơ chế “thẩm phán” được đảm bảo độ tin cậy, các giao dịch có thể được thực hiện gần như ngay lập tức, thẩm phán chỉ xuất hiện trong trường hợp cần thiết, chẳng hạn như có một bên tự dưng biến mất.

Đó là ý tưởng về state channel. Nếu “trạng thái” được cập nhật giữa các thành viên là một số dư tài khoản tiền kỹ thuật số, chúng ta có thể gọi đây là một kênh thanh toán. Bước 1 và 3 là 02 bước mở và đóng kênh, tham gia trực tiếp vào chuỗi blockchain. Tuy nhiên, những cập nhật tại bước 2 được thực hiện tách biệt hoàn toàn khỏi chuỗi – và chính tại đây mà ưu điểm của state channel được bộc lộ. Chỉ có bước 1 và 3 mới được công khai trên mạng lưới, trả phí và chờ đợi xác nhận từ các node. Trên thực tế, nếu như được lên kế hoạch và thiết kế một cách cẩn thận, state channels gần như có thể luôn luôn giữ ở trạng thái mở và trở thành một phần trong mô hình hub-and-spoke (mô hình trục bánh xe và nan hoa) để phục vụ cho toàn nền kinh tế hay hệ sinh thái.

state-channels-va-sidechains-hay-van-de-mo-rong-cua-blockchain (2).jpg

Sidechains
Cùng chung ý tưởng giảm bớt gánh nặng trên blockchain, tuy nhiên không giống như State channels, Sidechains hướng tới việc thiết lập một blockchain riêng, có liên kết với blockchain mẹ (mainchain) sử dụng cơ chế two-way peg. Nói cách khác, bạn có thể di chuyển tài sản sang chuỗi con (sidechain) và đưa trở về chuỗi mẹ khi cần.

state-channels-va-sidechains-hay-van-de-mo-rong-cua-blockchain (3).jpg

Cơ chế two-way peg cho phép trao đổi tài sản giữa mainchain và sidechain theo tỉ lệ định trước. Thông thường, blockchain ban đầu sẽ đóng vai trò là mainchain còn tất cả những blockchain phụ sẽ trở thành sidechain.

Đầu tiên, người dùng trên chuỗi mẹ phải gửi tiền vào một địa chỉ output và số tiền này sẽ bị khóa lại, không cho phép người dùng sử dụng. Giao dịch sau khi đã hoàn thành sẽ được xác nhận trên các chuỗi và phải có một khoảng thời gian chờ để đảm bảo an toàn. Sau khoảng thời gian chờ này, một số tiền tương ứng sẽ được trả về sidechain và cho phép người dùng sử dụng. Quá trình tương tự cũng diễn ra khi bạn muốn di chuyển tài sản từ một sidechain trở lại mainchain.

Giữa mainchain và sidechain có một trung gian là nhóm federation. Nhóm này quyết định khi nào khóa và khi nào trả lại tiền cho người dùng. Người khởi tạo sidechain có quyền quyết định thành viên của federation. Một vấn đề với cấu trúc nhóm federation là tạo ra một lớp trung gian giữa mainchain và sidechain.

Các sidechains phải tự chịu trách nhiệm đảm bảo an ninh cho mình. Nếu không có đủ năng lực đào đảm bảo cho một sidechain thì nó rất có thể bị hack. Do mỗi sidechain đều độc lập với nhau nên nếu trường hợp bị hack xảy ra, tổn thất sẽ chỉ thuộc về sidechain đó và không ảnh hưởng đến mainchain. Điều ngược lại vẫn đúng, mainchain dù có bị tấn công vẫn không ảnh hưởng đến tình trạng hoạt động của sidechain, tuy nhiên cơ chế two-way-peg sẽ mất đi gần như toàn bộ giá trị của mình.

State channels và sidechains: giải pháp nào ưu việt hơn?
Như đã nói ở phần đầu bài viết, 02 giải pháp này đều nhằm xử lý vấn đề mở rộng quy mô của blockchain. Cả hai đều đi theo một mô hình tương tự:

  • Khóa trạng thái/ tài sản
  • Thực hiện giao dịch bên ngoài blockchain (chính)
  • Mở khóa trạng thái/ tài sản sau khi hoàn thành giao dịch

Nếu phải chỉ ra điểm khác biệt giữa state channels và sidechains, có lẽ điểm dễ nhận biết nhất là đối với state channels, chúng ta không tạo ra thêm một blockchain phụ nào, còn trong sidechains thì có. Vậy thì giải pháp nào tốt hơn.

state-channels-va-sidechains-hay-van-de-mo-rong-cua-blockchain (4).jpg

State channels

  • Ưu điểm

Tính riêng tư cao hơn: đó là do mọi thứ đều diễn ra bên trong một kênh trạng thái giữa những người tham gia chứ không công khai trên blockchain. Trong khi đó, với sidechains, mọi giao dịch đều được công khai trên sidechain cho dù bạn không tương tác với tất cả mọi người trong sidechain đó.

State channels có khả năng đóng kênh ngay lập tức: ngay sau khi các bên ký một cập nhật trạng thái, cập nhật đó được coi là cuối cùng. 2 bên có thể đưa trạng thái cập nhật đó on-chain khi họ muốn, tuy nhiên thời gian để đóng kênh trạng thái có thể khá lâu để đảm bảo an toàn cho giao dịch. Với sidechains, finality (trạng thái cuối cùng được update trên mainchain) phụ thuộc vào năng lực đào của sidechain.

  • Nhược điểm

Mọi thành viên luôn phải online nếu không muốn chịu rủi ro mất tiền. Người tham gia có thể nhờ một người khác làm đại diện cho mình, nhưng việc này lại dẫn đến nguy cơ bị tấn công hoặc người đại diện bị hối lộ.

Việc thay đổi số thành viên trong kênh gặp hạn chế. Đó là bởi thẩm phán (judge contract) luôn phải biết các thành viên trong kênh. Chúng ta có thể thêm hoặc loại bỏ bớt thành viên, nhưng lại phải thay đổi hợp đồng mỗi lần như vậy.

Khi xây dựng kênh để triển khai hợp đồng thẩm phán đòi hỏi phải bỏ ra một khoản chi phí ban đầu. Sau đó, chi phí cho mỗi lần cập nhật trạng thái trong kênh sẽ rất thấp. Do đó, state channels đặc biệt có hiệu quả khi những thành viên tham gia trao đổi các trạng thái trong một thời gian dài.

state-channels-va-sidechains-hay-van-de-mo-rong-cua-blockchain (5).jpg

Sidechains

  • Ưu điểm

Các sidechains là vĩnh cửu, bạn không cần tạo ra nhiều sidechains cho từng mục đích cụ thể nếu như bạn đã có sẵn một sidechain. Một khi đã được tạo ra, các sidechains được duy trì mãi và không bao giờ bị đóng. Chúng ta chỉ khóa tài sản trên sidechains rồi chuyển lại về mainchain. Trong khi đó, với state channels, bạn thường xuyên phải tạo kênh mới để thêm người tham gia.

Sidechains cho phép các loại tiềnmã hóa tương tác với nhau: các sidechains có tính linh hoạt cao và cho phép các nhà phát triển thử nghiệm các bản beta hay cập nhật phần mềm của các altcoins trước khi đưa chúng lên mainchain. Các ngân hàng truyền thống cũng có thể thử nghiệm việc phát hành và theo dõi sở hữu các loại tài sản tài chính trên các sidechains.

  • Nhược điểm

Sidechains đòi hỏi đầu tư ban đầu lớn. Để tạo ra một sidechain, chúng ta phải có đủ miner (thợ đào coin) để đảm bảo an toàn cho hệ thống. Về vấn đề này thì state channels rõ ràng có ưu thế hơn, vì nó không cần tạo ra một blockchain phụ khác.

Sidechains cần có nhóm federation, điều này tạo ra một lớp trung gian giữa mainchain và sidechain, vô tình tạo thêm một điểm yếu cho hacker có cơ hội tấn công thông qua federation.

Nhìn chung thì mỗi giải pháp trên đều có những ưu điểm và nhược điểm riêng, ưu điểm của cái này đôi khi lại trở thành nhược điểm của cái kia, và cuộc cạnh tranh giữa sidechain và state channels vẫn chưa có dấu hiệu ngã ngũ. Khi các nhà phát triển vẫn liên tục nghiên cứu và việc ứng dụng thực tiễn vẫn chưa được hoàn thiện, chúng ta chưa thể định đoạt giải pháp nào mới là cái ưu việt hơn. Cũng có khả năng, cả hai sẽ được kết hợp lại để cho ra một giải pháp mới cho vấn đề mở rộng quy mô.

Nội dung bài viết, phân tích bao gồm ý kiến cá nhân của tác giả theo điều kiện của thị trường tại thời điểm phân tích. Các nhà đầu tư nên thực hiện nghiên cứu thị trường riêng của mình trước khi tham gia đầu tư. Luôn bám sát dòng chảy dữ liệu của thị trường để có quyết định an toàn và tối ưu. Là một nhà đầu tư bạn luôn hiểu và tự chịu trách nhiệm 100% việc ra quyết định của mình. Thành công là của bạn!

🤜🤛Các kênh thông tin Pink Blockchain:
✅ Website: https://pinkblockchain.com/
✅ Kênh Telegram 1 chiều: https://t.me/pinkblockchain
✅ Group Telegram Mining: https://t.me/joinchat/F5wOVQhK9E1fpFi…
✅ Youtube: https://www.youtube.com/c/PinkBlockchain
✅ Twitter: https://twitter.com/PinkBlockchain
✅ Steemit: https://steemit.com/@vnpinkblockchain

Link bài gốc: https://pinkblockchain.com/state-channels-va-sidechains-02-van-de-mo-rong-cua-blockchain/

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!