BTC
ETH
HTX
SOL
BNB
Xem thị trường
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

Phân tích kỹ thuật: Sự khác biệt giữa các hợp đồng thông minh trên Ethereum, Bitcoin và Bitcoin Cash là gì?

Bài viết này có khoảng 7911 từ, đọc toàn bộ bài viết mất khoảng 12 phút
Chia đều ra thì cái nào cũng có cái hay của nó.
Tóm tắt AI
Chia đều ra thì cái nào cũng có cái hay của nó.

Lưu ý của biên tập viên: Bài viết này đến từKho Hàng Hạng Nhất (ID:first_vip1), được in lại bởi Odaily với sự cho phép.

Lưu ý của biên tập viên: Bài viết này đến từ

Kho Hàng Hạng Nhất (ID:first_vip1)

, được in lại bởi Odaily với sự cho phép.

Bài viết này tập trung vào sự khác biệt nổi bật giữa các hợp đồng thông minh trên ba nền tảng này. Vì trọng tâm là các hợp đồng thông minh và chức năng viết kịch bản nên những điều cơ bản về nền tảng hoặc chuỗi khối sẽ không được thảo luận ở đây. Bài viết này cũng giới thiệu các hợp đồng thông minh trên chuỗi và sự tồn tại của một số giải pháp hợp đồng thông minh lớp thứ hai, chẳng hạn như RSK. Những giải pháp này chắc chắn đáng để thảo luận và tôi sẽ không nghiên cứu sâu do không gian.

tiêu đề phụ

Ethereum: Nó có trạng thái riêng và Turing đã hoàn thành

Mô tả hình ảnh

Hình: Cơ cấu phí EVM

Mỗi giao dịch tiêu tốn một lượng Gas đáng kể, tùy thuộc vào opcode được sử dụng. Phí gas được thanh toán bằng tiền điện tử gốc của Ethereum, ETH. Để giới hạn số lượng tính toán mà các nút này phải thực hiện trên mỗi khối, có một giới hạn về lượng gas có thể được sử dụng trong một khối duy nhất, được gọi là "giới hạn gas của khối".

Trong quá trình thực hiện các chức năng hợp đồng thông minh, hợp đồng có thể lưu trữ và truy cập dữ liệu cần thiết. Tùy thuộc vào việc sử dụng, những dữ liệu này có thể được lưu trữ ở các vị trí khác nhau, tức là ở các vị trí dữ liệu khác nhau. Đầu tiên là "ngăn xếp", chứa các giá trị được sử dụng trong tính toán. Chỉ 16 mục đầu tiên trong ngăn xếp có thể dễ dàng truy cập, vì vậy không thích hợp để lưu trữ lâu dài. Việc tính toán bằng cách sử dụng ngăn xếp được hiển thị bên dưới.

Mô tả hình ảnh

Hình: Điện toán dựa trên ngăn xếp

Thứ hai, để bổ sung cho ngăn xếp, "bộ nhớ hợp đồng" có thể được sử dụng để lưu trữ, truy xuất và truyền dữ liệu trong quá trình thực hiện hợp đồng hiện tại. Các giá trị này có thể được lấy từ bộ nhớ để sử dụng cho các tính toán trên ngăn xếp và kết quả được lưu trở lại bộ nhớ. Các giá trị này chỉ tồn tại trong khoảng thời gian thực hiện hiện tại. Khi kết thúc thực hiện hợp đồng, bộ nhớ hợp đồng và ngăn xếp sẽ bị xóa.

Cuối cùng, nơi dữ liệu tồn tại là "lưu trữ hợp đồng", được sử dụng để duy trì dữ liệu trong quá trình thực hiện hợp đồng. Các biến liên tục như số dư mã thông báo được lưu trữ trong bộ lưu trữ hợp đồng. Để duy trì dữ liệu, bộ nhớ hợp đồng được lưu trữ trên mỗi nút Ethereum. Vì vậy, bộ nhớ của nó giống như RAM và bộ lưu trữ của nó giống như ổ cứng hoặc cơ sở dữ liệu liên tục.

Bạn có thể tìm thêm chi tiết về cách hoạt động của Máy ảo Ethereum trong bài viết của MyCrypto.

Viết hợp đồng thông minh Mặc dù tất cả các hợp đồng thông minh đều sử dụng EVM, nhưng hầu hết các hợp đồng thông minh không được viết tay bằng cách sử dụng mã byte EVM, giống như hầu hết mã byte JVM không được viết tay. Thay vào đó, có một số ngôn ngữ cấp cao có thể được sử dụng để viết hợp đồng thông minh trong Ethereum, phổ biến nhất là Solidity, ngoài ra còn có Vyper, một ngôn ngữ lập trình hướng EVM. Hình ảnh bên dưới chứa một ví dụ về hợp đồng thông minh Solidity rất đơn giản.

Các hợp đồng đã triển khai này chỉ tồn tại trong mạng dưới dạng "các đoạn" của mã byte EVM và hầu như không thể sử dụng riêng lẻ. Để "giao diện" với chúng, cần cung cấp Giao diện nhị phân ứng dụng (ABI), bao gồm danh sách tất cả các hàm công khai và tham số của chúng. Để giúp người dùng nhận thức rõ hơn về các hợp đồng này, các dịch vụ như Etherscan giúp xác minh mã nguồn của hợp đồng để người dùng có thể kiểm tra mã trước khi sử dụng hợp đồng.

Tất cả các hợp đồng thông minh có thể được truy cập trực tiếp bằng cách kết nối với nút Ethereum và sử dụng giao diện JSON-RPC của nó. Tuy nhiên, nhiều hợp đồng thông minh được truy cập thông qua các ứng dụng giao diện người dùng kết nối với các nút và quản lý ABI. Điều này có thể được thực hiện với một trong nhiều SDK Ethereum khác nhau (chẳng hạn như web3.js hoặc ethers.js), có thể gọi JSON-RPC dưới mui xe. Điều này mang lại trải nghiệm tốt hơn cho người dùng hợp đồng, vì phần khó khăn nhất được hình dung.

Hợp đồng thông minh có thể được tương tác theo hai cách khác nhau: Cuộc gọi và Giao dịch. Một cuộc gọi là một cuộc gọi gốc đến một chức năng hợp đồng, nó không phát bất cứ thứ gì lên chuỗi khối. Do đó, quá trình gọi là "chỉ đọc", không thể thực hiện bất kỳ thay đổi nào đối với trạng thái hợp đồng và không phát sinh bất kỳ khoản phí nào. Giao dịch là một "hoạt động ghi" thực sự, thực sự sẽ được phát lên mạng và được đưa vào chuỗi khối, đồng thời sẽ tạo ra phí khai thác. Lấy mã thông báo ERC20 làm ví dụ, số dư mã thông báo được truy xuất bằng cách gọi và mã thông báo được chuyển bằng cách bắt đầu giao dịch.

Các thuộc tính này của Ethereum (với EVM hoàn chỉnh Turing và lưu trữ liên tục) cho phép tạo bất kỳ loại ứng dụng phi tập trung nào chạy trên chuỗi. Một ví dụ điển hình là hệ sinh thái DeFi, bao gồm các ứng dụng như Maker, Uniswap và Compound, cũng như các tiêu chuẩn mã thông báo ERC20 và ERC721. Các ứng dụng này cho phép các chức năng phức tạp với số lượng tác nhân động không giới hạn.

Hình: Khả năng tương tác DeFi trong rDai

Quan trọng nhất, bản thân các hợp đồng thông minh có thể trở thành "người tham gia" trong các hợp đồng thông minh khác, cho phép tích hợp và cấu thành mạnh mẽ giữa các hợp đồng này. Ví dụ: hợp đồng thông minh giữ số dư mã thông báo và cho Compound vay hoặc trao đổi với Uniswap hoặc sử dụng rDai để tự động đầu tư vào DAI và đóng góp tiền lãi tích lũy cho tổ chức từ thiện.

Mặc dù các hợp đồng thông minh có thể tương tác với nhau, nhưng mọi giao dịch trên chuỗi phải đến từ một tài khoản bên ngoài. Do đó, sự tương tác giữa các hợp đồng thông minh Ethereum vẫn phải được kích hoạt bởi người dùng thông qua giao dịch ban đầu. Sau lần kích hoạt ban đầu này, các tương tác giữa các hợp đồng giống như truy cập trực tiếp.

Nói cách khác, một hợp đồng thông minh có thể gọi các "chức năng chỉ đọc" của các hợp đồng thông minh khác hoặc kích hoạt "các thao tác ghi" (giao dịch). Vì chỉ các tài khoản bên ngoài mới có thể kích hoạt giao dịch, giao dịch giữa các hợp đồng thông minh được gọi là giao dịch nội bộ hoặc cuộc gọi tin nhắn để phân biệt với giao dịch do người dùng thực hiện.

tiêu đề phụ

Bitcoin: Không trạng thái và đơn giản

Tất cả các giao dịch Bitcoin (bao gồm cả chuyển khoản thông thường) đều được hỗ trợ bởi một ngôn ngữ lập trình dựa trên ngăn xếp có tên là “Bitcoin Script” (Tập lệnh). Như đã đề cập ở trên, EVM của Ethereum được thiết kế cho các hợp đồng thông minh hoàn chỉnh và có thể tương tác với Turing, trong khi Bitcoin Script đã cố ý thêm nhiều hạn chế khác nhau và hoạt động theo một cách khác về cơ bản. Diễn giải Bitcoin Script cũng giống như EVM, Bitcoin Script sử dụng một ngăn xếp (Stack) để chứa các giá trị (Value) và thực hiện tính toán trên các giá trị này. Nhưng không giống như EVM, ngăn xếp là vị trí dữ liệu duy nhất có sẵn trong Bitcoin Script. Điều này có nghĩa là rất khó để lưu trữ nhiều giá trị để sử dụng sau này trong các lần thực hiện hợp đồng. Quan trọng hơn, điều này có nghĩa là không thể lưu trữ hoặc sửa đổi các giá trị tồn tại trong quá trình thực hiện hợp đồng (nhưng EVM thì có thể).

Đây là điểm khác biệt lớn nhất giữa hợp đồng thông minh của Ethereum và Bitcoin. Mô hình của Ethereum là trạng thái, trong khi Bitcoin là không trạng thái. Cách hiểu phổ biến là Ethereum có thể được coi là tương tự như mô hình lập trình dữ liệu có thể thay đổi bắt buộc phổ biến, trong khi Bitcoin tương tự như mô hình dữ liệu bất biến chức năng.

Mô hình của Bitcoin cho phép xác minh các giao dịch một cách độc lập và hiệu quả hơn nhiều, giúp việc song song hóa và phân đoạn các giao dịch trở nên dễ dàng hơn. Tuy nhiên, nếu không có bất kỳ kho lưu trữ dữ liệu có thể thay đổi nào, việc tạo các hợp đồng thông minh phức tạp như Ethereum trên Bitcoin sẽ khó khăn hơn, ví dụ: hợp đồng ERC20 phải theo dõi số dư mã thông báo và thực hiện các thay đổi.

Ngoài những khác biệt về trạng thái này, còn có các yếu tố khác hạn chế sự phức tạp của hợp đồng thông minh Bitcoin. Đáng chú ý, Bitcoin Script thiếu hỗ trợ cho các hàm số học nhất định cũng như bất kỳ hình thức lặp hoặc đệ quy nào. Các hợp đồng của nó cũng có giới hạn kích thước hiệu quả là 520 byte và chỉ có thể chứa tối đa 201 opcode.

Hầu hết các hợp đồng thông minh trên Bitcoin đều thuộc một số loại hợp đồng đơn giản. Ví dụ: hợp đồng nhiều chữ ký có thể được sử dụng bởi nhiều người tham gia hoặc hợp đồng khóa thời gian băm (HTLC).

Và bởi vì các hợp đồng trên Bitcoin này rất đơn giản, hầu hết giá trị được nắm bắt bằng cách kết hợp các hợp đồng khác nhau với logic ứng dụng ngoài chuỗi khác. Bằng cách này, các hợp đồng đơn giản có thể được kết hợp để tạo ra các giải pháp phức tạp, chẳng hạn như Lightning Network hoặc đấu giá chuỗi chéo, v.v.

Giải thích các giao dịch Bitcoin Mọi giao dịch bằng Bitcoin được thực hiện thông qua cái gọi là "đầu ra giao dịch". Khi các đầu ra giao dịch này có sẵn trong một tài khoản, chúng được gọi là Đầu ra giao dịch chưa chi tiêu (UTXO). Các UTXO này bị khóa bởi một tập lệnh khóa (hoặc scriptPubKey) và các điều kiện sử dụng được chỉ định. Khi cố gắng sử dụng UTXO, một tập lệnh mở khóa (hoặc ScriptSig) sẽ được cung cấp và sau đó các tập lệnh này sẽ thực hiện các phép tính cùng nhau. Giao dịch chỉ có hiệu lực nếu tập lệnh thực thi không có lỗi và giá trị kết quả là TRUE.

Giống như EVM, tất cả các nút Bitcoin thực thi các tập lệnh này để xác minh giao dịch, nhưng chuỗi khối Bitcoin không có khái niệm về chi phí gas, vì vậy những người khai thác được trả tiền cho mỗi byte dữ liệu giao dịch. Để hạn chế số lượng công việc mà một nút phải thực hiện, một số hạn chế cũng đã được đưa ra đối với một số thao tác tập lệnh chuyên sâu hơn.

Tương tác với Hợp đồng thông minh Hợp đồng thông minh bằng Bitcoin được viết bằng mô hình P2SH (lưu ý kho hạng nhất: có bản dịch là "thanh toán cho hàm băm tập lệnh"). Tập lệnh khóa ở chế độ P2SH chứa hàm băm tập lệnh và cần cung cấp tập lệnh mở khóa cho tập lệnh đầy đủ (được gọi là tập lệnh đổi thưởng) và tập lệnh mở khóa cho tập lệnh đổi thưởng đó. Hình dưới đây cho thấy mô hình này.

Mô tả hình ảnh

Hình: Chế độ P2SH

Kiến thức kho hạng nhất: Chế độ P2SH được giới thiệu để đơn giản hóa việc sử dụng các tập lệnh phức tạp (cơ chế truyền thống là P2PKH) và tập lệnh khóa phức tạp được biên dịch thành một tập lệnh đơn giản với các giá trị băm 20 byte, giống như địa chỉ Bitcoin là A 20 khóa công khai -byte dựa trên mã hóa Base58. Sự khác biệt lớn nhất giữa P2SH và phương thức P2PKH truyền thống là người đặt điều kiện chuyển được thay đổi từ người gửi sang người nhận. Các hình thức giao dịch khác nhau, chẳng hạn như giao dịch nhiều chữ ký, có thể được thực hiện bằng cách thêm các điều kiện chuyển tiền khác nhau trong tập lệnh quy đổi.

Các nút bitcoin xác minh các giao dịch hợp đồng thông minh này theo hai giai đoạn. Đầu tiên, Redeem Script được băm và đối chiếu với hàm băm trong Lock Script. Nếu chúng khớp nhau, "Tập lệnh khóa" được sử dụng để mở khóa "Tập lệnh đổi thưởng", như thể "Tập lệnh đổi thưởng" là tập lệnh khóa ban đầu.

Những khác biệt triển khai này khuyến khích việc sử dụng kết hợp cả hai loại hợp đồng thông minh. Một ví dụ điển hình là LocalCryptos, hỗ trợ các giao dịch cục bộ không giam giữ đối với Ethereum và Bitcoin. Đối với Ethereum, nó sử dụng một hợp đồng thông minh lớn để theo dõi tất cả các giao dịch, trong khi đối với Bitcoin, nó tạo ra các hợp đồng riêng cho từng giao dịch.

Viết hợp đồng thông minh Trong khi Ethereum có nhiều ngôn ngữ cấp cao biên dịch thành mã byte EVM, thì Bitcoin lại ít chú ý đến điều này hơn. Bất chấp sự phức tạp của các hệ thống có thể được xây dựng bằng Bitcoin Script, bản thân các hợp đồng thường đơn giản. Do đó, không cần thiết phải trừu tượng hóa hệ thống cơ bản. Và vì các hợp đồng Bitcoin có giới hạn về kích thước và chi phí cao cho mỗi byte bổ sung, nên điều quan trọng là phải giữ cho các hợp đồng “càng nhỏ càng tốt”.

Mặc dù những ngôn ngữ cấp cao này ít quan trọng hơn trong Bitcoin, nhưng chúng vẫn tồn tại. Ivy là ngôn ngữ cấp cao "bóng bẩy" nhất trong Bitcoin, được tạo bởi Dan Robinson vào năm 2017. Hình dưới đây cho thấy một ví dụ về hợp đồng thông minh được viết bằng Ivy. Hợp đồng có thể được sử dụng để gửi tiền mà người gửi có thể thu hồi nếu người nhận không chi tiêu kịp thời.

Gần đây, một số nhà nghiên cứu tại Blockstream đã phát hành Miniscript, một ngôn ngữ tập trung vào phân tích và khả năng kết hợp của các hợp đồng thông minh thay vì trừu tượng hóa hệ thống cơ bản. Cho rằng các hợp đồng Bitcoin thường thiếu sự phức tạp trừu tượng, đây có vẻ là con đường phù hợp để thực hiện.

tiêu đề phụ

Trên đây là một mặt Ethereum, có khả năng tạo ra nhiều hợp đồng thông minh mạnh mẽ và hữu ích tồn tại hoàn toàn trên chuỗi Ethereum, đồng thời, do bản chất trạng thái (Stateful) của nó, nó cũng làm nảy sinh các vấn đề về khả năng mở rộng. Mặt khác, mô hình hợp đồng thông minh không trạng thái (Stateless) của Bitcoin cho phép xác minh độc lập và đơn giản các giao dịch hợp đồng thông minh, nhưng hệ thống kịch bản của nó hạn chế tính thực tế của hợp đồng.

Trước khi chia tách, Bitcoin Cash và Bitcoin đã chia sẻ cùng một lịch sử, vì vậy các hệ thống tập lệnh cơ bản của chúng giống hệt nhau về mặt chức năng và Bitcoin Cash được hưởng lợi từ những khía cạnh giống nhau này. Kể từ đó, một phần lớn cộng đồng Bitcoin Cash đã nhận ra nhu cầu về "các hợp đồng thông minh hữu ích hơn". Bitcoin Cash kích hoạt các tính năng mới giúp hợp đồng thông minh của nó trở nên hữu ích hơn, đồng thời giữ lại các thuộc tính cơ bản cho phép xác minh Bitcoin không trạng thái.

Nâng cấp tính năng cho BCH Để hiểu các khả năng của hợp đồng thông minh Bitcoin Cash, chúng ta cần xem xét các bản nâng cấp mạng sáu tháng một lần của nó. Các nâng cấp mạng này đã được thực hiện vào tháng 5 và tháng 11 hàng năm kể từ đợt hard fork ban đầu vào năm 2017. Chúng tôi thảo luận cụ thể về các thay đổi đối với công cụ tạo tập lệnh Bitcoin, mặc dù một số cải tiến khác đã được thực hiện, chẳng hạn như chữ ký Schnorr.

Trong những ngày đầu của Bitcoin, một số opcode đã bị vô hiệu hóa do sử dụng không an toàn. Trong năm đầu tiên sau khi Bitcoin Cash fork, các nhà phát triển của nút Bitcoin-ABC đã giải quyết các vấn đề này và giới thiệu lại opcode với chức năng được sửa đổi một chút, như thể hiện trong sơ đồ bên dưới. Quan trọng nhất, việc nâng cấp giúp mã hóa và giải mã dữ liệu có cấu trúc trong Bitcoin Script.

Mô tả hình ảnh

Hình: BCH kích hoạt opcode mới vào tháng 5 năm 2018

Nửa năm sau, một opcode mới khác đã được phát hành trong đợt nâng cấp mạng Bitcoin Cash vào tháng 11 năm 2018. Trong số đó có bản cập nhật OP_CHECKDATASIG, cho phép người dùng xác minh chữ ký của bất kỳ tin nhắn nào trong Bitcoin Script. Nếu chúng tôi kết hợp các bản cập nhật tập lệnh được giới thiệu vào năm 2018, những bản cập nhật này có thể được sử dụng để giới thiệu chức năng hợp đồng thông minh mới và hữu ích cho Bitcoin Cash.

Viết hợp đồng thông minh Các tính năng mới của Bitcoin Cash bổ sung thêm rất nhiều độ phức tạp cho các hợp đồng thông minh của nó so với Bitcoin Script ban đầu. Điều này khiến cho việc có một hệ sinh thái cung cấp các lớp trừu tượng cấp cao hơn thông qua các ngôn ngữ, SDK và công cụ cấp cao càng trở nên quan trọng hơn.

Hai dự án lớn hiện đang giải quyết vấn đề này là Spedn (được tạo bởi bút danh Tendo Pein) và CashScript (được tạo bởi tác giả của bài viết này, Rosco Kalis, lấy cảm hứng từ ngôn ngữ Solidity của Ethereum). Mặc dù chúng vẫn đang được phát triển tích cực, nhưng những công cụ này giúp làm việc với các hợp đồng thông minh bằng Bitcoin Cash dễ dàng hơn. Một số chức năng được minh họa bên dưới bằng cách sử dụng các đoạn mã CashScript.

Có thể xem ví dụ về điều này trong hợp đồng mẫu HODLVault bên dưới. Hợp đồng này thực thi HODLing cho đến khi đạt đến một mức giá BCH/USD nhất định. Nguồn cấp dữ liệu giá BCH/USD bắt buộc được xuất bản bởi nhà cung cấp tiên tri và được người dùng chuyển vào hợp đồng. Để tăng tính phi tập trung, các hợp đồng thông minh có thể được thiết lập để sử dụng nhiều nguồn dữ liệu thay vì tin tưởng vào một dịch vụ tập trung duy nhất.

Giao ước Trường hợp sử dụng lớn thứ hai là một kỹ thuật được gọi là Giao ước, lấy tên từ một thuật ngữ được sử dụng trong luật tài sản để hạn chế việc sử dụng các đối tượng. Trong trường hợp của Bitcoin Cash, nó giới hạn việc sử dụng tiền tệ trong các hợp đồng thông minh. Vì vậy, trong khi các hợp đồng thông minh trong Bitcoin chỉ có thể cho phép chi tiêu tiền tệ nói chung, các hợp đồng Bitcoin Cash có thể áp đặt các hạn chế về số tiền có thể được chi tiêu hoặc danh tính của người nhận.

Khi chuyển bitcoin, người gửi phải cung cấp chữ ký để cho phép giao dịch. Để tạo chữ ký này, người gửi ký một biểu diễn hàm băm của giao dịch. Băm này được gọi là Sighash và dữ liệu giao dịch thực tế được chứa trong tiền giả Sighash.

Bằng cách sử dụng _OP_CHECKSIG_ và _OP_CHECKDATASIG_ với cùng một chữ ký, chúng tôi có thể truy cập dữ liệu Sighash. Định dạng dữ liệu có thể được kiểm tra trong thông số kỹ thuật và được bao gồm trong hình ảnh bên dưới. Một trường quan trọng là scriptCode, chứa mã byte của chính hợp đồng thông minh. Cái còn lại là hashOutputs cho phép người dùng thực thi các đầu ra giao dịch.

Mô tả hình ảnh

Hình: Định dạng dữ liệu Bitcoin Cash Sighash

Thật tuyệt khi biết các hợp đồng bảo lãnh hoạt động như thế nào ở cấp độ kỹ thuật, nhưng CashScript đã tóm tắt hầu hết những điều phức tạp liên quan đến hợp đồng. Khi viết hợp đồng thông minh bằng CashScript, các trường này có sẵn mà không cần thực hiện các bước thủ công để xác minh và giải mã bản gốc Sighash.

Hợp đồng thông minh đầu tiên sử dụng công nghệ hợp đồng đảm bảo là Di chúc cuối cùng của Licho, một hợp đồng thông minh cho phép người dùng chuyển tài sản của người đã khuất sang tài sản của họ. Hợp đồng xác định ba chức năng khác nhau. Đầu tiên cho phép người kế nhiệm yêu cầu tiền sau 180 ngày. Thứ hai cho phép sử dụng khóa lạnh của chủ sở hữu (ColdKey) theo bất kỳ cách nào. Thứ ba cho phép Khóa nóng của chủ sở hữu làm mới khoảng thời gian 180 ngày bằng cách buộc toàn bộ số dư hợp đồng được gửi trở lại hợp đồng.

Phiên bản CashScript của Di chúc cuối cùng được bao gồm bên dưới, nhưng phiên bản gốc được viết bởi Spedn và có thể được xem tại đây.

Đây là một trong những ví dụ đơn giản về hợp đồng bảo lãnh hữu ích, nhưng hợp đồng bảo lãnh cho phép thực hiện các chức năng thậm chí còn phức tạp hơn. Sau khi hợp đồng Di chúc cuối cùng được ký kết, người tạo ra nó, Karol Trzeszczkowski, đã tiếp tục thành lập Mecenas, một công ty thực thi các khoản thanh toán định kỳ trên Patreon và những thứ tương tự.

Các hợp đồng được đảm bảo ban đầu được đề xuất trong một bài báo có tiêu đề "Giao ước Bitcoin", yêu cầu một opcode mới _OP_CHECKOUTPUTVERIFY_. Tiếp theo là các đề xuất khác, chẳng hạn như _OP_CHECKTEMPLATEVERIFY_ hoặc _OP_CHECKSIGFROMSTACK_. Cái sau rất giống với việc thực hiện giao ước của Bitcoin Cash. Bạn có thể tìm hiểu thêm thông tin về hợp đồng bảo lãnh trong bài viết của Tendo Pein.

Trạng thái mô phỏng xem xét hợp đồng "di chúc cuối cùng", nó có thể có giá trị để thay đổi người thừa kế khi hợp đồng được thực hiện. Vì chúng tôi có thể buộc gửi tới hợp đồng hiện tại bằng cách xem mã byte của hợp đồng hiện tại, nên chúng tôi có thể buộc gửi tới một hợp đồng hơi khác bằng cách thay đổi mã byte này một chút. Một hàm có thể được tạo để gửi toàn bộ số dư của hợp đồng tới một hợp đồng có cùng mã byte nhưng có một người thừa kế khác.

Bằng cách sử dụng kỹ thuật này, có thể thay đổi một số biến nhất định trong hợp đồng trong khi vẫn giữ nguyên các quy tắc của hợp đồng. Chúng tôi gọi đó là "trạng thái mô phỏng" vì nó cung cấp một số lợi ích của trạng thái hợp đồng mà không gặp các vấn đề về khả năng mở rộng của các hệ thống có trạng thái như Ethereum. Cách tiếp cận này có những nhược điểm khác vì sự đánh đổi phải được thực hiện ở đâu đó.

Tóm lại là

Việc thay thế các biến này bên trong mã byte có thể gây khó khăn, đặc biệt là khi cố gắng thay thế các biến sâu hơn bên trong mã byte. Chức năng này phải được trừu tượng hóa bằng ngôn ngữ cấp cao để mã byte mới được tạo tự động bằng cách cung cấp các tham số mới. Sự trừu tượng hóa này có thể trông như thế này:

nhìn về tương lai

Rất nhiều sự trừu tượng phải trả giá bằng các hợp đồng lớn hơn, dẫn đến phí cao hơn. Nhưng phí giao dịch của Bitcoin Cash nói chung là thấp, vì vậy nó là tốt nhất của cả hai thế giới. Nhưng Bitcoin Cash có cùng giới hạn kích thước như Bitcoin, vì vậy những khái niệm trừu tượng này khiến việc duy trì trong giới hạn trở nên khó khăn hơn. Điều này dẫn đến việc nhiều nhà phát triển phải tối ưu hóa mã byte được biên dịch theo cách thủ công.

Tóm lại là

Mọi loại tiền điện tử đều có trọng lượng trong hệ thống hợp đồng thông minh của nó. Ethereum là nền tảng hợp đồng thông minh được sử dụng phổ biến nhất với nhiều tính năng nhất. Bitcoin cung cấp một phiên bản hợp đồng thông minh cơ bản hơn thông qua hệ thống tập lệnh phi trạng thái, giúp xác minh hiệu quả hơn nhưng ít chức năng hơn. Bitcoin Cash có cùng nền tảng với Bitcoin, nhưng thêm các tính năng mới cố gắng đạt được sự thỏa hiệp giữa xác minh hiệu quả và hợp đồng thông minh hữu ích. Cuối cùng, tất cả đều hướng tới những mục tiêu giống nhau.

开发者
ETH
BTC
Chào mừng tham gia cộng đồng chính thức của Odaily
Nhóm đăng ký:
https://t.me/Odaily_News
Nhóm trò chuyện:
https://t.me/Odaily_GoldenApe
Tài khoản chính thức:
https://twitter.com/OdailyChina
Mục lục bài viết
Thư viện tác giả
Tải ứng dụng Odaily Nhật Báo Hành Tinh
Hãy để một số người hiểu Web3.0 trước
IOS
Android