Cảnh báo rủi ro: Đề phòng huy động vốn bất hợp pháp dưới danh nghĩa 'tiền điện tử' và 'blockchain'. — Năm cơ quan bao gồm Ủy ban Giám sát Ngân hàng và Bảo hiểm
Tìm kiếm
Đăng nhập
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
Xem thị trường
Giới thiệu về ứng dụng hàm băm Sinsemilla trong OlaVM
Sin7y
特邀专栏作者
2022-08-17 12:54
Bài viết này có khoảng 2640 từ, đọc toàn bộ bài viết mất khoảng 4 phút
Bài viết này trả lời một số câu hỏi do Daira Hopwood, tác giả chính của giao thức Zcash, đặt ra cho OlaVM, đồng thời giới thiệu ý tưởng thiết kế của hàm băm Sinsemilla và ứng dụng của nó trong OlaVM.

Rất vui, chúng tôi đã phát hành vào ngày 25 tháng 7 năm 2022OlaVM, một lược đồ ZKVM tương thích với EVM. Vì bản thân ZKEVM luôn là một bản nhạc phổ biến, nênOlaVMSau khi nó được phát hành, thật vinh dự khi nhận được sự chú ý từ những tên tuổi lớn trong ngành.

Qua đây, trước tiên chúng tôi xin gửi lời cảm ơnDaira Hopwoodông lớn (cònGiao thức ZcashECDSASchnorrBài toán lựa chọn Hash trong thuật toán chữ ký được thể hiện cụ thể như hình bên dưới:

Daira HopwoodÝ nghĩa có thể hiểu đơn giản là:Sinsemilla HashECDSASchnorrtiêu đề cấp đầu tiên

1. Các thuộc tính bảo mật của hàm băm mật mã (CHF) là gì?

Theo bài báoCryptographic Hash-Function BasicsTheo định nghĩa trong , có ba loại thuộc tính bảo mật tương ứng với CHF:

• preimage-resistance— Về cơ bản, đối với tất cả các đầu ra được chỉ định trước, về mặt tính toán, không thể tìm thấy bất kỳ đầu vào nào băm thành đầu ra đó, ví dụ: để tìm sao cho h(x')=y khi được cung cấp bất kỳ đầu vào chưa biết nào y Tất cả các tiền ảnh x' của .

 2nd-preimage resistance— Về mặt tính toán, không thể tìm thấy bất kỳ đầu vào thứ hai nào có cùng đầu ra với bất kỳ đầu vào đã cho nào, ví dụ: x đã cho, để tìm tiền ảnh thứ hai x' = x sao cho h(x') = h (x).

• collision resistance— Về mặt tính toán, không thể tìm thấy bất kỳ hai đầu vào riêng biệt nào băm thành cùng một đầu ra, ví dụ như sao cho h(x') = h(x).

phải nhận thức được là:

A. Điện trở tiền ảnh thứ 2 có thể được giảm xuống thành điện trở va chạm, nghĩa là, nếu điện trở tiền ảnh được đáp ứng, thì điện trở tiền ảnh thứ 2 phải được đáp ứng.

B. khả năng chống ảnh trước không thể giảm thành khả năng chống va chạm, nghĩa là khả năng chống va chạm được thỏa mãn, thì khả năng chống ảnh trướckhông cần thiếttiêu đề cấp đầu tiên

2. Tiên tri ngẫu nhiên (RO) là gì?

random oracle(RO)Được mô tả theo mô hình sau:

• Có hộp đen. Một người lùn sống trong hộp, cùng với một cuốn sách lớn và một số con xúc xắc.

• Ta có thể nhập một số dữ liệu (dãy bit tùy ý) vào hộp.

• Đưa ra một số đầu vào mà người lùn chưa nhìn thấy trước, anh ta sử dụng xúc xắc để tạo ngẫu nhiên và thống nhất một đầu ra mới trong một số không gian thông thường (không gian đầu ra tiên tri). Gnome cũng ghi lại đầu vào và đầu ra mới được tạo trong cuốn sách.

• Nếu gnome được cung cấp một đầu vào mà anh ấy đã thấy, anh ấy sẽ khôi phục đầu ra mà anh ấy đã trả về lần cuối cùng với cuốn sách và quay lại lần nữa.

Chỉ cần tóm tắt hành vi của RO, giả sử đầu vào là x:

• Nếu x đã được nhập trước đó, trả về trực tiếp H[x] tương ứng.

• Nếu x chưa được nhập, RO sẽ ởhoàn toàn ngẫu nhiênTạo một chuỗi bao gồm 0,1 trong trường giá trị.

phải nhận thức được là:

• đâyhoàn toàn ngẫu nhiênĐiều đó có nghĩa là ngay cả bản thân RO cũng không biết nó sẽ kết thúc với giá trị nào.Nó không có quy tắc nào để tuân theo.Đây là điểm khác biệt chính so với Hash.Bất kỳ Hash nào cũng có quy tắc tính toán của riêng nó.

Nhưng trong thế giới thực, rất khó để đạt được RO thực sự; Do đó, chúng tôi cần tìm một ứng cử viên tiềm năng cho RO và chúng tôi cần làm cho đầu ra trông ngẫu nhiên nhất có thể. Hàm băm là một lựa chọn tốt.Hàm băm an toàn cần đáp ứng khả năng chống tiền ảnh, khả năng chống tiền ảnh thứ 2 và khả năng chống va chạm.Một Hash có thể được sử dụng làm RO phải đáp ứng ba thuộc tính này, nhưng một Hash thỏa mãn ba thuộc tính này có thể không nhất thiết phải được sử dụng làm RO; giữa chúng là mộtCần thiết không đủtiêu đề cấp đầu tiênWhat is the "Random Oracle Model" and why is it controversial?

3. Các yêu cầu băm trong tính toán chữ ký ECDSA và Schnorr?

On the security of ECDSA with additive key derivation and presignaturesOn the Exact Security of Schnorr-Type Signatures in the Random Oracle Modeltiêu đề cấp đầu tiên

4. Giới thiệu về hàm băm Sinsemilla?

Hàm băm Sinsemilla được cho bởiDaira Hopwood và Sean BoweThiết kế cùng nhau, phụ thuộc cấp thấpECDLP(Elliptic Curve Discrete Logarithm Problem). Với đầu vào có độ dài cố định, hàm băm Sinsemilla đáp ứng khả năng chống va chạm,Thuộc tính kháng ảnh trước không được thỏa mãncủaDaira Hopwoodcủadựa theo

dựa theoĐặc tả giao thức Zcashtiêu đề cấp đầu tiên

5. Tóm tắt

Cảm ơn một lần nữaDaira Hopwoodhướng dẫn, chúng ta hãycryptographic hash function (CHF)Việc sử dụng có một sự hiểu biết sâu sắc hơn. Chúng tôi sẽ tiếp tục lắng nghe ý kiến ​​rộng rãi và tiếp tục tối ưu hóa sơ đồ thiết kế về mặt hiệu quả và an toàn.

Hàm băm Sinsemilla sẽ vẫn được sử dụng trong các mô-đun phù hợp khác trong thiết kế Olavm; đối với hàm Hash của phần chữ ký, chúng tôi sẽ chọn hàm băm tốt nhất trong số các hàm băm an toàn, chẳng hạn nhưPoseidonhàm băm,Reinforced ConcreteTài khoản công khai WeChat: Sin7Y

về chúng tôi

Sin7y được thành lập vào năm 2021 và bao gồm các nhà phát triển chuỗi khối hàng đầu. Chúng tôi vừa là vườn ươm dự án vừa là nhóm nghiên cứu công nghệ chuỗi khối, khám phá các công nghệ tiên tiến và quan trọng nhất như EVM, Layer2, chuỗi chéo, điện toán bảo mật và các giải pháp thanh toán tự động.

Tài khoản công khai WeChat: Sin7Y

GitHub | Twitter | Telegram | MediumMirror | HackMD | HackerNoon

hợp đồng thông minh
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
Tài khoản chính thức
https://twitter.com/OdailyChina
Tóm tắt AI
Trở về đầu trang
Bài viết này trả lời một số câu hỏi do Daira Hopwood, tác giả chính của giao thức Zcash, đặt ra cho OlaVM, đồng thời giới thiệu ý tưởng thiết kế của hàm băm Sinsemilla và ứng dụng của nó trong OlaVM.
Thư viện tác giả
Sin7y
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