Mã hash là gì

  -  
Mở đầu

Blockchain là gì

Blockchain (hay cuốn sổ cái) là khối hệ thống cơ sở dữ liệu cho phép lưu trữ và truyền tải các khối tin tức (block). Bọn chúng được links với nhau dựa vào mã hóa.

Bạn đang xem: Mã hash là gì

Các khối tin tức này hoạt động hòa bình và hoàn toàn có thể mở rộng lớn theo thời gian. Bọn chúng được cai quản bởi những người tham gia khối hệ thống chứ không thông qua đơn vị trung gian.

Nghĩa là lúc một khối tin tức được ghi vào hệ thống Blockchain thì không tồn tại cách nào đổi khác được. Chỉ tất cả thể bổ sung thêm khi giành được sự đồng thuận của tất cả mọi người.

Khối tin tức mà họ đang nhắc tới là phần lớn cuộc trao đổi, thanh toán trong thực tế.

Công nghệ Blockchain vận động như nuốm nào?

Để một block – khối thông tin được chế tạo Blockchain, phải tất cả 4 yếu ớt tố:

=> công nghệ Blockchain cho phép trao đổi tài sản/thực hiện giao dịch thanh toán mà không cần có sự chứng kiến của người thứ bố hoặc ko cần dựa trên sự tin tưởng. Giỏi nói biện pháp khác, Blockchain là nền tảng cho sự thành lập và hoạt động của những hợp đồng thông minh.

Hashing trong Blockchain

Hashing là gì

Hashing là quy trình biến đầu vào là một trong nội dung gồm kích thước, độ dài ngẫu nhiên rồi sử dụng những thuật toán, công thức toán học để biến thành đầu ra tiêu chuẩn có độ dài nhất định. Quá trình đó thực hiện những Hàm băm.

Ví dụ: trong bitcoin, các transactions lưu tin tức giao dịch được đánh giá như dữ liệu đầu vào. Dữ liệu này được chuyển qua thuật toán xử lý, ví dụ là sha-256 đã trả về đầu ra là 1 trong những chuỗi cùng với độ dài cố định là 256 kí tự. Tức là việc dữ liệu đầu vào bao gồm to hay nhỏ dại thế nào, một đoạn text "Hello World!" giỏi dữ liệu là 1 trong những file, 1 ảnh thì công dụng cuối cùng ta dìm được là 1 chuỗi cùng với 256 kí tự

Cryptographic hash function

Cryptographic hash function là một hàm băm với một số trong những tính chất bảo mật thông tin nhất định để phù hợp việc sử dụng trong tương đối nhiều ứng dụng bảo mật thông tin đa dạng, ví dụ điển hình như chứng thực và kiểm tra tính hoàn toản của dữ liệu đưa vào. Đó là một trong những hàm băm thừa nhận đầu vào là một trong xâu ký kết tự dài có độ nhiều năm tùy ý và chế tác ra kết quả là một xâu ký kết tự bao gồm độ dài thế định.

Xem thêm: Từ Điển Việt Anh " Tiền Nhàn Rỗi Tiếng Anh Là Gì? Tiền Nhàn Rỗi Tiếng Anh

Và nhằm 1 hàm hash được coi là 1 hàm cryptographic hash, nó bắt buộc đạt ít nhất 5 tiêu chuẩn sau đây:

Deterministic

Nó có nghĩa là khi các bạn đưa 1 dữ liệu đầu vào trải qua hàm hash, bạn sẽ luôn luôn luôn nhận về 1 chuổi cổng output giống nhau

*

Điều này rất quan trọng đặc biệt vì nếu với những lần chạy hàm hash ta nhận được một output không giống nhau thì sẽ là bất khả thi nhằm ta rất có thể theo dõi quý giá đầu vào

Quick Computation

Hàm hash phải có công dụng trả về kết quả với tốc độ sớm nhất có thể. Cũng chính vì trong thực tế, dữ liệu đầu vào chưa phải lúc nào thì cũng là một chuỗi string, 1 giá trị int mà hoàn toàn có thể là 1 file hình ảnh rất béo và ta buộc phải chạy hàm hash cho mỗi dữ liệu ta gửi vào. Bởi vậy nếu quá trình băm lừ đừ sẽ dẫn đến khối hệ thống sẽ ko thể vận hành tốt được.

Pre-Image Resistance

Pre-Image Resistance hiểu đơn giản nghĩa là bài toán ta biết 1 hàm hash cùng 1 output, với ta khó rất có thể quay ngược lại khẳng định đầu vào là gì. Tuy nhiên, việc đào bới tìm kiếm ra input không phải là 1 trong điều bất khả thi. Xét 1 ví dụ như sau.

Giả sử bạn tung 1 con xúc xắc cùng ta sẽ sở hữu output là cực hiếm băm của nhỏ số mở ra từ xúc xắc. Làm cho thể nào để xác định được bé số xuất hiện thêm là số nào? tất cả những gì bọn họ cần làm dễ dàng và đơn giản đó là search ra giá trị băm của những số từ là một đến 6 cùng so sánh, giá chỉ trị đầu vào giống nhau với 1 thuật toán sẽ đến ra công dụng giống nhau. Với ta chỉ cần so sánh công dụng để biết được nhỏ số mở ra trên xúc xắc

Tuy nhiên vấn đề đó chỉ hoạt động khi lượng dữ liệu đã chỉ ra rằng rất không nhiều và trong số trường hợp thực tế thì dữ liệu sẽ lớn hơn rất nhiều. Giả sử ta có giá trị băm bao gồm độ nhiều năm 128 bit. Những được áp dụng để ta có thể xác định vị trị đầu vào đó là áp dụng 1 phương pháp gọi là “brute-force". Phương thức này tất cả nghĩa là bạn sẽ chọn 1 đầu vào ngẫu nhiên, mang đến nó trải qua hàm hash và đối chiếu đầu ra với mức giá trị băm cho trước và lặp lại cho tới khi tìm kiếm ra đầu vào của dữ liệu.

Tình huống tốt nhất: bạn nhận được chính xác output trùng với mức giá trị băm ngay trong những lần demo đầu. Mặc dù ta đang không phụ thuộc may mắn để triển khai giải câu hỏi ở đâyTình huống xấu nhất: bạn phải triển khai việc lặp vấn đề 2^128 lần. Nghĩa là để tìm ra được lời giải ở lần cuối cùng của quy trình lặp lạiTình huống trung bình: bạn sẽ tìm được lời giải đâu đó ở giữa trước khi tới lần lặp thiết bị 2^128.

-> mặc dù nhiên, đấy là 1 bé số lớn lao và nếu bạn muốn tìm ra đầu vào của câu hỏi này, các bạn sẽ mất rất nhiều thời gian để lặp đi lặp lại quá trình hash. Giả sử như thời hạn bạn triển khai 1 lần so sánh là 1s và chúng ta không ngủ thì bạn có thể sẽ mất cả đời để tìm ra được đầu vào và đôi khi là không tìm kiếm thấy

Small Changes In The input Changes the Hash.

Xem thêm: Hệ Số Biên Lợi Nhuận Gộp Là Gì, Gross Margin: Cách Tính Và Áp Dụng (Chi Tiết)

Ngay cả khi chúng ta thực hiện tại 1 rứa đổi nhỏ tuổi trong dữ liệu đầu vào, sự chuyển đổi này sẽ tác động rất lớn đến cực hiếm băm. Lấy ví dụ như kiểm tra điều này với hàm băm SHA-256

*

Ngay cả lúc trong ngôi trường hợp các bạn chỉ biến đổi chữ cái đầu tiên của input như là chuyển chữ cái in hoa thành chữ cái in thường, tổng thể các kí từ bỏ trong giá trị băm núm đổi

Collision Resistant

Collision Resistant có nghĩa là trong trường đúng theo ta gồm 2 input là A cùng B, cùng với hàm hash A và hàm hash B tương ứng. Sẽ rất khó để giá trị output của nhị hàm hash trên đang trùng nhau. Điều kia nghĩa là đối với số đông các khả năng, mỗi đầu vào sẽ có 1 hàm băm duy nhất của riêng nó. Để nắm rõ hơn điều này, ta vẫn ví dụ bởi Birthday Paradox

Birthday Paradox là gì ? nếu bạn chạm chán bất kì fan lạ tự nhiên nào trên tuyến đường phố thì kỹ năng cả nhì có cùng trong ngày sinh là hết sức thấp. Trên thực tế, mang sử rằng toàn bộ các ngày vào năm đều sở hữu số người dân có ngày sinh nhật vào trong ngày đó là như nhau, thì tài năng 1 fan khác ngày sinh với bạn là 1/356 khoảng 0.27%. Nói giải pháp khác, nó thực sự thấp

*

Tuy nhiên, nghịch lý tại chỗ này là, nếu như khách hàng tập vừa lòng 20-30 người trong một phòng thì tỉ trọng hai người dân có cùng ngày sinh nhật sẽ tạo thêm nhanh chóng. Trên thực tế thì có cơ hội 50-50 cho 2 người có cùng ngày sinh vào kịch phiên bản này!

Tại sao lại xẩy ra nghịch lý như vậy, bởi vì đó là một trong những quy tắc đơn giản trong xác suất ra mắt như sau. Trả sử chúng ta có N tài năng khác nhau của một sự kiện xảy ra, thì bạn sẽ cần căn bậc hai của N các vật được chọn ngẫu nhiên của chúng để có 1/2 xảy ra va chạm

Áp dụng lí thuyết vào trường hòa hợp này, các bạn có 365 năng lực khác nhau về ngày sinh nhật, vị vậy bạn chỉ cần căn bậc 2 của 365 tức là khoảng 23 fan được chọn thiên nhiên để có 50% cơ hội cho 2 người dân có cùng ngày sinh nhật

Ứng dụng vấn đề này trong hàm băm như thế nào? giả sử bạn có một giá trị băm 128 bit thì tất cả 2^128 khả năng khác nhau. Bằng cách sử dụng nghịch lý trên, các bạn có 1/2 cơ hội xẩy ra sự trùng lặp ở lần sản phẩm công nghệ 2^64

*

Vì vậy, không tồn tại hàm băm nào có thể đảm bảo rằng vấn đề giá trị output của chính nó sẽ không trở nên trùng với cái giá trị băm của một hàm bởi khác, tuy vậy tốn rất nhiều thời gian để sự va va này xảy ra. Và nếu như bạn sử dụng một hàm như SHA-256 thì thời hạn này còn kéo dài hơn rất nhiều, cùng ta hoàn toàn có thể đảm bằng nếu cực hiếm băm của A và B trùng nhau, tức là A trùng cùng với B

Kết luận

Hashing sẽ thực sự là nền tảng gốc rễ trong việc tạo ra công nghệ blockchain. Giả dụ một người mong muốn hiểu blockchain là gì, họ chắc chắn là phải hiểu băm tức là gì. Và trong khi còn 1 tiêu chí nữa mang đến Cryptographic hash function nó hotline là "Puzzle Friendly", các bạn có thể bài viết liên quan về nó trong mặt đường link ở phần tham khảo.

Xin cảm ơn chúng ta đã quan tâm đến nội dung bài viết này, chúc bạn sẽ có được những kỹ năng và kiến thức cơ phiên bản về hasing trong blockchain là gì? bao gồm những điểm lưu ý như cố gắng nào. Phần tiếp theo, tôi có thể viết thêm về Public key cryptography cùng Digital signatures, mời chúng ta đón đọc!