Cái nhìn sâu hơn về BTC: Kiến thức nền tảng bạn cần để hiểu BitVM
BitVM, BTC, tiếp cận BTC: cần có kiến thức nền tảng để hiểu BitVM Golden Finance, hiểu biết sâu về BitVM và các công nghệ khác
JinseFinanceTác giả: Nickqiao, Faust, Shew Wang; Nguồn: geekweb3
Tóm tắt: Gần đây, Delphi Digital đã phát hành một báo cáo nghiên cứu kỹ thuật về lớp thứ hai của Bitcoin có tiêu đề "Bình minh của khả năng lập trình Bitcoin: Mở đường cho việc cuộn lên". Hệ thống này đã sắp xếp các khái niệm cốt lõi liên quan đến Bitcoin Rollup, chẳng hạn như nhóm BitVM, các hạn chế của OP_CAT và Covenant, lớp DA sinh thái Bitcoin, cầu nối và bốn lớp Bitcoin thứ hai chính sử dụng BitVM, bao gồm Bitlayer, Citrea, Yona và Bob.
The Mặc dù báo cáo nghiên cứu nhìn chung cho thấy bức tranh chung về công nghệ lớp thứ hai của Bitcoin nhưng nhìn chung nó tương đối chung chung và thiếu các mô tả chi tiết, gây khó hiểu. Geek web3 đã tiến hành khai thác chuyên sâu trên diện rộng dựa trên báo cáo nghiên cứu của Delphi, cố gắng giúp nhiều người hiểu được BitVM và các công nghệ khác một cách có hệ thống.
Chúng tôi Chúng tôi sẽ cùng khởi động một loạt chuyên mục mang tên "Tiếp cận BTC" với nhóm nghiên cứu Bitlayer và cộng đồng BitVM Trung Quốc để phổ biến khoa học về các chủ đề chính như BitVM, OP_CAT và cầu nối chuỗi chéo Bitcoin trong thời gian dài. Cam kết cung cấp cho nhiều người hơn. với các công nghệ liên quan đến lớp thứ hai của DisEnchant Bitcoin để giúp mở đường cho nhiều người đam mê hơn.
Vài tháng trước, Robin Linus, người đứng đầu ZeroSync đã xuất bản một bài viết có tiêu đề "BitVM: Tính toán mọi thứ trên Bitcoin", chính thức đề xuất khái niệm về BitVM. Đã thúc đẩy tiến trình về công nghệ lớp thứ hai của Bitcoin. Có thể nói đây là một trong những đổi mới mang tính cách mạng nhất trong hệ sinh thái Bitcoin, nó đã làm bùng nổ toàn bộ hệ sinh thái Bitcoin lớp thứ hai, thu hút sự tham gia của các dự án ngôi sao như Bitlayer, Citrea, BOB, v.v. và mang lại sức sống cho nó. toàn bộ thị trường.
Sau đó,< mạnh mẽ >Ngày càng có nhiều nhà nghiên cứu tham gia cải tiến BitVM và liên tiếp tung ra các phiên bản lặp lại khác nhau như BitVM1, BitVM2, BitVMX và BitSNARK. Tình hình chung như sau:
Sách trắng triển khai BitVM được Robin Linus đề xuất lần đầu tiên vào năm ngoái là Việc triển khai BitVM dựa trên các mạch cổng logic hư cấu được gọi là BitVM0;
Robin Linus đã chính thức giới thiệu giải pháp BitVM dựa trên CPU hư cấu (được gọi là giải pháp BitVM) trong một số bài phát biểu và cuộc phỏng vấn tiếp theo. (BitVM1), tương tự như hệ thống chống gian lận Cannon của Optimism, có thể sử dụng các tập lệnh Bitcoin để mô phỏng tác động của chuỗi CPU chung.
Robin Linus cũng đề xuất BitVM2, một giao thức chống gian lận không tương tác một bước không cần cấp phép.
Các thành viên của Rootstock Labs và Fairgate Labs đã phát hành sách trắng BitVMX. Tương tự như BitVM1, họ hy vọng mô phỏng tác động của CPU đa năng (ngoài chuỗi) thông qua các tập lệnh Bitcoin.
Cấu trúc hiện tại của nhà phát triển liên quan đến BitVM Hệ sinh thái Ngày càng rõ ràng rằng sự cải tiến lặp đi lặp lại của các công cụ ngoại vi đã trở nên rõ ràng bằng mắt thường. So với năm ngoái, hệ sinh thái BitVM ngày nay đã trở nên "mơ hồ" ngay từ "lâu đài trên không" ban đầu, điều này cũng thu hút nhiều hơn. và nhiều nhà phát triển cũng như VC hơn để cạnh tranh. Họ đang đổ tiền vào hệ sinh thái Bitcoin.
Nhưng đối với hầu hết Đối với Con người, không dễ để hiểu các thuật ngữ kỹ thuật liên quan đến BitVM và lớp thứ hai của Bitcoin, bởi trước tiên bạn phải có sự hiểu biết có hệ thống về những kiến thức cơ bản xung quanh nó, đặc biệt là những kiến thức nền tảng như Bitcoin script và Taproot. Các tài liệu tham khảo hiện có trên Internet hoặc quá dài và đầy những điều vô nghĩa, hoặc giải thích chưa thấu đáo, khiến người ta tưởng chừng như hiểu nhưng lại không hiểu. Chúng tôi cam kết giải quyết các vấn đề trên và cố gắng giúp nhiều người hơn hiểu được kiến thức xung quanh lớp thứ hai của Bitcoin bằng ngôn ngữ rõ ràng nhất có thể và thiết lập sự hiểu biết có hệ thống về hệ thống BitVM.
Trước hết, chúng ta phải nhấn mạnh rằng ý tưởng cơ bản của BitVM là MATT, có nghĩa là Merkleize All The Things. Nó đề cập đến việc sử dụng cấu trúc lưu trữ dữ liệu giống như cây Merkle Tree để hiển thị quy trình thực thi chương trình phức tạp và cố gắng tạo bằng chứng gian lận xác minh của Bitcoin Native.
MATT có thể thể hiện A chương trình phức tạp và dấu vết xử lý dữ liệu của nó sẽ được phát hành, nhưng những dữ liệu này sẽ không được phát hành trực tiếp trên chuỗi BTC vì quy mô tổng thể của những dữ liệu này là rất lớn. Giải pháp sử dụng MATT chỉ lưu trữ dữ liệu ngoài chuỗi của cây Merkle và chỉ xuất bản bản tóm tắt hàng đầu (Merkle Root) của cây Merkle lên chuỗi. Cây Merkle này chủ yếu chứa ba nội dung cốt lõi:
Mã tập lệnh hợp đồng thông minh< /span >
Dữ liệu theo yêu cầu của hợp đồng< /p>
Dấu vết để lại trong quá trình thực hiện hợp đồng (hợp đồng thông minh. Bản ghi các thay đổi đối với các thanh ghi bộ nhớ và CPU khi được thực thi trong các máy ảo như EVM)
(Một sơ đồ Cây Merkle đơn giản có Gốc Merkle được tính toán từ 8 đoạn dữ liệu ở cuối hình thông qua hàm băm nhiều lớp)
< span style="font-family: Arial, Helvetica, sans-serif; font-size: 18px;">Theo sơ đồ MATT, chỉ Merkle Root cực kỳ nhỏ được lưu trữ trong chuỗi On, tập dữ liệu hoàn chỉnh được chứa trong Merkle Tree được lưu trữ ngoài chuỗi, sử dụng ý tưởng gọi là "cam kết". Dưới đây là giải thích về “Cam kết” là gì.
Cam kết Tương tự như một câu lệnh ngắn gọn, chúng ta có thể hiểu nó như một “dấu vân tay” thu được sau khi nén một lượng lớn dữ liệu. Nói chung, người đưa ra "cam kết" trên chuỗi sẽ khẳng định rằng một số dữ liệu nhất định được lưu trữ ngoài chuỗi là chính xác. Những dữ liệu ngoài chuỗi này phải tương ứng với một tuyên bố ngắn gọn và tuyên bố này là "cam kết".
Tại một thời điểm nào đó, hàm băm của dữ liệu có thể được sử dụng như một "cam kết" đối với chính dữ liệu đó. Các sơ đồ cam kết khác bao gồm cam kết KZG hoặc Cây Merkle. Trong giao thức chống gian lận thông thường của Layer2, nhà xuất bản dữ liệusẽ xuất bản một tập dữ liệu hoàn chỉnh ngoài chuỗi và cam kết xuất bản tập dữ liệu đó trên chuỗi. Nếu ai đó phát hiện ra dữ liệu không hợp lệ trong tập dữ liệu ngoài chuỗi, cam kết dữ liệu trên chuỗi sẽ bị thách thức.
Thông qua Cam kết, lớp thứ hai có thể nén và xử lý lượng lớn dữ liệu và chỉ công bố “cam kết” của mình trên chuỗi Bitcoin. Tất nhiên, cũng cần phải đảm bảo rằng bộ dữ liệu hoàn chỉnh được phát hành ngoài chuỗi có thể được thế giới bên ngoài quan sát được.
Các giải pháp BitVM chính hiện nay, chẳng hạn như BitVM0, BitVM1, BitVM2 và BitVMX, về cơ bản áp dụng các cấu trúc trừu tượng tương tự:
< p style="text-align: left;">1. phức tạp Chương trình được phân tách thành một số lượng lớn các mã hoạt động tương đối cơ bản (biên dịch), sau đó các dấu vết được tạo ra bởi các mã hoạt động này trong quá trình thực thi cụ thể sẽ được ghi lại (nói một cách thẳng thắn, khi một chương trình chạy trong CPU và bộ nhớ, toàn bộ Bản ghi thay đổi trạng thái, được gọi là Trace). Sau đó, chúng tôi sắp xếp tất cả dữ liệu, bao gồm dấu vết và mã hoạt động, vào một tập dữ liệu, sau đó tạo cam kết cho tập dữ liệu đó.Kế hoạch cam kết cụ thể Có thể có nhiều dạng, chẳng hạn như: Cây Merkle, PIOP (các thuật toán ZK khác nhau), hàm băm
2. Cam kết và ký trước tài sản: Nhà xuất bản và người xác minh dữ liệu cần khóa một lượng tài sản nhất định trong chuỗi thông qua việc đăng nhập trước và ở đó sẽ có những hạn chế Các điều kiện này sẽ được kích hoạt cụ thể cho các tình huống có thể xảy ra trong tương lai. Nếu nhà xuất bản dữ liệu làm điều xấu, người xác minh có thể gửi chứng chỉ để lấy đi tài sản của nhà xuất bản dữ liệu
3. Phát hành Người xác minh xuất bản cam kết trên chuỗi, tập dữ liệu hoàn chỉnh được xuất bản ngoài chuỗi và người xác thực truy xuất tập dữ liệu và kiểm tra xem có bất kỳ lỗi nào không. Mọi phần của tập dữ liệu ngoài chuỗi đều có mối tương quan với cam kết trên chuỗi.
4 .Thách thức và hình phạt: Khi người xác minh phát hiện ra có lỗi trong dữ liệu do nhà xuất bản dữ liệu cung cấp, họ sẽ đưa phần dữ liệu này đến chuỗi để xác minh trực tiếp (phần dữ liệu này trước tiên phải được cắt thật tinh xảo) , đó là logic chứng minh. Nếu kết quả xác minh cho thấy nhà xuất bản dữ liệu thực sự đã cung cấp dữ liệu không hợp lệ ngoài chuỗi, thì nội dung của nó sẽ bị người xác thực thách thức anh ta lấy đi.
Tóm lại, Alice, nhà xuất bản dữ liệu, tiết lộ tất cả dấu vết được tạo trong quá trình thực hiện các giao dịch lớp thứ hai ngoài chuỗi và công bố các cam kết tương ứng trên chuỗi. Nếu bạn muốn chứng minh rằng một phần dữ liệu nhất định là sai, trước tiên hãy chứng minh với nút Bitcoin rằng phần dữ liệu này có liên quan đến cam kết trên chuỗi, nghĩa là chứng minh rằng dữ liệu được chính Alice tiết lộ và sau đó hãy để nút Bitcoin xác nhận rằng phần dữ liệu này sai.
Bây giờ chúng ta đã hiểu chung về ý tưởng tổng thể của BitVM, về cơ bản tất cả các biến thể BitVM không thể thoát khỏi mô hình trên. Vì vậy, tiếp theo, chúng ta hãy bắt đầu tìm hiểu và hiểu một số công nghệ quan trọng được sử dụng trong quy trình trên, bắt đầu với các tập lệnh Bitcoin cơ bản nhất và Taproot cũng như ký trước.
Kiến thức liên quan đến Bitcoin khó hiểu hơn Ethereum. Ngay cả hành vi chuyển tiền cơ bản nhất cũng liên quan đến một loạt khái niệm, bao gồm UTXO (đầu ra giao dịch chưa được xác định), tập lệnh khóa (còn gọi là ScriptPubKey) và tập lệnh mở khóa (còn gọi là ScriptSig). Trước tiên hãy giải thích những khái niệm chính này.
(một ví dụ về mã tập lệnh Bitcoin bao gồm các mã opcode cấp thấp hơn ngôn ngữ cấp cao)
Phương thức biểu thị tài sản của Ethereum giống Alipay hoặc WeChat hơn. Mỗi lần chuyển chỉ cộng hoặc trừ số dư của các tài khoản khác nhau . Phương pháp, phương pháp này lấy tài khoản làm trung tâm và số dư tài sản chỉ là một con số dưới tên tài khoản; biểu hiện tài sản của Bitcoin giống vàng hơn và mỗi miếng vàng (UTXO) sẽ được đánh dấu bởi chủ sở hữu. chuyển thực chất là chuyển giao UTXO cũ bị hủy và UTXO mới được tạo ra (chủ sở hữu sẽ thay đổi).
Bitcoin UTXO chứa hai trường chính:
< span style="font-size: 18px;">Tập lệnh khóa, còn được gọi là "ScriptPubKey", sẽ xác định các điều kiện mở khóa của UTXO.
Cần lưu ý rằng quyền sở hữu Bitcoin UTXO được thể hiện thông qua tập lệnh khóa. Nếu bạn muốn chuyển UTXO của mình cho Sam, bạn có thể bắt đầu giao dịch để hủy một trong các UTXO của mình và chuyển UTXO mới được tạo Điều kiện mở khóa của UTXO được viết là "Chỉ Sam mới có thể mở khóa".
Sau đó, nếu Sam muốn sử dụng số Bitcoin này, anh ấy cần gửi tập lệnh mở khóa (ScriptSig). Trong tập lệnh mở khóa này, Sam cần xuất trình chữ ký số của mình đểchứng minh rằng anh ấy chính là Sam. Nếu tập lệnh mở khóa khớp với tập lệnh khóa nói trên, Sam có thể mở khóa và chuyển bitcoin cho người khác.
(Tập lệnh mở khóa phải khớp với tập lệnh khóa)
Từ góc độ hiệu suất,mỗi giao dịch trên chuỗi Bitcoin tương ứng với nhiều Đầu vào và Đầu ra, Trong mỗi Đầu vào, bạn phải khai báo một một số UTXO nhất định mà bạn muốn mở khóa và gửi tập lệnh mở khóa để mở khóa và hủy UTXO; Đầu ra sẽ hiển thị thông tin UTXO mới được tạo và tiết lộ nội dung của tập lệnh khóa cho thế giới bên ngoài.
Ví dụ: trong Khi nhập giao dịch, bạn chứng minh rằng mình là Sam, mở khóa nhiều UTXO do người khác cung cấp cho bạn, tiêu diệt chúng một cách thống nhất, tạo ra nhiều UTXO mới và tuyên bố rằng xxx sẽ mở khóa chúng trong tương lai.
Cụ thể, trong dữ liệu đầu vào của giao dịch, bạn cần khai báo những UTXO nào bạn muốn mở khóa và cho biết "vị trí lưu trữ" của những dữ liệu UTXO này. Cần lưu ý ở đây rằng Bitcoin và Ethereum hoàn toàn khác nhau. Ethereum cung cấp hai tài khoản, tài khoản hợp đồng và tài khoản EOA, để lưu trữ dữ liệu. Số dư tài sản được ghi dưới dạng số dưới tên của tài khoản hợp đồng hoặc tài khoản EOA và được đặt. trong một cơ sở dữ liệu thống nhất của "Trạng thái thế giới", các tài khoản cụ thể có thể được sửa đổi trực tiếp từ "Trạng thái thế giới" khi truyền, để tạo điều kiện thuận lợi cho việc xác định vị trí lưu trữ dữ liệu;
Bitcoin không có thiết kế trạng thái thế giới và dữ liệu tài sản được phân tán và lưu trữ trong các khối trong quá khứ (nghĩa là dữ liệu UTXO đã được mở khóa, được lưu trữ riêng trong OutPut của mỗi giao dịch).
Nếu bạn muốn mở khóa UTXO, bạn phải cho biết Đầu ra của thông tin UTXO đã tồn tại trong quá khứ và hiển thị ID của giao dịch (là hàm băm của giao dịch đó), Hãy để nút Bitcoin tìm kiếm nó trong lịch sử. Nếu bạn muốn truy vấn số dư Bitcoin của một địa chỉ nhất định, bạn cần duyệt qua tất cả các khối ngay từ đầu và tìm UTXO đã mở khóa được liên kết với địa chỉ xx.
Thường sử dụng Bitcoin Khi bằng cách sử dụng ví, bạn có thể nhanh chóng kiểm tra số dư Bitcoin thuộc sở hữu của một địa chỉ nhất định. Điều này thường là do dịch vụ ví tự lập chỉ mục tất cả các địa chỉ bằng cách quét các khối, giúp chúng tôi truy vấn nhanh chóng hơn.
(Khi bạn tạo một báo cáo giao dịch để cung cấp UTXO của mình cho người khác, bạn phải đánh dấu UTXO trong lịch sử Bitcoin dựa trên hàm băm/ID giao dịch mà các UTXO này thuộc về. Vị trí)< /span>
Thú vị Có, kết quả của các giao dịch Bitcoin được tính toán ngoài chuỗi. Khi người dùng tạo giao dịch trên thiết bị cục bộ của mình, họ phải trực tiếp tạo cả Đầu vào và Đầu ra, tương đương với việc tính toán kết quả đầu ra của giao dịch. Các giao dịch được phát lên mạng Bitcoin và được các nút xác minh trước khi đưa vào chuỗi. Mô hình "tính toán ngoài chuỗi - xác minh trên chuỗi" này hoàn toàn khác với Ethereum, bạn chỉ cần cung cấp các tham số đầu vào giao dịch và kết quả giao dịch sẽ được nút Ethereum tính toán và xuất ra. .
Ngoài ra,Tập lệnh khóa của UTXO có thể tùy chỉnh. Bạn có thể đặt UTXO thành “có thể mở khóa bởi chủ sở hữu của một địa chỉ Bitcoin nhất định”. Chủ sở hữu địa chỉ cần cung cấp chữ ký số và khóa chung ( P2PKH). Trong Loại giao dịch Pay-to-Script-Hash (P2SH), bạn có thể thêm Hash Script trong tập lệnh khóa UTXO. Ai có thể gửi hình ảnh gốc của tập lệnh tương ứng với Hash này và đáp ứng tập lệnh UTXO. có thể được mở khóa dựa trên các điều kiện đặt trước trong ảnh gốc. Tập lệnh Taproot mà BitVM dựa vào sử dụng các tính năng tương tự như P2SH.
Ở đây, trước tiên chúng tôi sử dụng P2PKH làm ví dụ để giới thiệu phương thức kích hoạt của tập lệnh Bitcoin. Chỉ bằng cách hiểu phương thức kích hoạt, chúng ta mới có thể hiểu được Taproot và BitVM phức tạp hơn. Tên đầy đủ của P2PKH là "Trả tiền cho hàm băm khóa công khai". Trong sơ đồ này, hàm băm khóa công khai sẽ được đặt trong tập lệnh khóa UTXO. Khi mở khóa, bạn cần gửi khóa chung tương ứng với hàm băm. Điều này giống như chuyển Bitcoin thông thường. Về cơ bản, các ý tưởng đều giống nhau.
Tại thời điểm này, < strong>Các nút Bitcoin phải xác nhận rằng khóa chung trong tập lệnh mở khóa khớp với hàm băm của khóa chung được chỉ định trong tập lệnh khóa. Nói cách khác, nó phải xác nhận rằng "khóa" và UTXO do người mở khóa gửi. "khóa" mặc định khớp với nhau.
Hơn nữa, theo sơ đồ P2PKH, sau khi nút Bitcoin nhận được giao dịch, nó sẽ ghép tập lệnh mở khóa ScriptSig do người dùng cung cấp với tập lệnh khóa ScriptPubkey của UTXO để mở khóa và thực thi nó trong môi trường thực thi của tập lệnh BTC. Hình dưới đây thể hiện kết quả ghép nối trước khi thực hiện:
Có thể bạn đọc chưa biết về môi trường thực thi script của BTC. Sau đây chúng tôi sẽ giới thiệu sơ lược về nó. Đầu tiên, tập lệnhBTC chứa hai thành phần:
Dữ liệu và mã opcode. Các dữ liệu và mã thao tác này sẽ được đẩy vào ngăn xếp theo thứ tự từ trái sang phải và thực thi theo logic đã chỉ định để thu được kết quả cuối cùng (chi tiết về ngăn xếp là gì sẽ không được trình bày chi tiết tại đây. Bạn đọc có thể chatgpt tự họ làm).
Chụp ảnh trên làm ví dụ: Bên trái là tập lệnh mở khóa ScriptSig do ai đó tải lên, bao gồm chữ ký số và khóa chung của người đó, và tập lệnh khóa ScriptPubkey ở bên phải chứa opcode do người tạo UTXO đặt khi tạo UTXO và dữ liệu(Ở đây chúng ta không cần hiểu ý nghĩa của từng opcode, chỉ cần hiểu sơ bộ).
Căn giữa bên phải hình trên DUP, HASH160, EQUALVERIFY và các mã hoạt động khác trong tập lệnh khóa ở bên trái chịu trách nhiệm băm Khóa công khai có trong tập lệnh mở khóa ở bên trái và so sánh nó với hàm băm khóa công khai đặt trước trong tập lệnh khóa. hai bằng nhau, điều đó có nghĩa là Khóa chung được tải lên trong tập lệnh mở khóa khớp với hàm băm khóa chung đặt trước trong tập lệnh khóa, vượt qua lần xác minh đầu tiên.
Tuy nhiên, có Vấn đề là nội dung của tập lệnh khóa UTXO thực sự được công khai trên chuỗi. Bất kỳ ai cũng có thể quan sát hàm băm khóa công khai có trong đó. Bất kỳ ai cũng có thể tải lên khóa chung tương ứng và tuyên bố sai rằng mình là người được "chỉ định". Do đó, sau khi xác minh khóa chung và hàm băm khóa chung, cũng cần xác minh xem người khởi tạo giao dịch có thực sự là người kiểm soát khóa chung hay không, điều này yêu cầu xác minh chữ ký số. Mật mã CHECKSIG trong tập lệnh khóa có nhiệm vụ xác minh chữ ký số.
Tóm lại, theo sơ đồ P2PKH, tập lệnh mở khóa do người khởi tạo giao dịch gửi có chứa khóa chung và chữ ký số phải khớp với hàm băm khóa chung được chỉ định trong tập lệnh khóa và chỉ chữ ký số của giao dịch là chính xác. khi những điều kiện này được đáp ứng thì việc Mở khóa UTXO có thể diễn ra suôn sẻ.
(Hình ảnh này rất linh hoạt: Sơ đồ tập lệnh mở khóa Bitcoin theo sơ đồ P2PKH
Nguồn: https://learnmeabitcoin.com/Technology/script )
Tất nhiên, mạng Bitcoin hỗ trợ nhiều loại giao dịch, không chỉ Thanh toán cho khóa công khai/công khai hàm băm khóa và P2SH (Băm trả tiền cho tập lệnh), v.v. Mọi thứ phụ thuộc vào tập lệnh khóa tùy chỉnh được đặt thành gì khi UTXO được tạo.
Ở đây cần lưu ý rằng theo sơ đồ P2SH, Script Hash có thể được đặt trước trong tập lệnh khóa và tập lệnh mở khóa yêu cầu gửi đầy đủ nội dung tập lệnh tương ứng với Mã băm tập lệnh. Các nút bitcoin có thể thực thi tập lệnh này.Nếu logic xác minh đa chữ ký được xác định trong tập lệnh này, thì hiệu ứng của ví đa chữ ký có thể đạt được trên chuỗi Bitcoin.
Tất nhiên là P2SH Giải pháp Tiếp theo, người tạo UTXO cần cho những người mở khóa UTXO trong tương lai biết trước nội dung tập lệnh tương ứng với Script Hash miễn là cả hai bên đều biết nội dung của Tập lệnh này thì chúng ta có thể triển khai logic nghiệp vụ phức tạp hơn đa-. chữ ký.
Đây Để giải thích, chuỗi (khối) Bitcoin không ghi trực tiếp UTXO nào được liên kết với địa chỉ nào. Nó chỉ ghi lại hàm băm/tập lệnh khóa công khai mà UTXO có thể được mở khóa, nhưng chúng tôi sử dụng hàm băm/tập lệnh khóa chung để mở khóa. địa chỉ tương ứng có thể được tính toán nhanh chóng (phần hiển thị trên giao diện ví trông giống như các ký tự bị cắt xén).
< mạnh mẽ>
Lý do tại sao chúng ta có thể thấy số lượng xx Bitcoin dưới địa chỉ xx trong giao diện ví và trình duyệt khối là do khối Dự án trình duyệt và ví giúp bạn phân tích dữ liệu này, quét tất cả các khối và tính toán "địa chỉ" tương ứng dựa trên hàm băm/băm tập lệnh khóa công khai được khai báo trong tập lệnh khóa và sau đó hiển thị số bit có trong địa chỉ xx.
Sau khi hiểu được ý tưởng về P2SH, chúng ta đã tiến một bước gần hơn đến Taproot, thứ mà BitVM phụ thuộc vào. Nhưng trước đó, chúng ta cần hiểu một khái niệm quan trọng: Nhân chứng và Nhân chứng tách biệt.
Xem lại sớm hơn Khi bạn đọc tập lệnh mở khóa và tập lệnh khóa, cũng như quá trình mở khóa UTXO, bạn sẽ thấy một vấn đề: chữ ký số của giao dịch được bao gồm trong tập lệnh mở khóa và tập lệnh mở khóa không thể bị ghi đè khi tạo chữ ký (các tham số được sử dụng để tạo chữ ký không thể bao gồm chính chữ ký). Do đóChữ ký số chỉ có thể bao gồm các phần không phải tập lệnh mở khóa, nghĩa là chúng chỉ có thể được liên kết với phần chính của dữ liệu giao dịch và không thể bao gồm hoàn toàn giao dịch. dữ liệu.
Bằng cách này, ngay cả khi tập lệnh mở khóa giao dịch bị người trung gian thao túng một chút cũng sẽ không ảnh hưởng đến kết quả xác minh chữ ký. Ví dụ: các nút Bitcoin hoặc nhóm khai thác có thể chèn dữ liệu khác vào tập lệnh mở khóa của giao dịch, gây ra những thay đổi nhỏ trong dữ liệu giao dịch mà không ảnh hưởng đến xác minh chữ ký và kết quả giao dịch, đồng thời hàm băm giao dịch được tính toán cuối cùng/ID giao dịch sẽ cũng thay đổi. Điều này được gọi làVấn đề về khả năng linh hoạt trong giao dịch.
Điều này mang lại bất lợi là nếu bạn dự định bắt đầu nhiều giao dịch liên tiếp và có các phụ thuộc tuần tự (ví dụ: giao dịch 3 tham chiếu đầu ra của giao dịch 2 và giao dịch 2 tham chiếu đầu ra của giao dịch 1), thì các giao dịch sau phải tham chiếu các giao dịch trước đó ID giao dịch (băm), bất kỳ trung gian nào như nhóm khai thác hoặc nút Bitcoin đều có thể tinh chỉnh nội dung của tập lệnh mở khóa để hàm băm sau khi giao dịch được tải lên không nhất quán với những gì bạn mong đợi. các giao dịch liên quan tuần tự sẽ thất bại.
Thực ra, trong In Với cầu nối DLC và giải pháp BitVM2, các giao dịch có tương quan tuần tự sẽ được xây dựng theo đợt nên kịch bản nêu trên không phải là hiếm.
Nói một cách đơn giản, vấn đềkhả năng mở rộng giao dịch là do khi tính toán ID/băm giao dịch, dữ liệu của tập lệnh mở khóa sẽ được đưa vào và những người trung gian như nút Bitcoin có thể ổn -Điều chỉnh nội dung trong tập lệnh mở khóa khiến ID giao dịch không nhất quán với những gì người dùng mong đợi. Trên thực tế, đây là dấu vết lịch sử do sự thiếu cân nhắc kỹ lưỡng của Bitcoin trong thiết kế ban đầu để lại.
Ra mắt muộn hơn< strong >Bản nâng cấp Segregated Witness/SegWit thực sự tách biệt hoàn toàn ID giao dịch và tập lệnh mở khóa. Không cần bao gồm dữ liệu tập lệnh mở khóa khi tính toán hàm băm giao dịch. Tập lệnh khóa UTXO sau khi nâng cấp SegWit sẽ đặt một mã hoạt động có tên "OP_0" ở vị trí đầu tiên theo mặc định, đóng vai trò như một dấu hiệu; và tập lệnh mở khóa tương ứng đã được đổi tên từ SigScript thành Witness.
Sau khi tuân theo các quy tắc Segregated Witness, vấn đề về khả năng mở rộng giao dịch sẽ được giải quyết hợp lý và bạn không cần phải lo lắng về việc dữ liệu giao dịch được gửi tới nút Bitcoin sẽ được tinh chỉnh. Tất nhiên, chúng ta không cần phải suy nghĩ quá phức tạp. Các chức năng của P2WSH về cơ bản không khác biệt so với P2SH đã đề cập trước đó. Bạn có thể đặt trước hàm băm tập lệnh trong tập lệnh khóa UTXO và đợi người gửi tập lệnh mở khóa gửi tập lệnh đó. nội dung tập lệnh tương ứng với hàm băm vào chuỗi và được thực thi.
Nhưng Nếu nội dung của tập lệnh bạn muốn triển khai đặc biệt lớn và chứa nhiều mã thì tập lệnh hoàn chỉnh không thể được gửi tới chuỗi Bitcoin thông qua các phương pháp thông thường (mỗi khối có giới hạn kích thước). Phải làm gì? Điều này yêu cầu Taproot hợp lý hóa nội dung tập lệnh trên chuỗi và BitVM là một giải pháp phức tạp được xây dựng dựa trên Taproot.
BitVM, BTC, tiếp cận BTC: cần có kiến thức nền tảng để hiểu BitVM Golden Finance, hiểu biết sâu về BitVM và các công nghệ khác
JinseFinanceBitVM là giao thức hấp dẫn mới nhất trong hệ sinh thái Bitcoin, có tiềm năng mang lại lợi ích cho mọi dự án được xây dựng trên Bitcoin. Hãy nói về thiết kế của BitVM và những khả năng mới mà nó mở ra cho Bitcoin.
JinseFinanceBitVM, Lớp 2, BTC, IOSG |BitVM: Buổi bình minh của khả năng lập trình Bitcoin Golden Finance, sự mở rộng nhanh chóng của các kế hoạch mở rộng Bitcoin
JinseFinanceBitVM2 là một biến thể táo bạo: bất kỳ ai cũng có thể đóng vai trò là người xác thực.
JinseFinanceMặc dù công nghệ BitVM có lợi thế lớn trong việc mở rộng Bitcoin nhưng nó vẫn đang ở giai đoạn đầu và vẫn còn một số vấn đề về hiệu quả và bảo mật.
JinseFinanceMục tiêu chính của thiết kế này là xây dựng mạng Lớp 2 được tùy chỉnh đặc biệt cho chuỗi khối Bitcoin.
JinseFinanceVậy làm cách nào để đưa một phần logic của Trình xác minh vào mạng Bitcoin?
JinseFinanceBitVM tập trung vào việc nâng cao khả năng mở rộng của Bitcoin và giải quyết các hạn chế của Lightning Network mà không cần sao chép DeFi của Ethereum, duy trì các nguyên tắc và bảo mật cốt lõi của Bitcoin
Cheng YuanBitVM, được giới thiệu bởi ZeroSync, nhằm mục đích nâng cao các hợp đồng thông minh của Bitcoin, làm cho nó trở nên biểu cảm và có khả năng hơn mà không cần nâng cấp đồng thuận
SanyaĐiều này mở ra cơ hội cho nhiều ứng dụng khác nhau, chẳng hạn như các trò chơi như Cờ vua, Cờ vây và Poker, cũng như xác minh bằng chứng hợp lệ trong hợp đồng Bitcoin.
Davin