Tin tức

Nhược điểm của công nghệ Blockchain

Blockchain được biết đến là công nghệ đứng đằng sau hệ thống tiền mã hóa nổi tiếng nhất thế giới - Bitcoin. Có thể nói khi Bitcoin gây bão trên thị trường tài chính thì Blockchain cũng gây sốt trong giới công nghệ. Nhưng, có phải người ta đã quá tô hồng những lợi ích của Blockchain mà bỏ qua những nhược điểm "chết người" của nó ? Ít có bài phân tích viết về nhược điểm của Blockchain, và do đó, tôi muốn viết bài này mong có thể cùng thảo luận với tất cả mọi người.

Blockchain được biết đến là công nghệ đứng đằng sau hệ thống tiền mã hóa nổi tiếng...

https://godream.vn/uploads/post/1524457538_blockchain_0.gif

Công ty phần mềm GoDream - Thiết kế website chuẩn seo tại Vinh Nghệ An Hà Tĩnh

Blockchain được biết đến là công nghệ đứng đằng sau hệ thống tiền mã hóa nổi tiếng nhất thế giới - Bitcoin. Có thể nói khi Bitcoin gây bão trên thị trường tài chính thì Blockchain cũng gây sốt trong giới công nghệ. Số lượng công ty có ý định nghiên cứu và áp dụng Blockchain ngày càng nhiều, lương kỹ sư Blockchain ngày càng cao. Công ty nào cũng muốn đi trước đối thủ, áp dụng công nghệ mới được cho là tương lai của thế giới này. Blockchain được hứa hẹn sẽ thay đổi cuộc sống 1 cách sâu sắc, không chỉ trên Internet mà còn trong thế giới thực, từ tài chính cho tới nông nghiệp.

Nhưng..

Sau một thời gian tìm hiểu, tôi lại có suy nghĩ khác. Có phải người ta đã quá tô hồng những lợi ích của Blockchain mà bỏ qua những nhược điểm "chết người" của nó ? Ít có bài phân tích viết về nhược điểm của Blockchain, và do đó, tôi muốn viết bài này mong có thể cùng thảo luận với tất cả mọi người.

blockchain

Câu hỏi gốc mà tôi đặt ra là " Tôi có thể sử dụng Blockchain vào ứng dụng hiện tại không ? "
Và câu trả lời mà tôi tìm được là "Phần lớn những bài toán giải được bằng Blockchain thực ra cũng có thể giải được bằng cách khác"
(Lưu ý: tôi muốn hướng đến những bài toán/ứng dụng không liên quan lĩnh vực tài chính)

Gần đây tôi có tham gia 1 hội thảo về Blockchain, có sự tham gia và trình bày của VeriMe (https://www.verime.mobi) . Theo trình bày của bạn thì nhờ ứng dụng công nghệ Blockchain mà các bạn ấy đã giải được bài toán mà nhiều năm chưa giải được. Theo cách truyền thống, các bạn ấy phải lưu trữ thông tin người dùng trên 1 máy chủ trung tâm, và như thế sẽ gặp vấn đề về lòng tin (như vụ Facebook vừa qua). Giải pháp hiện tại là các bạn dùng cách lưu trữ phân tán (lưu trên chính thiết bị người dùng) và áp dụng thêm tiền kỹ thuật số (đồng VME) để tạo mô hình kinh tế trong phần mềm.

Vấn đề ở đây là các bạn cho rằng các bạn đã ứng dụng Blockchain để giải quyết bài toán gốc - NHƯNG - không phải thế. Cái các bạn ứng dụng là "tiền kỹ thuật số", để tạo ra "giá trị gia tăng" cho sản phẩm. Các bạn không lưu trữ thông tin gì trên Blockchain (mà lưu trực tiếp trên máy người dùng) do đó không thể nói là ứng dụng công nghệ Blockchain. Nếu bỏ phần tiền đi trong ứng dụng của bạn, thì nó không khác gì một ứng dụng bình thường, chỉ là chuyển từ lưu trữ trên server sang lưu trữ ngay trên thiết bị cuối.

Có nhiều sản phẩm khác cũng được giới thiệu là áp dụng công nghệ Blockchain như truy xuất nguồn gốc, logistic, lưu trữ dữ liệu.. Đây là những bài toán cũ, vốn đã có những giải pháp ở mức này hay mức khác, và nay được nghiên cứu để áp dụng Blockchain. Nhưng liệu việc áp dụng Blockchain vào những lĩnh vực này có hiệu quả không ? Khi mà Blockchain có những nhược điểm sau :

  1. Thông tin lưu trữ mãi mãi và không thể sửa được
    Người ta nói đến đặc điểm này của Blockchain như là một ưu điểm nổi trội của công nghệ này. Chúng ta có thể thấy đây là giá trị cốt lõi của Blockchain khi áp dụng vào tiền mã hóa. Nhưng, nếu áp dụng vào một ứng dụng khác thì sao ?
    - Truy xuất nguồn gốc có cần lưu trữ thông tin mãi mãi không ? Liệu ngày hôm nay tôi có muốn biết 5 năm trước mình đã ăn cái gì, mua ở đâu không ?
    - Khi lưu trữ file trên nền tảng blockchain, tôi có cần biết cách đây 5 năm tôi đã upload file gì lên không?

    Trong phần lớn trường hợp, câu trả lời sẽ là "Không". Vấn đề của blockchain là nó lưu trữ mọi thứ mãi mãi, và nó có thể gây ra một sự lãng phí lớn về không gian lưu trữ. Càng sử dụng lâu, càng nhiều "rác". Bitcoin hiện cần tối thiểu 145Gb trên máy tính để download toàn bộ giao dịch đã phát sinh (https://bitcoin.org/en/bitcoin-core/features/requirements) . Đấy là mới chỉ những thông tin về giao dịch (mua-bán), nếu nó phải thêm vào những thông tin khác về sản phẩm, vận chuyển, và những metadata khác nữa thì sẽ thế nào. Mỗi node khi muốn tham gia vào hệ thống phải chuẩn bị ổ cứng dung lượng lớn để download sổ cái chung này.

  2. Vấn đề băng thông
    Mỗi node cần liên lạc với những node khác để nhận giao dịch về, xác thực giao dịch và công bố kết quả kiểm tra giao dịch. Những nhiệm vụ này làm tốn băng thông mạng, có thể ảnh hưởng lớn tới mạng Internet trong khu vực. Từ link ở phần 1 các bạn cũng có thể thấy băng thông cần thiết là 500Mb download/1 ngày và 5Gb Upload/ngày. Wtf ?

  3. Vấn đề xác minh giao dịch
    Không ai xa lạ với vấn đề này. Mạng Bitcoin càng lúc càng mất nhiều thời gian để xác minh 1 giao dịch. Đã có những giải pháp kỹ thuật hoặc những mô hình Blockchain cải tiến để giải quyết vấn đề này. Nhưng thực sự thì vẫn chưa thể bằng những mô hình truyền thống như Visa. Tôi đang có ý định áp dụng tiền mã hóa thành 1 loại tiền để giao dịch trên ứng dụng livestream của mình - Myidol.live. Đây là 1 ứng dụng livestream tặng quà như Bigo nhưng có thể chạy được trên Facebook, Youtube. Khách xem tặng tiền cho người đang livestream - concept cơ bản là vậy. Vấn đề xác minh giao dịch gây ra phiền toái không hề nhỏ ở đây. Khi khách hàng tặng quà cho idol, người ta muốn thấy quà của mình xuất hiện lên màn hình - ngay lập tức - hoặc ít ra cũng trong phạm vi 30s. Không thể tặng quà xong chờ 10 phút sau thì mới biết giao dịch đó có thành công hay không. Pain in the ass.

  4. Vấn đề về xử lý
    Mạng Blockchain như Bitcoin sử dụng Proof of Work, nôm na là "làm việc hăng say, vận may sẽ tới". Càng bỏ nhiều công sức thì xác suất kiếm được thưởng càng cao. Việc này đã tạo nên cơn sốt card đồ họa mà chúng ra đã thấy. Người người nhà nhà thi nhau tậu dàn trâu cày khủng để đào tiền kỹ thuật số và duy trì mạng Blockchain.
    Điều này đồng nghĩa việc xây dựng mạng blockchain trên ứng dụng di động là bất khả thi do giới hạn về năng lực tính toán. Tôi có ý tưởng xây dựng một ứng dụng voting nhỏ trên smartphone cho cộng đồng, với tham vọng minh bạch hóa quá trình bầu cử (lý thuyết là vậy). Nhưng ứng dụng như vậy sẽ gây nóng máy và hao pin, chẳng ai thích điều đó cả. Kể cả khi toàn bộ cộng đồng tham gia và sử dụng ứng dụng voting của tôi, cũng sẽ gặp phải vấn đề tiếp theo

  5. Vấn đề tấn công quá bán
    Có 2 cách để ứng dụng Blockchain cho sản phẩm của mình. 1 là ứng dụng 1 mạng lưới Blockchain đã có sẵn - lựa chọn thường thấy là mạng ETH. Cách thứ 2 là xây dựng mạng Blockchain của riêng mình. Việc đó nảy sinh vấn đề. Tôi đã nghĩ đến việc ứng dụng Blockchain trong việc kê khai hóa đơn doanh nghiệp. Công ty này bán hàng cho công ty khác, đó là 1 giao dịch. Nếu có thể áp dụng được Blockchain thì thực sự tăng tính minh bạch và giảm tải cho khâu kiểm toán. Ngoài việc 1 mạng lưới như vậy cần sự vào cuộc mạnh mẽ của chính quyền, thì những thông tin như vậy sẽ không muốn áp dụng 1 mạng Blockchain công cộng như ETH. Nhưng xây 1 mạng riêng thì không phải là chuyện dễ dàng. Phải yêu cầu mỗi doanh nghiệp cung cấp 1 máy tính kết nối mạng để duy trì và xác thực mạng Blockchain ?
    Nếu mạng tự xây dựng không đủ độ lớn cần thiết, nguy cơ bị tấn công quá bán là rất cao (Trường hợp 1 node có năng lực tính toán lớn hơn 50% toàn hệ thống có thể thao túng được kết quả xác thực giao dịch)

  6. Vấn đề trustless
    Mạng Blockchain được xây dựng với ý tưởng là bạn không cần tin tưởng ai để thực hiện giao dịch. Bạn tự mình xác minh mọi giao dịch và đảm bảo không có gian lận - và nó thực sự hoạt động tốt. Nhưng smart contract có còn đảm bảo được điều này ?
    Smart contract là một ý tưởng rất hay mà tôi hứng thú tìm hiểu. Concept đơn giản nhất là tôi và anh cá cược về thời tiết ngày mai nắng hay mưa. Cả 2 cùng đưa tiền cho 1 cái smart-contract giữ, nếu nắng, nó tự động chuyển tiền cho anh, nếu mưa nó chuyển tiền cho tôi. Mọi việc có vẻ công bằng và minh bạch. Nó giải quyết vấn đề là không cần đưa tiền cho 1 người thứ 3 mà không biết có thể tin tưởng được hay không. Vậy, liệu có thể tin tưởng Smartcontract ?
    Smartcontract luôn luôn hoạt động theo những gì nó được lập trình, tôi và anh đều xem được mã nguồn và biết nó làm gì, tại sao nó làm như vậy. Trở lại ví dụ trên, vấn đề đặt ra là làm sao cái Smartcontract này nó biết hôm nay trời nắng hay mưa ?
    Chúng ta có thể sử dụng API của 1 dịch vụ thứ 3 để xác định điều này, nhưng như thế lại quay trở lại bài toán tin tưởng. Liệu có thể tin tưởng bên thứ 3 này hay không ? Smartcontract không thể hoàn toàn 100% trustless nếu dữ liệu đầu vào là không đúng.
    Không chỉ có vậy, nếu hôm nay lúc nắng, lúc mưa sẽ gây ra sự không thống nhất giữa các node và không nhận được kết quả xác đáng.

  7. Vấn đề ăn cắp ý tưởng
    Smartcontract là trong suốt và ai cũng có thể đọc, hiểu, biết nó làm gì. Điều đó là tốt trong 1 giao dịch, 2 bên cần hiểu rõ những gì mình kí kết. Việc này lại đặt ra cho mình 1 câu hỏi khác. Nếu mình cung cấp cho khách hàng 1 dịch vụ có sử dụng smartcontract. Thì đối thủ của mình cũng có thể copy và tạo ra dịch vụ tương tự trên Blockchain ?

  8. Vấn đề bảo mật tài khoản
    Blockchain cung cấp cho chúng ta một cái hòm chứa tiền và quảng cáo rằng không gì có thể phá vỡ được. Tiền của bạn sẽ mãi là của bạn, miễn là "bạn giữ chìa khóa". Chìa khóa ở đây là 1 chuỗi ký tự dài mà bạn không thể nhớ theo cách thông thường bạn nhớ mật khẩu đăng nhập website. Và khi bạn có hàng trăm cái chìa khóa như vậy, bạn phải lưu trữ chúng ở một nơi nào đấy. Chúng ta lại quay lại vấn đề cũ, thay vì làm sao để giữ tiền an toàn thì làm sao giữ chìa khóa được an toàn.
    Có rất nhiều câu chuyện kể về một anh chàng nào đấy mất đi cả 1 gia tài chỉ vì thanh lý máy tính cũ, mà trong đó có chứa chìa khóa tới ví Bitcoin đào từ nhiều năm trước. Những website như blockchain.info cho phép bạn tạo ví và lưu trữ chìa khóa trên đó thì lại đưa hệ thống về bài toán lưu trữ tập trung, dễ dàng bị hacker ghé thăm và đánh cắp tiền.
    Và khi bạn muốn đưa ví blockchain vào ứng dụng của mình, bạn sẽ phải trả lời câu hỏi : "Ứng dụng hay người dùng sẽ là bên giữ chìa khóa ?" - Cách nào cũng rắc rối cả.

 

Đây là những đúc kết của tôi khi cố gắng mày mò tìm cách ứng dụng Blockchain vào những sản phẩm của mình. Và kết luận của tôi là "Blockchain chỉ phù hợp với các ứng dụng Finance; với các ứng dụng Non-Finance, chúng ta sẽ có cách tiếp cận đơn giản và hiệu quả hơn Blockchain nhiều lần!"  Những ý kiến này hoàn toàn là quan điểm cá nhân và tôi rất muốn được lắng nghe ý kiến phản biện của bạn.

Bài Viết Liên Quan