Tư Vấn Tiền Ảo
Chuyên trang tổng hợp tin tức và tư vấn tiền ảo

“Mổ xẻ” những vấn đề trong sự phát triển của Hợp đồng thông minh Ethereum

0

Nhiều người trong số các bạn có lẽ đã từng đặt câu hỏi về tính hữu ích của blockchain nói chung và Ethereum nói riêng. Một số người có thể đã vượt quá giới hạn của sự tò mò của mình và bắt gặp khá nhiều đặc tính nổi bật, chẳng hạn như phi tập trung, minh bạch, sự tin cậy mà không cần đến các bên trung gian và tính kháng cự trước các vụ hack. Điều đó thật đáng kinh ngạc, phải không nào? Chắc chắn là vậy rồi, nhưng…

mo-xe-nhung-van-de-trong-su-phat-trien-cua-hop-dong-thong-minh-ethereum

Trong trạng thái hiện tại của nó, blockchain là một mảnh ghép hoàn hảo cho việc thực hiện một loạt các nhiệm vụ, trừ khi bạn xét đến việc “thêm một số công nghệ nano để tạo hiệu ứng tuyệt đỉnh” là một nhiệm vụ – trên thực tế, bạn có thể điều chỉnh gần như bất cứ điều gì để phù hợp với mục tiêu này. Tất nhiên, một thứ gì đó cần phải được thực hiện để bắt đầu, với nhiều thí nghiệm khác nhau giúp hiểu được tiềm năng và cho thấy nhu cầu có thể ở đâu, nơi mà “ngõ cụt” xuất hiện bất ngờ, và nơi mà những hạn chế hóa ra không quan trọng như dự đoán. Tuy nhiên, bạn cần phải biết về các ranh giới, để đưa ra quyết định sáng suốt cho dù việc thử và bước qua chúng trong một trường hợp cụ thể có hợp lý hay không.

Nhân tiện, Ethereum không phải là lựa chọn duy nhất và tốt nhất. Có lẽ, blockchain là công cụ thích hợp để đạt được mục tiêu của bạn, mặc dù là một loại blockchain khác. Tuy nhiên, chúng tôi sẽ bao hàm cả “Ethereum” khi chúng tôi đề cập thêm đến “blockchain” trong bài viết này.

Hãy thử điểm qua các tính năng của blockchain và các hợp đồng thông minh Ethereum giúp quá trình giải quyết các nhiệm vụ đầy hứa hẹn một cách không hiệu quả hoặc bất khả thi. Tôi muốn chỉ ra ngay từ đầu rằng các đặc điểm dưới đây được tổng quát hóa, do đó, vẫn có thể có các giải pháp khả thi đối với các trường hợp sử dụng cụ thể. Vì vậy, bạn nên xem danh sách này như một tập hợp các điểm yếu của Ethereum để cân nhắc trước khi bắt đầu với dự án của mình.

1. Rào cản gia nhập cao

Nếu khán giả của bạn bao gồm nhiều người dùng thường xuyên hơn là những người đam mê blockchain, thì rất ít người trong số họ sẽ chấp nhận giải pháp của bạn. Hãy thử nghĩ về nó mà xem – họ sẽ không chỉ phải cài đặt MetaMask hoặc Mist với một node, nhưng họ cũng sẽ cần phải mua một lượng Ether, đó là một quá trình không thuận lợi cho người mới bắt đầu. Vì vậy, nếu bạn đang nhắm đến một lượng khán giả tối đa, thì Ethereum cho đến giờ vẫn không phải lựa chọn tốt nhất. Ví dụ: sẽ là một ý tưởng tồi khi thiết lập một store trực tuyến chỉ dựa trên hợp đồng thông minh.

Giải pháp?

  • Cung cấp các lợi ích mà có thể “vượt mặt” những bất tiện.
  • Nhắm đến một nhóm khán giả bằng một số kiến thức chuyên môn.
  • Nó sẽ thích hợp để phức tạp hóa logic của blockchain đối với người dùng bằng cách di chuyển nó vào phần backend.

2. Sự tập trung mang tính “phi tập trung”

Cho dù bạn “mổ xẻ” nó như thế nào đi chăng nữa, blockchain vẫn rất tuyệt vời vì nó hoạt động ngay cả khi những người tham gia không tin tưởng nhau. Tuy nhiên, dấu hiệu này chỉ đúng với điều kiện người dùng là chủ sở hữu duy nhất của private key của họ. Đó là điều kiện tiên quyết để ký các giao dịch và thực hiện những việc khác từ address của họ. Điều gì sẽ xảy ra nếu logic blockchain ở phần backend? Các key được sử dụng theo cách tập trung, và không có cơ chế để tránh các giao dịch không được phê chuẩn bởi người dùng. Do đó, tất cả những gì còn lại có thể làm đó là hy vọng rằng máy chủ đủ an toàn và được duy trì đúng cách.

Giải pháp?

  • Hiểu xem bạn cần sự minh bạch và tính bất biến, hay lựa chọn về việc thao túng tiền mã hóa. Nếu không, nó sẽ tiết kiệm chi phí và thuận tiện hơn khi sử dụng cơ sở dữ liệu thông thường.
  • Thiết lập và nâng cao cơ chế hoạt động của bạn để đảm bảo công nghệ phù hợp.

3. Tất cả dữ liệu đều công khai

Bất kể hợp đồng thông minh được viết theo cách nào, một bên quan tâm có thể khôi phục giá trị của bất kỳ trường dữ liệu nào trong đó nếu họ muốn. Điều tương tự cũng áp dụng cho lịch sử giao dịch. Do đó, nếu bạn đăng nhập và giữ lại bất kỳ thông tin nhận dạng cá nhân nào về người dùng, chẳng hạn như địa chỉ email và tên của họ, thì mọi thứ mà những người dùng này thực hiện đều có thể truy cập công khai. Chính vì vậy bạn có thể phải tiến hành một số loại mã hóa ở trên đó. Nếu vậy, key của nó phải được lưu trữ ở bên người nhận, chính là người dùng, một lần nữa, phải tin tưởng một bên thứ ba với dữ liệu cá nhân của họ. Sử dụng kho lưu trữ cá nhân thông thường để giữ thông tin nhạy cảm có thể là một ý tưởng tốt hơn. Nếu bạn định tạo các hợp đồng dựa trên blockchain, bạn có thể mất nhiều hơn số tiền bạn kiếm được.

Giải pháp?

  • Hiểu được rằng liệu logic hợp đồng thông minh của bạn có yêu cầu dữ liệu cá nhân của người dùng hay không. Nếu có, hãy xem xét việc tận dụng các mã băm (hash) thay vì dữ liệu phù hợp.

4. Blockchain không phải Siêu máy tính

Một số người có thể có ấn tượng rằng các miner sử dụng sức mạnh xử lý to lớn cho các tính toán “lành mạnh”, nhưng đó là một quan niệm sai lầm. Hãy để tôi làm rõ điều này: năng suất của Ethereum tương tự như năng suất của một Hệ thống nhúng (embedded system) vì nó liên quan đến tài nguyên hạn chế, số lượng bộ nhớ hạn chế và kích thước giới hạn của “firmware” (mã byte hợp đồng). Do đó, mức tối đa của các tính toán không-quan-trọng nên được di chuyển ra ngoài chuỗi. Đây là lý do tại sao thực hiện phân tích dữ liệu phức tạp trong các hợp đồng thông minh hoặc những thứ như mã hóa đều rất khó có thể thực hiện được.

Giải pháp?

  • Không sử dụng blockchain để tính toán bất kỳ loại nào.
  • Nếu bạn cần tiến hành các phép tính liên quan đến blockchain, hãy xem xét tận dụng tính năng tính toán của Oraclize (Oraclize’s Computation).

5. Blockchain không phải là một Kho dữ liệu toàn cầu

Một số người tin rằng blockchain có thể được sử dụng để lưu trữ thông tin hoặc tài liệu. Những cảnh báo cho vấn đề này rất rõ ràng: trước hết, lưu trữ dữ liệu theo cách này rất tốn kém; thứ hai, blockchain không phù hợp với những thứ như tìm kiếm – bạn cần phải có công cụ để khớp các key-value, điều này sẽ thêm một số chi phí bổ sung cho mỗi phần đăng nhập, nếu không bạn phải tìm kiếm thông tin theo cách thủ công. Ngoài ra sẽ không có sự quản lý quyền hạn. Vì vậy, việc thay thế một cơ sở dữ liệu thông thường bằng blockchain sẽ không có nhiều ý nghĩa trừ khi bạn biết chính xác lý do tại sao bạn cần nó. Khi lưu trữ các tệp cụ thể, hãy lưu ý đến khía cạnh khả năng truy cập công khai: giả sử nếu bạn lưu trữ liên kết IPFS, mọi người sẽ thấy nó và có thể tải xuống mọi thứ bạn giữ ở đó. Tóm lại, hãy suy nghĩ cẩn thận nếu bạn đang định lưu trữ hình ảnh cá nhân của mình trên blockchain.

Giải pháp?

  • Bạn nên lưu trữ một mã băm để xác minh những thứ được lưu trữ bên ngoài chuỗi.
  • Chỉ lưu trữ dữ liệu cần thiết cho logic hoạt động của hợp đồng thông minh.

6. Ràng buộc blockchain với thế giới thực

Blockchain về bản chất có thể gửi coin/token một cách dễ dàng, nhưng làm thế nào để gửi những thứ bạn mua cho chúng? Ngay cả khi đó là một file, làm cách nào để bạn xác minh việc gửi nó đi mà không liên quan đến bên thứ ba? Đây là một câu trả lời nhanh gọn: nó không quá dễ dàng, bởi vì chúng tôi cho rằng cả hai bên đều muốn lừa dối lẫn nhau, và vì vậy chúng tôi cần một loạt các xác minh cũng như các trường hợp mã hóa và giải mã. Trong trường hợp có tranh chấp, bạn chỉ đơn giản là không thể thực hiện mà không có tính toán ngoài chuỗi hoặc một trọng tài.

Rõ ràng là toàn bộ quá trình sẽ phức tạp hơn đối với hàng hóa hoặc dịch vụ thực tế, bởi vì ai đó cần nhập thông tin mà trong đó ghi rằng hàng hóa đã được nhận. Người này không phải là một bên quan tâm, có nghĩa là người đó là một bên thứ ba mà chúng ta đáng lẽ phải tin tưởng. Trong trường hợp này, giải pháp blockchain của chúng ta có một liên kết yếu trong vai trò “trọng tài” này. Ngoài ra, giả sử chúng ta tin tưởng người đó, tại sao không tin tưởng anh ấy hoặc cô ấy với mọi thứ khác, chẳng hạn như việc duy trì một cơ sở dữ liệu thường xuyên và thực hiện các khoản thanh toán? Đây là một câu hỏi cơ bản bạn nên tự hỏi trước khi bắt đầu sáng kiến blockchain của bạn. Cụ thể, tôi thực sự không hiểu việc sử dụng token mà bạn cung cấp để đổi lấy discount trong store ngoại tuyến là gì.

Giải pháp?

  • Hãy cho mình một câu trả lời rõ ràng về lý do tại sao logic tập trung không phù hợp. Nếu bạn không thể, thì hãy từ bỏ ý tưởng blockchain của bạn đi.

7. Luôn có nguy cơ xảy ra “Lỗi của con người” (Human Error)

Nếu bạn chuyển tiền đến nhầm người do nhầm lẫn hoặc tài khoản ngân hàng của bạn bị hack, bạn có thể gửi một vé hỗ trợ kỹ thuật và có một ít thời gian để hủy hoặc khôi phục giao dịch. Với các hợp đồng thông minh, bạn không thể thực hiện những việc không được bảo vệ bởi code theo cách thủ công. Điều này, một lần nữa, đưa chúng ta đến sự cần thiết của việc bao gồm một trọng tài – người mà sẽ có những đặc quyền to lớn khiến cho toàn bộ giải pháp trở nên gần như tập trung.

Giải pháp?

  • Tiến hành một sự trì hoãn giả của việc chuyển tiền trong hợp đồng thông minh khi thích hợp.

8. Các giao dịch đều tốn thời gian

Nếu bạn có một hệ thống với động lực cao cùng các trạng thái thay đổi vĩnh viễn và logic dựa trên chúng, thì thời gian chờ đợi rất có thể sẽ khiến bạn không hài lòng. Ví dụ, trong Ethereum, thời gian xác nhận giao dịch bình thường là nửa phút hoặc thậm chí nhiều hơn thế. Ngay cả khi thêm vài giây không phải là vấn đề đối với giải pháp của bạn, bạn vẫn nên xem xét khả năng thời gian chờ giao dịch vô hạn định và xác định khoảng thời gian đủ. Do đó, các trò chơi như poker cho đến nay không thể được thiết lập trên cơ sở hợp đồng thông minh Ethereum, hoặc chúng có thể khá “nguyên thủy” và đòi hỏi sự nhấn mạnh vào logic ngoài chuỗi.

Giải pháp?

  • Nếu bạn có ý định kiểm tra blockchain thường xuyên, Ethereum có lẽ không phải là sự kết hợp hoàn hảo, và có lẽ bạn không nên hạn chế triển vọng của bạn cho mỗi blockchain.
  • Nếu có thể, hãy kết hợp nhiều giao dịch thành một, thực hiện một phần của logic off-chain (logic ngoài chuỗi).
  • Trong trường hợp tệ nhất, bạn có thể tăng giá gas (chi phí thực hiện một hoạt động) khi thích hợp.
  • Nếu một giao dịch mất quá nhiều thời gian để hoàn thành, bạn có thể chỉ ra mức giá cao hơn và gửi lại nó (giao dịch vẫn không thay đổi, bao gồm cả giá trị nonce). Bằng cách này, giá cao hơn sẽ thay thế giá thấp hơn.

9. Sự trốn tránh việc kiểm duyệt cho tới giờ vẫn chưa hoàn hảo

Nếu bạn đang sử dụng blockchain để kháng cự lại chính phủ hoặc một cái gì đó tương đương, hãy nhớ rằng một dịch vụ web vẫn là một thực thể tập trung, ngay cả khi nó dựa trên blockchain. Nói cách khác, một tên miền hoặc địa chỉ IP vẫn dễ bị chặn và người dùng sẽ phải biết địa chỉ đối xứng (mirror address) hoặc tìm một dịch vụ VPN. Lợi ích ở đây là bạn không phải sao lưu cơ sở dữ liệu, và bằng cách biết địa chỉ trong mạng Ethereum, bạn luôn có thể truy cập bằng các kỹ thuật ít thân thiện với người dùng hơn, chẳng hạn như Mist, MyEtherWallet, Etherscan, v.v. Tuy nhiên, công tác kiểm duyệt vẫn tiếp tục là một vấn đề.

Giải pháp?

  • Khả năng phục hồi từ việc bị chặn chắc chắn là một lợi ích không hề nhỏ, nhưng bạn không nên đưa ra quyết định về việc sử dụng blockchain khi chỉ dựa trên mỗi thông tin này.

Các giải pháp thay thế là gì?

Có rất nhiều. Các giải pháp blockchain và không-blockchain khác có thể hy sinh tính chất phi tập trung của chúng, tính rộng rãi hoặc người dùng không giới hạn của chúng để đổi lấy tốc độ giao dịch cao hơn, bảo vệ quyền riêng tư đáng tin cậy, v.v Các ví dụ bao gồm EOS, giải pháp dựa trên Hyperledger, Exonum, Hashgraph, Corda và nhiều công cụ khác. Tuy nhiên, một thương hiệu phổ biến vẫn là yếu tố quan trọng. Nó ngụ ý rằng ở đó có một cơ sở người dùng lớn, nhiều ứng dụng, công cụ quản lý và phát triển dữ liệu, cũng như các cơ chế kiểm tra tỉ mỉ. Tất cả những thứ này đều thuộc vào điểm cộng của Ethereum. Thời gian sẽ cho biết liệu mọi thứ có hiệu quả với Casper và Sharding hay không.

Nó tệ đến vậy ư?

Các vấn đề cơ bản có trong tất cả các điểm ở trên là sự lựa chọn có ý thức của blockchain. Công nghệ này được cho là sẽ giải quyết một vấn đề. Việc tích hợp blockchain vào một nhiệm vụ vốn đã được giải quyết sẽ không có khả năng làm cho giải pháp hiệu quả hơn. Ví dụ, nếu bạn là một người chơi mới trong kinh doanh cờ bạc và muốn cho ra mắt một sòng bạc, thì mối quan tâm chính của bạn là làm cho mình trở nên nổi tiếng, thể hiện sự minh bạch và thu hút một cơ sở người dùng. Bằng cách cung cấp một giải pháp dựa trên Ethereum, bạn ít nhất có thể đảm bảo tính minh bạch về mặt lý thuyết cho khách hàng, mặc dù ít người sẽ kiểm tra hợp đồng thông minh của bạn trước khi họ bắt đầu chơi. Bằng cách này, bạn cũng sẽ thu hút những người có tài sản tiền mã hóa dự phòng và rất nhiều khả năng để sử dụng nó. Theo một cách nào đó, mục tiêu sẽ đạt được.

Mặt khác, nếu bạn có ý định thêm blockchain vào cấu trúc của một ứng dụng báo tin, thì có thể bạn sẽ không giải quyết được bất kỳ vấn đề nào, chẳng hạn như việc kiểm duyệt và các rủi ro về quyền riêng tư. Thay vào đó, bạn sẽ có các vấn đề mới.

Việc tìm kiếm các use case tốt hơn có thể là vấn đề của tương lai gần, khi cơ sở người dùng phát triển và trở nên dễ dàng hơn để mua tiền mã hóa so với hiện tại. Nói chung, việc xem xét các tên miền ứng dụng dưới đây cũng sẽ thích hợp:

  1. Các quy trình quan liêu và tốn thời gian, chẳng hạn như chuyển tiền ra nước ngoài và các thủ tục giấy tờ cồng kềnh.
  2. Quy trình dựa trên sự tin tưởng cho nền tảng này, bao gồm cả quỹ từ thiện và sòng bạc.
  3. Quản lý dữ liệu được sử dụng trong các miền khác nhau hoặc các công ty không liên quan: nhà điều hành tour, lịch sử vay nợ và tất cả các loại danh sách đen.
  4. Kiểm soát các quy trình nội tại không đáng tin cậy, chẳng hạn như bỏ phiếu và gây quỹ.

Trên thực tế, một nghiệp vụ thuộc một trong các danh mục này không nhất thiết có nghĩa là blockchain sẽ phù hợp với nó hoàn hảo. Dòng suy nghĩ của bạn nên tập trung vào giải quyết một vấn đề cụ thể hơn là nhúng blockchain vào hoạt động của bạn dù thế nào đi chăng nữa.

Xem thêm:

Vitalik buterin: Tôi khá hối hận khi chấp nhận thuật ngữ “hợp đồng thông minh” cho Ethereum

[HOT]: Bạn đã có thể mua một chiếc điện thoại Blockchain HTC Exodus 1 thế hệ mới bằng tiền mã hóa ngay bây giờ

Bạn có biết loại cổ phiếu nào còn biến động hơn cả Bitcoin không?

Theo TapchiBitcoin/ccn

CÓ THỂ BẠN QUAN TÂM

Để lại một trả lời

Địa chỉ email của bạn sẽ không được công bố.