1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu Luận Ứng Dụng Hàm Băm SHA Vào Bitcoin

39 335 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 39
Dung lượng 524,92 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

MỤC LỤC DANH MỤC HÌNH ẢNH 3 DANH MỤC VIẾT TẮT 4 TÓM TẮT NỘI DUNG 5 LỜI NÓI ĐẦU 6 CHƯƠNG I : TÌM HIỂU CHUNG VỀ BITCOIN 9 1. Khái niệm Blockchain 9 2. Khái niệm bitcoin 9 3. Nguyên lý hoạt động của Bitcoin 11 4. Nền tảng kỹ thuật 12 CHƯƠNG II : THUẬT TOÁN BĂM SHA 14 1. Khái niệm 14 2. Đặc tính của hàm băm 14 3. Ứng dụng của hàm băm 14 4. Cấu trúc của hàm băm 15 5. Tính chất của hàm băm 15 6. Các loại hàm băm 15 6.1. Hàm băm MD4 (Message Disgest 4) và MD5 (Message Disgest 5) 15 6.2. Hàm băm SHS (Secure Hash Standard) 16 CHƯƠNG III : THUẬT TOÁN BĂM SHA 256 17 1. Khái niệm 17 2. Mô tả thuật toán 17 2.1. Các tham số, ký hiệu và thuật ngữ 18 2.2. Phép toán 18 2.3. Chuyển đổi dữ liệu 19 2.5. Các hàm chức năng sử dụng trong SHA256 20 2.6. Các hằng số sử dụng trong SHA256 20 2.8. Thuật toán băm SHA256 22 CHƯƠNG IV : DEMO THUẬT TOÁN SHA256 bằng PHP 25 1. Viết chương trình 25 2. Thử nghiệm 32 2.1. Giao diện chương trình 33 2.2. Kiểm thử 35 KẾT LUẬN 37 TÀI LIỆU THAM KHẢO 38   DANH MỤC HÌNH ẢNH Hình 1: Sơ đồ hoạt động của Blockchain 7 Hình 2 : Ví điện tử Trezor 8 Hình 3bit Mảng 64 hằng số 32bit Kj{256} 18 Hình 4 : Các giá trị khởi tạo của giá trị băm 19 Hình 5: Giao diện chương trình khi mới khởi chạy 28 Hình 6 : Giao diện trước khi bấm nút tính toán 29 Hình 7: Kết quả thu được sau khi thực hiện băm 30   DANH MỤC VIẾT TẮT Ký hiệu Tên đầy đủ Ý nghĩa BTC Ký hiệu đồng tiền ảo Bitocin SHA Secure Hash Algorithm Giải thuật băm an toàn FIPS Federal Information Processing Standard Chuẩn bảo mật an toàn của chính phủ Mỹ NIST National Institute of Standards and Technology Viện Tiêu chuẩn và Kĩ thuật Quốc gia PHP Hypertext Preprocessor Ngôn ngữ lập trình kịch bản SHS Secure Hash Standard Bộ mã hóa thuật toán băm an toàn XOR Phép toán thao tác bit NSA National Security Agency Cơ quan An ninh Quốc gia Hoa Kỳ MD4, MD5 Message Digest 4, 5 các giải thuật đồng hóa thông tin   TÓM TẮT NỘI DUNG Bài báo cáo tìm hiểu về thuật toán mã hóa đồng tiền ảo Bitcoin ngoài phần mở đầu, kết luận thì có nội dung chính được chia làm 4 chương: Chương 1 : Tìm hiều chung về Bitcoin: Tìm hiểu khái quát về đồng tiền Bitcoin như khái niệm, blockchain, nguyên lý hoạt động, nền tản kỹ thuật của đồng tiền ảo Bitcoin. Chương 2 : Thuật toán băm SHA : Tìm hiểu chung về khái niệm, đặc điểm, tính chất, cấu trúc của hàm băm SHA. Chương 3: Thuật toán băm SHA 256 : Tìm hiều khái niệm, những bước tiền xử lý và cách thức hoạt động của thuật toán SHA 256. Chương 4 : Demo : Tạo và chạy thử nghiệm thuật toán bằng ngôn ngữ PHP và kiểm tra, so sánh kết quả thu được với kết quả trên mạng Internet.   LỜI NÓI ĐẦU Ngày nay, xã hội càng phát triển, thế giới bùng nổ việc áp dụng công nghệ thông tin vào mọi hoạt động kinh tế. Đặc biệt Internet được đưa và ứng dụng trong các hoạt động thương mại đã tạo nên một lĩnh vực mới là thương mại điện tử. Thương mại điện tử đã xóa nhòa đi biên giới giữa các quốc gia tạo nên một thị trường giao dịch chung gọi là thị trường toàn cầu. Thương mại điện tử mang lại những tiện ích to lớn như tăng hiệu suất, nâng cao năng lực cạnh tranh, giảm chi phí, tăng lợi nhuận... Thương mại trên mạng Internet đã gần như hoàn toàn coi các tổ chức tài chính là bên thứ ba được tin cậy để xử lý các thanh toán điện tử. Trong khi làm việc khá tốt đối với hầu hết các giao dịch, hệ thống này vẫn tồn tại những điểm yếu cố hữu của mô hình tín nhiệm (the trust based model). Các giao dịch mà hoàn toàn không thể đảo ngược không thực sự là có thể xảy ra được, vì các tổ chức tài chính không thể tránh được các tranh chấp trung gian. Chi phí trung gian làm tăng cao các chi phí giao dịch, hạn chế mức giao dịch tối thiểu và làm giảm khả năng giao dịch với các mức giao dịch nhỏ thông thường, và phải mất chi phí cao hơn để thực hiện các thanh toán không thể đảo ngược cho các dịch vụ không thể đảo ngược. Với khả năng đảo ngược, nhu cầu tín nhiệm đã lan rộng. Các thương gia phải thận trọng với khách hàng của họ, sách nhiễu họ bởi nhiều thông tin hơn bình thường họ cần. Một tỉ lệ gian lận nhất định đã được công nhận là không thể tránh khỏi. Các chi phí và thanh toán không chắc chắn này có thể tránh được bằng cách sử dụng tiền tệ vật lý, nhưng không có cơ chế nào tồn tại để thực hiện các thanh toán qua một kênh thông tin liên lạc mà thiếu một bên được tin cậy. Vậy thứ ta cần là một hệ thống thanh toán điện tử dựa vào bằng chứng mật mã thay vì tín nhiệm, cho phép hai bên sẵn sàng có thể giao dịch trực tiếp với nhau mà không cần đến một bên thứ ba được tin cậy nào cả. Các giao dịch được tính toán để không đảo ngược được sẽ bảo vệ người bán khỏi gian lận, và các cơ chế ký quỹ có thể được thực hiện dễ dàng nhằm bảo vệ người mua. Đồng tiền ảo Bitcoin chính là một trong những giải pháp bảo đảm được điều này với tính bảo mật cao, khó bị làm giả hay đánh cắp. Bài báo cáo này sẽ tìm hiểu về thuật toán SHA 256 dùng để mã hóa đồng tiền ảo Bitcoin, tạo nên tính bảo mật an toàn cao cho nó. Chúng em xin chân thành cám ơn cô Nguyễn Thị Thu Thủy đã tạo điều kiện và tận tình giúp đỡ trong quá trình chúng em làm bài báo cáo này. Do kiến thức còn hạn hẹp nên bài báo cáo còn nhiều thiếu sót, chúng em sẽ cố gắng khắc phục trong thời gian tới. Chân thành cám ơn     CHƯƠNG I : TÌM HIỂU CHUNG VỀ BITCOIN Khái niệm Blockchain Blockchain (Chuỗi khối) là một cơ sở dữ liệu phân cấp lưu trữ thông tin trong các khối thông tin được liên kết với nhau bằng mã hóa và mở rộng theo thời gian. Mỗi khối thông tin đều chứa thông tin về thời gian khởi tạo và được liên kết tới khối trước đó, kèm một mã thời gian và dữ liệu giao dịch. Blockchain được thiết kế để chống lại việc thay đổi của dữ liệu: Một khi dữ liệu đã được mạng lưới chấp nhận thì sẽ không có cách nào thay đổi được nó. Blockchain được đảm bảo nhờ cách thiết kế sử dụng hệ thống tính toán phân cấp với khả năng chịu lỗi byzantine cao. Vì vậy sự đồng thuận phân cấp có thể đạt được nhờ Blockchain. Vì vậy Blockchain phù hợp để ghi lại những sự kiện, hồ sơ y tế, xử lý giao dịch, công chứng, danh tính và chứng minh nguồn gốc. Việc này có tiềm năng giúp xóa bỏ các hậu quả lớn khi dữ liệu bị thay đổi trong bối cảnh thương mại toàn cầu. Cách thức hoạt động của Blockchain được miểu tả như hình sau: Hình 1: Sơ đồ hoạt động của Blockchain Khái niệm bitcoin Tiền thuật toán là một loại tiền tệ kỹ thuật số, được sinh ra bởi các thuật toán mã hóa phức tạp dưới dạng phần mềm mã nguồn mở. Bitcoin (ký hiệu: BTC, XBT, ) là một loại tiền thuật toán, được phát minh bởi một người bí ẩn sử dụng bút danh Satoshi Nakamotodưới dạng phần mềm mã nguồn mở từ năm 2009. Bitcoin có thể được trao đổi trực tiếp bằng thiết bị kết nối Internet ngang hàng mà không cần thông qua một tổ chức tài chính trung gian nào. Do đó không cần phải trả lệ phí giao dịch và cũng không cần phải cung cấp tên thật. Đối với Bitcoin, có thể hình dung Blockchain là một cuốn sổ cái ghi lại tất cả các giao dịch. Dữ liệu trong cuốn sổ cái liên tục được mạng lưới máy tính ngang hàng trên thế giới cập nhật và bảo trì. Giao dịch khi A gửi X bitcoin cho B được ghi lại trên toàn hệ thống, tất cả các máy tính trong mạng này sẽ xác minh và ghi lại giao dịch đó vào cuốn sổ cái rồi cấp phát dữ liệu này tới các máy tính khác. Rất nhiều doanh nghiệp đã bắt đầu chấp nhận cho việc sử dụng bitcoin. Thậm chí,vào một ngày tháng 05 năm 2010, một lập trình viên tên Laszlo Hanyecz đã trả 10.000BTC để mua 2 chiếc bánh pizza. Cần phải có một phần mềm ví để lưu trữ cũng như quản lý nguồn chi tiêu bitcoin. Mỗi ví Bitcoin bao gồm địa chỉ Bitcoin công khai (hash của public key) và khóa riêng tư (private key). Một địa chỉ có 160 bit dữ liệu, vì vậy có thể tạo ra tổng cộng 2160 địa chỉ Bitcoin tương đương 1048 địa chỉ (để so sánh: Có tổng cộng khoảng 1047 phân tử nước trên trái đất). Ngoài ra địa chỉ còn bao gồm 4 byte checksum nên xác suất mạng lưới chấp nhận địa chỉ Bitcoin gõ sai cực kỳ thấp. Bất kỳ ai cũng có thể gửi Bitcoin đến một chiếc ví bằng địa chỉ công khai, còn khoá riêng tư phải được nhập khi chủ ví muốn gửi Bitcoin đi. Vì vậy, việc sở hữu Bitcoin được định nghĩa là sự nắm giữ khoá riêng tư của 1 địa chỉ Bitcoin. Một khi khoá riêng tư bị mất, mạng lưới Bitcoin sẽ không thể xác nhận được việc sở hữu số bitcoin đó, và số bitcoin trong địa chỉ đó sẽ vĩnh viễn bị mất. Ví cho phép người dùng hoàn tất thanh toán giữa các địa chỉ khác nhau bằng cách cập nhật vào Blockchain. Khi thực hiện giao dịch bằng thiết bị di động, người dùng có thể sử dụng mã QR để đơn giản hoá quy trình thanh toán. Hình 2 : Ví điện tử Trezor Bitcoin có thể được mua bán thông qua các sàn giao dịch, hoặc thậm chí ở một số nơi trên thế giới, kể cả ở Việt Nam đã có máy ATM dành riêng cho bitcoin. Người dùng có thể rút trực tiếp tiền mặt từ bitcoin bằng những bitcoin ATM này. Bitcoin không thể in như tiền mặt, chúng được tạo ra bởi một hệ thống máy tính trên toàn cầu. Quy mô của mạng lưới này càng ngày cảng rộng với sức mạnh từ những siêu máy tính tham gia. Chính vì tính chất ẩn danh và không thể bị kiểm soát bởi chính phủ cho nên đồng bitcoin trở nên hấp dẫn ngườ dùng. ¬¬Nguyên lý hoạt động của Bitcoin Giá trị của Bitcoin cũng giống như các loại tiền tệ khác, được xác định theo quy luật cung – cầu. Để xử lý giao dịch, hệ thống máy tính cần phải thực hiện thủ tục gọi là”Đào bitcoin”. Bao gồm việc giải mã một phương trình toán học và đưa ra đáp án gồm 64 ký tự. Khi bài toán được giải mã thành công, một khối Bitcoin bao gồm thông tin các giao dịch trong đó sẽ hoàn tất việc xử lý. Thợ mỏ những người đào Bitcoin, sẽ được thưởng một lượng Bitcoin từ mạng máy tính cho thành quả của mình. Độ khó mỗi bài toán sẽ tăng theo chu kỳ để đám bảo Bitcoin luôn được tạo mới sau mỗi 10 phút. Đồng tiền Bitcoin có thể được chia nhỏ thành nhiều đơn vị con. 1 Bitcoin bằng 100 triệu Satoshi – Shatori là đơn vị nhỏ nhất của đồng Bitcoin được đặt theo tên của người đã tạo ra nó. Nền tảng kỹ thuật Trong quá trình đào bitcoin, phần cứng khai thác bitcoin của bạn chạy một hàm băm mật mã (hashing) (2 vòng SHA256) trên một khối. Với mỗi hàm băm mới được thử, phần mềm đào bitcoin sẽ sử dụng một số khác nhau làm phần tử ngẫu nhiên của khối, số này được gọi là nonce. Tùy thuộc vào nonce và chức năng băng trong khối sẽ tạo một băm giống như dưới đây: 93ef6f358fbb998c60802496863052290d4c63735b7fe5bdaac821de96a53a9a Bạn có thể thấy hàm băm này rất dài. (Đó là một số thập lục phân, các chữ cái từ AF là đại diện cho các chữ số từ 10 đến 15). Mục tiêu khó khăn (difficulty target) sẽ đảm bảo rằng các khối sẽ được tạo ra khoảng mười phút một lần. Để tạo ra một khối hợp lệ, các thợ mỏ phải tìm một hàm băm sao cho nó nhỏ hơn mục tiêu khó khăn. Vì vậy nếu ví dụ mục tiêu là: 1000000000000000000000000000000000000000000000000000000000000000 Thì bất kỳ số nào bắt đầu bằng số 0 sẽ đạt yêu cầu, ví dụ: 0787a6fd6e0782f7f8058fbef45f5c17fe89086ad4e78a1520d06505acb4522f Nếu chúng ta hạ thấp mục tiêu xuống: 0100000000000000000000000000000000000000000000000000000000000000 Bây giờ chúng ta cần thêm 2 số 0 vào đầu mục tiêu để được như sau:00db27957bd0ba06a5af9e6c81226d74312a7028cf9a08fa125e49f15cae4979 Do mục tiêu là một dãy số khổng lồ với hàng chục chữ số, người ta thường sử dụng một số đơn giản để làm mục tiêu hiện tại. Con số này là đại diện cho độ khó trong việc khai thác (mining difficulty). Chỉ số cho biết mức độ khó khăn khi khai thác khối hiện tại so với khi khai thác khối đầu tiên. Vì vậy, độ khó có giá trị 70000 có nghĩa là để tạo ra các khối hiện tại bạn phải làm khối lượng công việc gấp 70000 lần so với lúc Satoshi Nakamoto đã phải làm để tạo ra các khối đầu tiên. Để công bằng, thì phần cứng đào bitcoin và các thuật toán chậm hơn rất nhiều và ít được tối ưu hóa. Để giữ cho các khối sẽ được tạo ra mỗi 10 phút, độ khó sẽ được điều chỉnh sau mỗi 2016 blocks. Với sức mạnh hiện tại của mạng lưới toàn cầu, hiện tại sẽ mất khoảng 14 ngày để hoàn thành 2016 khối như vậy. Đó là lý do tại sao, khi sức mạnh của mạng lưới tăng lên, độ khó cũng sẽ tăng lên.   CHƯƠNG II : THUẬT TOÁN BĂM SHA Khái niệm Hàm băm là thuật toán không dùng khóa để mã hóa (ở đây dùng thuật ngữ “băm” thay cho “mã hóa”), nó có nhiệm vụ “lọc” (băm) tài liệu (bản tin) và cho kết quả là một giá trị “băm” có kích thước cố định, còn gọi là “đại diện tài liệu” hay “đại diện bản tin”, “đại diện thông điệp”. Hàm băm là hàm một chiều, theo nghĩa giá trị hàm băm là duy nhất, và từ giá trị băm này, khó có thể suy ngược lại được nội dung hay độ dài ban đầu của tài liệu gốc. Đặc tính của hàm băm Hàm băm h là hàm một chiều (One – wat Hash) với các đặc tính sau: Với tài liệu đầu vào (bản tin gốc) x, chỉ thu được giá trị băm duy nhất z = h(x). Nếu dữ liệu trong bản tin x bị thay đổi hay bị xóa để thành bản tin x’, thì giá trị băm h(x’) ≠ h(x). Cho dù chỉ là một sự thay đổi nhỏ, ví dụ chỉ thay đổi 1 bit dữ liệu của bản tin gốc x, thì giá trị băm h(x) của nó cũng vẫn thay đổi. Điều này có nghĩa là: hai thông điệp khác nhau, thì giá trị băm của chúng cũng khác nhau Nội dung của bản tin gốc “khó” thể suy ra từ giá trị băm của nó. Nghĩa là: với thông điệp x thì “dễ” tính được z=h(x), nhưng lại khó tính ngược lại x nếu chỉ biết giá trị băm h(x) (kể cả khi biết hàm băm h). Ứng dụng của hàm băm Với bản tin dài x, thì chữ ký trên x cũng sẽ dài, như vậy tốn thời gian “ký”, tốn bộ nhớ để lưu giữ “chữ ký”, tốn rất nhiều thời gian để truyền “chữ ký” trên mạng. Người ta dùng hàm băm h để đại cho bản tin z = h(x) nó có độ dài ngắn (ví dụ 128 bit). Sau đó ký trên z, như vậy chữ ký trên z sẽ nhỏ hơn rất nhiều so với chữ ký trên bản tin gốc x. Hàm băm dùng để xác định tính toàn vẹn dữ liệu. Hàm băm dùng để bảo mật một số dữ liệu đặc biệt, ví dụ bảo vệ mật khẩu, bảo vệ khóa mật mã, ... Cấu trúc của hàm băm Hầu hết các hàm băm mật mã đều có cấu trúc giải thuật như sau: Cho trước một thông điệp M có độ dài bất kỳ. Tùy theo thuật toán được sử dụng, chúng ta có thể cần bổ sung một số bit vào thông điệp này để nhận được thông điệp có độ dài là bội số của một hằng số cho trước. Chia nhỏ thông điệp thành từng khối có kích thước bằng nhau: M1, M2, …Ms Gọi H là trạng thái có kích thước n bit, f là “hàm nén” thực hiện thao tác trộn khối dữ liệu với trạng thái hiện hành. Khởi gán H0 bằng một vector khởi tạo nào đó Hi = f(Hi1,M) với i = 1, 2, 3, …, s Hs chính là thông điệp rút gọn của thông điệp M ban đầu. Tính chất của hàm băm Tính chất 1: Hàm băm không va chạm yếu. Hàm băm h được gọi là không va chạm yếu , nếu cho trước bức điện x, “khó có thể” tính toán để tìm ra bức điện x’ ≠ x mà h(x’) = h(x). Tính chất 2: Hàm băm không va chạm mạnh. Hàm băm h được gọi là không va chạm mạnh nếu “khó” thể tính toán để tìm ra hai bức thông điệp khác nhau x và x’ (x’≠ x) mà có h(x’) = h(x). Tính chất 3: Hàm băm h là hàm một chiều. Hàm băm h được gọi là hàm một chiều nếu khi cho trước một bản tóm lược thông báo z thì “khó thể” tính toán để tìm ra thông điệp ban đầu x sao cho h(x) = z. Các loại hàm băm Hàm băm MD4 (Message Disgest 4) và MD5 (Message Disgest 5) Hàm băm MD4 được Giáo sư Ron Rivest đề nghị vào năm 1990. Vào năm 1992, phiên bản MD5 của thuật toán này ra đời. Thông điệp rút gọn có độ dài 128 bit. Năm 1995, Hans Dobnertin đã chỉ ra sự đụng độ ngay chính trong bản than hàm nén của giải thuật (mặc dù chưa thật sự phá vỡ được giải thuật). Năm 2004, nhóm tác giả Xiaoyun Wang, Denguo Feng, Xuejia Lai và Hongbo Yu đã công bố kết quả về việc phá vỡ thuật toán MD4 và MD5 bằng phương pháp tấn công đụng độ Hàm băm SHS (Secure Hash Standard) Hàm băm SHS do NIST và NSA xây dựng được công bố trên Federal Register vào ngày 3111992, và sau đó chính thức trở thành phương pháp chuẩn từ ngày 1351993. Thông điệp rút gọn có độ dài 160bit. Ngày 26082002, Viện tiêu chuẩn và công nghệ quốc gia Hoa Kỳ đã đề xuất hệ thống chuẩn hàm băm an toàn gồm 4 thuật toán hàm băm SHA1, SHA256, SHA384, SHA512. Đến 25032004, NIST đã chấp nhận thêm thuật toán hàm băm SHA224 vào hệ thống chuẩn hàm băm. Các thuật toán hàm băm do NIST đề xuất được đặc tả trong tài liệu FIPS1802   CHƯƠNG III : THUẬT TOÁN BĂM SHA 256 Khái niệm SHA2 (Secure Hash Algorithm 2) là tập hợp các hàm băm mật mã được thiết kế bởi NSA. Hàm băm mật mã là các phép toán chạy trên dữ liệu kỹ thuật số, bằng cách so sánh các tính toán “băm” (đầu ra từ thực hiện các thuật toán) đến các giá trị hash được biết đến và mong đợi, một người có thể xác định tính toàn vẹn của dữ liệu. Ví dụ, tính toán các hash của một tệp tin tải về và so sánh kết quả vào một kết quả băm được phát hành trước đó có thể xác định các tệp tin tải về có bị sửa đổi hoặc giả mạo hay không. Một khía cạnh quan trọng của hàm băm mật mã là chúng kháng xung đột: Giá trị đầu vào khác nhau thì giá trị đầu ra sẽ không giống nhau. SHA256 là một loại hàm băm của SHA2, là hàm băm tính toán với các từ 32bit. Mô tả thuật toán Mỗi thuật toán có thể được mô tả trong hai giai đoạn: tiền xử lý và tính toán băm. Tiền xử lý liên quan đến việc đệm một thông điệp, phân tích cú pháp thông điệp đó thành các khối mbit, và thiết lập các giá trị khởi tạo sẽ được sử dụng trong tính toán băm. Việc tính toán băm sinh ra một thông điệp lịch trình (message schedule) từ thông điệp đã đệm và sử dụng lịch trình, cùng với chức năng, hằng số, và các hoạt động từ ngữ để lặp đi lặp lại tạo ra một loạt các giá trị băm. Các băm thức giá trị được tạo ra bởi việc tính toán hash được sử dụng để xác định các thông điệp tóm lược (message digest). Thuật toán băm SHA256 có thể chia làm hai giai đoạn: tiền xử lý và tính toán băm. Giai đoạn tiền xử lý đưa thông tin cần băm ( M ) về dạng chuẩn, phân tích M thành mbit block, và cài đặt giá trị ban đầu cho giai đoạn tính toán băm. Giai đoạn tính toán băm sinh ra thông điệp liệt kê của M từ thông điệp chuẩn, và sử dụng liệt kê đó cùng với các chức năng, các hằng số, các phép toán để sinh một dãy các giá trị băm. Giá trị băm cuối cùng sinh bởi giai đoạn tính toán băm được sử dụng làm giá trị băm của M. Các tham số, ký hiệu và thuật ngữ M thông điệp được băm a, b, c, …, h các biến thay đổi có độ dài wbit sử dụng trong tính toán giá trị băm H(i) giá trị băm thứ i, H(0) là giá trị khởi tạo, H(N) là giá trị băm cuối cùng, sử dụng làm giá trị băm Hj(i) từ thứ j của giá trị băm thứ i, H0(i) là từ trái nhất của giá trị băm thứ i Kt hằng số sử dụng cho vòng lặp thứ t của tính toán băm Số số 0 thêm vào thông điệp M trong quá trình tạo thông điệp chuẩn độ dài của thông điệp M tính theo bit số bit trong 1 block M(i) Block thứ i Mj(i) từ thứ j của block thứ i, M0(i) là từ trái nhất của block i w số bit của một từ T wbit tạm thời sử dụng trong tính toán băm N số block của thông điệp chuẩn Wt wbit thứ t của thông điệp liệt kê Phép toán phép toán end  phép toán or  phép toán cộng bit XOR  phép phủ định + phép cộng theo modulo 2w >n có nghĩa là x được dịch phải n bit Chuyển đổi dữ liệu Một số ở dạng hexa là một mảng của tập {0, 1, 2, … 9, a, b, …, f}. Một số hex là sự biểu diễn của chuỗi 4 bit. Ví dụ số hex “7” là biểu diễn của 4 bit “0111”, số hex “a” là biểu diễn của chuỗi 4 bit “1010”. Một từ là chuỗi wbit có thể sử dụng ở dạng hex. Để chuyển một từ sang dạng số hex, mỗi chuỗi 4 bit được tương ứng chuyển sang số hex. Ví dụ với chuối 32 bit : “1010 0001 0000 0011 1111 1110 0010 0011” Được chuyển thành “a103fe23” dưới dạng số hex Một số nguyên có thể được biểu diễn bằng một từ hoặc một số từ. Một số nguyên nằm giữa 0 và 232 – 1 có thể biểu diễn như là chuỗi 32 bit. Ví dụ số nguyên 291 = 256 + 32 + 2 + 1 = 28 + 25 + 2 + 1 được biểu diễn dưới dạng 32 bit là : “0000 0000 0000 0000 0000 0001 0010 0011” Và được biểu diễn dưới dạng số hex là : “ 00000123” Các phép toán Phép cộng modulo 2w : phép cộng modulo x+y được định nghĩa như sau: x,y là biểu diễn của 2 số nguyên dương X và Y với 0 < X < 2w và 0 < Y< 2w , chuyển số nguyên Z thành chuỗi z được phép cộng theo modulo 2w : z = x + y SHRn (x) : là phép dịch phải, với x là từ wbit và n là số nguyên dương với 0 < n < w được định nghĩa : SHRn (x) = x >> n ROTRn (x) : ROTRn (x) = (x>>n) v (x Tiếp theo ta tạo trang “index.php” để nhập dữ li

Trang 1

M C L C ỤC LỤC ỤC LỤC

DANH M C HÌNH NHỤC HÌNH ẢNH ẢNH 3

DANH M C VI T T TỤC HÌNH ẢNH ẾT TẮT ẮT 4

TÓM T T N I DUNGẮT ỘI DUNG 5

L I NÓI Đ UỜI NÓI ĐẦU ẦU 6

CHƯƠNG I : TÌM HIỂU CHUNG VỀ BITCOINNG I : TÌM HI U CHUNG V BITCOINỂU CHUNG VỀ BITCOIN Ề BITCOIN 9

1 Khái ni m Blockchainệm Blockchain 9

2 Khái ni m bitcoinệm Blockchain 9

3 Nguyên lý ho t đ ng c a Bitcoinạt động của Bitcoin ộng của Bitcoin ủa Bitcoin 11

4 N n t ng kỹ thu tền tảng kỹ thuật ảng kỹ thuật ật 12

CHƯƠNG I : TÌM HIỂU CHUNG VỀ BITCOINNG II : THU T TOÁN BĂM SHAẬT TOÁN BĂM SHA 14

1 Khái ni mệm Blockchain 14

2 Đ c tính c a hàm bămặc tính của hàm băm ủa Bitcoin 14

3 Ứng dụng của hàm bămng d ng c a hàm bămụng của hàm băm ủa Bitcoin 14

4 C u trúc c a hàm bămấu trúc của hàm băm ủa Bitcoin 15

5 Tính ch t c a hàm bămấu trúc của hàm băm ủa Bitcoin 15

6 Các lo i hàm bămạt động của Bitcoin 15

6.1 Hàm băm MD4 (Message Disgest 4) và MD5 (Message Disgest 5) 15 6.2 Hàm băm SHS (Secure Hash Standard) 16

CHƯƠNG I : TÌM HIỂU CHUNG VỀ BITCOINNG III : THU T TOÁN BĂM SHA 256ẬT TOÁN BĂM SHA 17

1 Khái ni mệm Blockchain 17

2 Mô t thu t toánảng kỹ thuật ật 17

2.1 Các tham s , ký hi u và thu tố, ký hiệu và thuật ệm Blockchain ật ngữ 18

2.2 Phép toán 18

2.3 Chuy n đ i dển đổi dữ ổi dữ ữ li uệm Blockchain 19

2.5 Các hàm ch c năng s d ng trongức năng sử dụng trong ử dụng trong ụng của hàm băm SHA-256 20

2.6 Các h ng s s d ng trongằng số sử dụng trong ố, ký hiệu và thuật ử dụng trong ụng của hàm băm SHA-256 20

2.8 Thu t toán bămật SHA-256 22

CHƯƠNG I : TÌM HIỂU CHUNG VỀ BITCOINNG IV : DEMO THU T TOÁN SHA-256 b ng PHPẬT TOÁN BĂM SHA ằng số sử dụng trong 25

1 Vi t chết chương trình ương trìnhng trình 25

2 Th nghi mử dụng trong ệm Blockchain 32

2.1 Giao di n chệm Blockchain ương trìnhng trình 33

2.2 Ki m thển đổi dữ ử dụng trong 35

K T LU NẾT TẮT ẬT TOÁN BĂM SHA 37

Trang 2

TÀI LI U THAM KH OỆU THAM KHẢO ẢNH 38

Trang 3

DANH M C HÌNH NH ỤC LỤC ẢNH

Hình 1: S đ ho t đ ng c a Blockchainơng trình ồ hoạt động của Blockchain ạt động của Bitcoin ộng của Bitcoin ủa Bitcoin 7

Hình 2 : Ví đi n t Trezorệm Blockchain ử dụng trong 8

Hình 3-bit M ng 64 h ng s 32-bit Kảng kỹ thuật ằng số sử dụng trong ố, ký hiệu và thuật j{256} 18

Hình 4 : Các giá tr kh i t o c a giá tr bămị khởi tạo của giá trị băm ởi tạo của giá trị băm ạt động của Bitcoin ủa Bitcoin ị khởi tạo của giá trị băm 19

Hình 5: Giao di n chệm Blockchain ương trìnhng trình khi m i kh i ch yới khởi chạy ởi tạo của giá trị băm ạt động của Bitcoin 28

Hình 6 : Giao di n trệm Blockchain ưới khởi chạyc khi b m nút tính toánấu trúc của hàm băm 29

Hình 7: K t qu thu đết chương trình ảng kỹ thuật ược sau khi thực hiện bămc sau khi th c hi n bămực hiện băm ệm Blockchain 30

Trang 4

DANH M C VI T T T ỤC LỤC ẾT TẮT ẮT

Ký hi uệm Blockchain Tên đ y đầy đủ ủa Bitcoin Ý nghĩa

BTC Ký hi u đ ng ti n oệm Blockchain ồ hoạt động của Blockchain ền tảng kỹ thuật ảng kỹ thuật

Bitocin

FIPS Federal Information Processing

Standard

Chu n b o m t an toànẩn bảo mật an toàn ảng kỹ thuật ật

c a chính ph Mỹủa Bitcoin ủa Bitcoin

NSA National Security Agency C quan An ninh Qu cơng trình ố, ký hiệu và thuật

gia Hoa KỳMD4, MD5 Message Digest 4, 5 các gi i thu t đ ng hóaảng kỹ thuật ật ồ hoạt động của Blockchain

thông tin

Trang 5

TÓM T T N I DUNG ẮT ỘI DUNG

Bài báo cáo tìm hi u v thu t toán mã hóa đ ng ti n o Bitcoin ngoàiển đổi dữ ền tảng kỹ thuật ật ồ hoạt động của Blockchain ền tảng kỹ thuật ảng kỹ thuật

ph n m đ u, k t lu n thì có n i dung chính đầy đủ ởi tạo của giá trị băm ầy đủ ết chương trình ật ộng của Bitcoin ược sau khi thực hiện bămc chia làm 4 chương trìnhng:

Ch ương 1 ng 1 : Tìm hi u chung v Bitcoin: Tìm hi u khái quát v đ ngền tảng kỹ thuật ền tảng kỹ thuật ển đổi dữ ền tảng kỹ thuật ồ hoạt động của Blockchain

ti n Bitcoin nh khái ni m, blockchain, nguyên lý ho t đ ng, n n t n kỹền tảng kỹ thuật ư ệm Blockchain ạt động của Bitcoin ộng của Bitcoin ền tảng kỹ thuật ảng kỹ thuậtthu t c a đ ng ti n o Bitcoin.ật ủa Bitcoin ồ hoạt động của Blockchain ền tảng kỹ thuật ảng kỹ thuật

Ch ương 1 ng 2 : Thu t toán băm SHA : Tìm hi u chung v khái ni m, đ cật ển đổi dữ ền tảng kỹ thuật ệm Blockchain ặc tính của hàm băm

đi m, tính ch t, c u trúc c a hàm băm SHA.ển đổi dữ ấu trúc của hàm băm ấu trúc của hàm băm ủa Bitcoin

Ch ương 1 ng 3: Thu t toán băm SHA 256 : Tìm hi u khái ni m, nh ngật ền tảng kỹ thuật ệm Blockchain ữ

bưới khởi chạyc ti n x lý và cách th c ho t đ ng c a thu t toán SHA 256.ền tảng kỹ thuật ử dụng trong ức năng sử dụng trong ạt động của Bitcoin ộng của Bitcoin ủa Bitcoin ật

Ch ương 1 ng 4 : Demo : T o và ch y th nghi m thu t toán b ng ngônạt động của Bitcoin ạt động của Bitcoin ử dụng trong ệm Blockchain ật ằng số sử dụng trong

ng PHP và ki m tra, so sánh k t qu thu đữ ển đổi dữ ết chương trình ảng kỹ thuật ược sau khi thực hiện bămc v i k t qu trên m ngới khởi chạy ết chương trình ảng kỹ thuật ạt động của BitcoinInternet

Trang 6

L I NÓI Đ U ỜI NÓI ĐẦU ẦU

Ngày nay, xã h i càng phát tri n, th gi i bùng n vi c áp d ng côngộng của Bitcoin ển đổi dữ ết chương trình ới khởi chạy ổi dữ ệm Blockchain ụng của hàm bămngh thông tin vào m i ho t đ ng kinh t Đ c bi t Internet đệm Blockchain ọi hoạt động kinh tế Đặc biệt Internet được đưa và ạt động của Bitcoin ộng của Bitcoin ết chương trình ặc tính của hàm băm ệm Blockchain ược sau khi thực hiện bămc đ a vàư

ức năng sử dụng trong ụng của hàm băm ạt động của Bitcoin ộng của Bitcoin ương trình ạt động của Bitcoin ạt động của Bitcoin ộng của Bitcoin ực hiện băm ới khởi chạy

thương trìnhng m i đi n t Thạt động của Bitcoin ệm Blockchain ử dụng trong ương trìnhng m i đi n t đã xóa nhòa đi biên gi i gi a cácạt động của Bitcoin ệm Blockchain ử dụng trong ới khởi chạy ữ

qu c gia t o nên m t th trố, ký hiệu và thuật ạt động của Bitcoin ộng của Bitcoin ị khởi tạo của giá trị băm ường giao dịch chung gọi là thị trường toàn cầu.ng giao d ch chung g i là th trị khởi tạo của giá trị băm ọi hoạt động kinh tế Đặc biệt Internet được đưa và ị khởi tạo của giá trị băm ường giao dịch chung gọi là thị trường toàn cầu.ng toàn c u.ầy đủ

Thương trìnhng m i đi n t mang l i nh ng ti n ích to l n nh tăng hi u su t,ạt động của Bitcoin ệm Blockchain ử dụng trong ạt động của Bitcoin ữ ệm Blockchain ới khởi chạy ư ệm Blockchain ấu trúc của hàm bămnâng cao năng l c c nh tranh, gi m chi phí, tăng l i nhu n ực hiện băm ạt động của Bitcoin ảng kỹ thuật ợc sau khi thực hiện băm ật

Thương trìnhng m i trên m ng Internet đã g n nh hoàn toàn coi các tạt động của Bitcoin ạt động của Bitcoin ầy đủ ư ổi dữ

ch c tài chính là bên th ba đức năng sử dụng trong ức năng sử dụng trong ược sau khi thực hiện bămc tin c y đ x lý các thanh toán đi n t ật ển đổi dữ ử dụng trong ệm Blockchain ử dụng trongTrong khi làm vi c khá t t đ i v i h u h t các giao d ch, h th ng này v nệm Blockchain ố, ký hiệu và thuật ố, ký hiệu và thuật ới khởi chạy ầy đủ ết chương trình ị khởi tạo của giá trị băm ệm Blockchain ố, ký hiệu và thuật ẫn

t n t i nh ng đi m y u c h u c a mô hình tín nhi m (the trust basedồ hoạt động của Blockchain ạt động của Bitcoin ữ ển đổi dữ ết chương trình ố, ký hiệu và thuật ữ ủa Bitcoin ệm Blockchainmodel) Các giao d ch mà hoàn toàn không th đ o ngị khởi tạo của giá trị băm ển đổi dữ ảng kỹ thuật ược sau khi thực hiện bămc không th c s làực hiện băm ực hiện băm

có th x y ra đển đổi dữ ảng kỹ thuật ược sau khi thực hiện bămc, vì các t ch c tài chính không th tránh đổi dữ ức năng sử dụng trong ển đổi dữ ược sau khi thực hiện bămc các tranh

ch p trung gian Chi phí trung gian làm tăng cao các chi phí giao d ch, h nấu trúc của hàm băm ị khởi tạo của giá trị băm ạt động của Bitcoin

ch m c giao d ch t i thi u và làm gi m kh năng giao d ch v i các m cết chương trình ức năng sử dụng trong ị khởi tạo của giá trị băm ố, ký hiệu và thuật ển đổi dữ ảng kỹ thuật ảng kỹ thuật ị khởi tạo của giá trị băm ới khởi chạy ức năng sử dụng tronggiao d ch nh thông thị khởi tạo của giá trị băm ỏ thông thường, và phải mất chi phí cao hơn để thực hiện các ường giao dịch chung gọi là thị trường toàn cầu.ng, và ph i m t chi phí cao h n đ th c hi n cácảng kỹ thuật ấu trúc của hàm băm ơng trình ển đổi dữ ực hiện băm ệm Blockchainthanh toán không th đ o ngển đổi dữ ảng kỹ thuật ược sau khi thực hiện bămc cho các d ch v không th đ o ngị khởi tạo của giá trị băm ụng của hàm băm ển đổi dữ ảng kỹ thuật ược sau khi thực hiện bămc V iới khởi chạy

kh năng đ o ngảng kỹ thuật ảng kỹ thuật ược sau khi thực hiện bămc, nhu c u tín nhi m đã lan r ng Các thầy đủ ệm Blockchain ộng của Bitcoin ương trìnhng gia ph iảng kỹ thuật

th n tr ng v i khách hàng c a h , sách nhi u h b i nhi u thông tin h nật ọi hoạt động kinh tế Đặc biệt Internet được đưa và ới khởi chạy ủa Bitcoin ọi hoạt động kinh tế Đặc biệt Internet được đưa và ễu họ bởi nhiều thông tin hơn ọi hoạt động kinh tế Đặc biệt Internet được đưa và ởi tạo của giá trị băm ền tảng kỹ thuật ơng trìnhbình thường giao dịch chung gọi là thị trường toàn cầu.ng h c n M t t l gian l n nh t đ nh đã đọi hoạt động kinh tế Đặc biệt Internet được đưa và ầy đủ ộng của Bitcoin ỉ lệ gian lận nhất định đã được công nhận là ệm Blockchain ật ấu trúc của hàm băm ị khởi tạo của giá trị băm ược sau khi thực hiện bămc công nh n làậtkhông th tránh kh i Các chi phí và thanh toán không ch c ch n này có thển đổi dữ ỏ thông thường, và phải mất chi phí cao hơn để thực hiện các ắc chắn này có thể ắc chắn này có thể ển đổi dữtránh được sau khi thực hiện bămc b ng cách s d ng ti n t v t lý, nh ng không có c ch nàoằng số sử dụng trong ử dụng trong ụng của hàm băm ền tảng kỹ thuật ệm Blockchain ật ư ơng trình ết chương trình

t n t i đ th c hi n các thanh toán qua m t kênh thông tin liên l c màồ hoạt động của Blockchain ạt động của Bitcoin ển đổi dữ ực hiện băm ệm Blockchain ộng của Bitcoin ạt động của Bitcointhi u m t bên đết chương trình ộng của Bitcoin ược sau khi thực hiện bămc tin c y ật

V y th ta c n là m t h th ng thanh toán đi n t d a vào b ngật ức năng sử dụng trong ầy đủ ộng của Bitcoin ệm Blockchain ố, ký hiệu và thuật ệm Blockchain ử dụng trong ực hiện băm ằng số sử dụng trong

ch ng m t mã thay vì tín nhi m, cho phép hai bên s n sàng có th giaoức năng sử dụng trong ật ệm Blockchain ẵn sàng có thể giao ển đổi dữ

d ch tr c ti p v i nhau mà không c n đ n m t bên th ba đị khởi tạo của giá trị băm ực hiện băm ết chương trình ới khởi chạy ầy đủ ết chương trình ộng của Bitcoin ức năng sử dụng trong ược sau khi thực hiện bămc tin c y nàoật

c Các giao d ch đảng kỹ thuật ị khởi tạo của giá trị băm ược sau khi thực hiện bămc tính toán đ không đ o ngển đổi dữ ảng kỹ thuật ược sau khi thực hiện bămc được sau khi thực hiện bămc sẽ b o v ngảng kỹ thuật ệm Blockchain ường giao dịch chung gọi là thị trường toàn cầu.ibán kh i gian l n, và các c ch ký quỹ có th đỏ thông thường, và phải mất chi phí cao hơn để thực hiện các ật ơng trình ết chương trình ển đổi dữ ược sau khi thực hiện bămc th c hi n d dàngực hiện băm ệm Blockchain ễu họ bởi nhiều thông tin hơn

Trang 7

nh m b o v ngằng số sử dụng trong ảng kỹ thuật ệm Blockchain ường giao dịch chung gọi là thị trường toàn cầu.i mua Đ ng ti n o Bitcoin chính là m t trong nh ngồ hoạt động của Blockchain ền tảng kỹ thuật ảng kỹ thuật ộng của Bitcoin ữ

gi i pháp b o đ m đảng kỹ thuật ảng kỹ thuật ảng kỹ thuật ược sau khi thực hiện bămc đi u này v i tính b o m t cao, khó b làm gi hayền tảng kỹ thuật ới khởi chạy ảng kỹ thuật ật ị khởi tạo của giá trị băm ảng kỹ thuậtđánh c p Bài báo cáo này sẽ tìm hi u v thu t toán SHA 256 dùng đ mãắc chắn này có thể ển đổi dữ ền tảng kỹ thuật ật ển đổi dữhóa đ ng ti n o Bitcoin, t o nên tính b o m t an toàn cao cho nó ồ hoạt động của Blockchain ền tảng kỹ thuật ảng kỹ thuật ạt động của Bitcoin ảng kỹ thuật ật

Chúng em xin chân thành cám n cô Nguy n Th Thu Th y đã t oơng trình ễu họ bởi nhiều thông tin hơn ị khởi tạo của giá trị băm ủa Bitcoin ạt động của Bitcoin

đi u ki n và t n tình giúp đ trong quá trình chúng em làm bài báo cáo này.ền tảng kỹ thuật ệm Blockchain ật ỡ trong quá trình chúng em làm bài báo cáo này

Do ki n th c còn h n h p nên bài báo cáo còn nhi u thi u sót, chúng em sẽết chương trình ức năng sử dụng trong ạt động của Bitcoin ẹp nên bài báo cáo còn nhiều thiếu sót, chúng em sẽ ền tảng kỹ thuật ết chương trình

c g ng kh c ph c trong th i gian t i ố, ký hiệu và thuật ắc chắn này có thể ắc chắn này có thể ụng của hàm băm ờng giao dịch chung gọi là thị trường toàn cầu ới khởi chạy

Chân thành cám n! ơn!

Trang 9

CH ƯƠNG I : TÌM HIỂU CHUNG VỀ BITCOIN NG I : TÌM HI U CHUNG V BITCOIN ỂU CHUNG VỀ BITCOIN Ề BITCOIN

1 Khái ni m Blockchain ệm Blockchain

Blockchain (Chu i kh i) ỗi khối) ố, ký hiệu và thuật là m t c s d li u phân c p l u tr thôngộng của Bitcoin ơng trình ởi tạo của giá trị băm ữ ệm Blockchain ấu trúc của hàm băm ư ữtin trong các kh i thông tin đố, ký hiệu và thuật ược sau khi thực hiện bămc liên k t v i nhau b ng mã hóa và mết chương trình ới khởi chạy ằng số sử dụng trong ởi tạo của giá trị băm

r ng theo th i gian M i kh i thông tin đ u ch a thông tin v th i gianộng của Bitcoin ờng giao dịch chung gọi là thị trường toàn cầu ỗi khối) ố, ký hiệu và thuật ền tảng kỹ thuật ức năng sử dụng trong ền tảng kỹ thuật ờng giao dịch chung gọi là thị trường toàn cầu

kh i t o và đởi tạo của giá trị băm ạt động của Bitcoin ược sau khi thực hiện bămc liên k t t i kh i trết chương trình ới khởi chạy ố, ký hiệu và thuật ưới khởi chạyc đó, kèm m t mã th i gian và dộng của Bitcoin ờng giao dịch chung gọi là thị trường toàn cầu ữ

li u giao d ch.ệm Blockchain ị khởi tạo của giá trị băm Blockchain được sau khi thực hiện bămc thi t k đ ch ng l i vi c thay đ i c aết chương trình ết chương trình ển đổi dữ ố, ký hiệu và thuật ạt động của Bitcoin ệm Blockchain ổi dữ ủa Bitcoin

d li u: M t khi d li u đã đữ ệm Blockchain ộng của Bitcoin ữ ệm Blockchain ược sau khi thực hiện bămc m ng lạt động của Bitcoin ưới khởi chạyi ch p nh n thì sẽ không cóấu trúc của hàm băm ậtcách nào thay đ i đổi dữ ược sau khi thực hiện bămc nó

Blockchain được sau khi thực hiện bămc đ m b o nh cách thi t k s d ng h th ng tínhảng kỹ thuật ảng kỹ thuật ờng giao dịch chung gọi là thị trường toàn cầu ết chương trình ết chương trình ử dụng trong ụng của hàm băm ệm Blockchain ố, ký hiệu và thuậttoán phân c p v i kh năng ch u l i byzantine cao Vì v y s đ ngấu trúc của hàm băm ới khởi chạy ảng kỹ thuật ị khởi tạo của giá trị băm ỗi khối) ật ực hiện băm ồ hoạt động của Blockchainthu n phân c p có th đ t đật ấu trúc của hàm băm ển đổi dữ ạt động của Bitcoin ược sau khi thực hiện bămc nh Blockchain Vì v y Blockchain phùờng giao dịch chung gọi là thị trường toàn cầu ật

h p đ ghi l i nh ng s ki n, h s y t , x lý giao d ch, công ch ng,ợc sau khi thực hiện băm ển đổi dữ ạt động của Bitcoin ữ ực hiện băm ệm Blockchain ồ hoạt động của Blockchain ơng trình ết chương trình ử dụng trong ị khởi tạo của giá trị băm ức năng sử dụng trongdanh tính và ch ng minh ngu n g c Vi c này có ti m năng giúp xóa bức năng sử dụng trong ồ hoạt động của Blockchain ố, ký hiệu và thuật ệm Blockchain ền tảng kỹ thuật ỏ thông thường, và phải mất chi phí cao hơn để thực hiện cáccác h u qu l n khi d li u b thay đ i trong b i c nh thật ảng kỹ thuật ới khởi chạy ữ ệm Blockchain ị khởi tạo của giá trị băm ổi dữ ố, ký hiệu và thuật ảng kỹ thuật ương trìnhng m i toànạt động của Bitcoin

c u.ầy đủ

Cách th c ho t đ ng c a Blockchain đức năng sử dụng trong ạt động của Bitcoin ộng của Bitcoin ủa Bitcoin ược sau khi thực hiện bămc mi u t nh hình sau: ển đổi dữ ảng kỹ thuật ư

Hình 1: S đ ho t đ ng c a Blockchain ơng 1 ồ hoạt động của Blockchain ạt động của Blockchain ộng của Blockchain ủa Blockchain

Trang 10

2 Khái ni m bitcoin ệm Blockchain

Ti n thu t toán là m t lo i ti n t kỹ thu t s , đền tảng kỹ thuật ật ộng của Bitcoin ạt động của Bitcoin ền tảng kỹ thuật ệm Blockchain ật ố, ký hiệu và thuật ược sau khi thực hiện bămc sinh ra b iởi tạo của giá trị bămcác thu t toán mã hóa ph c t p dật ức năng sử dụng trong ạt động của Bitcoin ưới khởi chạy ạt động của Bitcoini d ng ph n m m mã ngu n m ầy đủ ền tảng kỹ thuật ồ hoạt động của Blockchain ởi tạo của giá trị bămBitcoin (ký hi u:ệm Blockchain BTC, XBT, ) là m t lo i ti n thu t toán, động của Bitcoin ạt động của Bitcoin ền tảng kỹ thuật ật ược sau khi thực hiện bămc phátminh b i m t ngởi tạo của giá trị băm ộng của Bitcoin ường giao dịch chung gọi là thị trường toàn cầu.i bí n s d ng bút danhẩn bảo mật an toàn ử dụng trong ụng của hàm băm Satoshi Nakamotodưới khởi chạyi

d ng ph n m mạt động của Bitcoin ầy đủ ền tảng kỹ thuật mã ngu n m ồ hoạt động của Blockchain ởi tạo của giá trị băm t năm 2009 Bitcoin có th đừ năm 2009 Bitcoin có thể được trao ển đổi dữ ược sau khi thực hiện bămc trao

đ i tr c ti p b ng thi t b k t n i Internet ngang hàng mà không c nổi dữ ực hiện băm ết chương trình ằng số sử dụng trong ết chương trình ị khởi tạo của giá trị băm ết chương trình ố, ký hiệu và thuật ầy đủthông qua m tộng của Bitcoin t ch c tài chính trung gian nào Do đó không c n ph iổi dữ ức năng sử dụng trong ầy đủ ảng kỹ thuật

tr l phí giao d ch và cũng không c n ph i cung c p tên th t.ảng kỹ thuật ệm Blockchain ị khởi tạo của giá trị băm ầy đủ ảng kỹ thuật ấu trúc của hàm băm ật

Đ i v i Bitcoin, có th hình dung Blockchain là m t cu n s cái ghiố, ký hiệu và thuật ới khởi chạy ển đổi dữ ộng của Bitcoin ố, ký hiệu và thuật ổi dữ

l i t t c các giao d ch D li u trong cu n s cái liên t c đạt động của Bitcoin ấu trúc của hàm băm ảng kỹ thuật ị khởi tạo của giá trị băm ữ ệm Blockchain ố, ký hiệu và thuật ổi dữ ụng của hàm băm ược sau khi thực hiện bămc m ngạt động của Bitcoin

lưới khởi chạyi máy tính ngang hàng trên th gi i c p nh t và b o trì Giao d ch khiết chương trình ới khởi chạy ật ật ảng kỹ thuật ị khởi tạo của giá trị băm

A g i X bitcoin cho B đử dụng trong ược sau khi thực hiện bămc ghi l i trên toàn h th ng, t t c các máy tínhạt động của Bitcoin ệm Blockchain ố, ký hiệu và thuật ấu trúc của hàm băm ảng kỹ thuậttrong m ng này sẽ xác minh và ghi l i giao d ch đó vào cu n s cái r iạt động của Bitcoin ạt động của Bitcoin ị khởi tạo của giá trị băm ố, ký hiệu và thuật ổi dữ ồ hoạt động của Blockchain

c p phát d li u này t i các máy tính khác.ấu trúc của hàm băm ữ ệm Blockchain ới khởi chạy

R t nhi u doanh nghi p đã b t đ u ch p nh n cho vi c s d ngấu trúc của hàm băm ền tảng kỹ thuật ệm Blockchain ắc chắn này có thể ầy đủ ấu trúc của hàm băm ật ệm Blockchain ử dụng trong ụng của hàm bămbitcoin Th m chí,vào m t ngày tháng 05 năm 2010, m t l p trình viênật ộng của Bitcoin ộng của Bitcoin ậttên Laszlo Hanyecz đã tr 10.000BTC đ mua 2 chi c bánh pizza.ảng kỹ thuật ển đổi dữ ết chương trình

C n ph i có m t ph n m m ví đ l u tr cũng nh qu n lý ngu nầy đủ ảng kỹ thuật ộng của Bitcoin ầy đủ ền tảng kỹ thuật ển đổi dữ ư ữ ư ảng kỹ thuật ồ hoạt động của Blockchainchi tiêu bitcoin M i ví Bitcoin bao g m đ a ch Bitcoin công khai (hash c aỗi khối) ồ hoạt động của Blockchain ị khởi tạo của giá trị băm ỉ lệ gian lận nhất định đã được công nhận là ủa Bitcoinpublic key) và khóa riêng t (private key) M t đ a ch có 160 bit d li u, vìư ộng của Bitcoin ị khởi tạo của giá trị băm ỉ lệ gian lận nhất định đã được công nhận là ữ ệm Blockchain

v y có th t o ra t ng c ng 2160 đ a ch Bitcoin - tật ển đổi dữ ạt động của Bitcoin ổi dữ ộng của Bitcoin ị khởi tạo của giá trị băm ỉ lệ gian lận nhất định đã được công nhận là ương trìnhng đương trìnhng 1048 đ aị khởi tạo của giá trị băm

ch (đ so sánh: Có t ng c ng kho ng 1047 phân t nỉ lệ gian lận nhất định đã được công nhận là ển đổi dữ ổi dữ ộng của Bitcoin ảng kỹ thuật ử dụng trong ưới khởi chạyc trên trái đ t).ấu trúc của hàm bămNgoài ra đ a ch còn bao g m 4 byte checksum nên xác su t m ng lị khởi tạo của giá trị băm ỉ lệ gian lận nhất định đã được công nhận là ồ hoạt động của Blockchain ấu trúc của hàm băm ạt động của Bitcoin ưới khởi chạyi

ch p nh n đ a ch Bitcoin gõ sai c c kỳ th p.ấu trúc của hàm băm ật ị khởi tạo của giá trị băm ỉ lệ gian lận nhất định đã được công nhận là ực hiện băm ấu trúc của hàm băm

B t kỳ ai cũng có th g i Bitcoin đ n m t chi c ví b ng đ a chấu trúc của hàm băm ển đổi dữ ử dụng trong ết chương trình ộng của Bitcoin ết chương trình ằng số sử dụng trong ị khởi tạo của giá trị băm ỉ lệ gian lận nhất định đã được công nhận làcông khai, còn khoá riêng t ph i đư ảng kỹ thuật ược sau khi thực hiện bămc nh p khi ch ví mu n g i Bitcoinật ủa Bitcoin ố, ký hiệu và thuật ử dụng trong

đi Vì v y, vi c s h u Bitcoin đật ệm Blockchain ởi tạo của giá trị băm ữ ược sau khi thực hiện bămc đ nh nghĩa là s n m gi khoá riêng tị khởi tạo của giá trị băm ực hiện băm ắc chắn này có thể ữ ư

c a 1 đ a ch Bitcoin M t khi khoá riêng t b m t, m ng lủa Bitcoin ị khởi tạo của giá trị băm ỉ lệ gian lận nhất định đã được công nhận là ộng của Bitcoin ư ị khởi tạo của giá trị băm ấu trúc của hàm băm ạt động của Bitcoin ưới khởi chạyi Bitcoin sẽ

Trang 11

không th xác nh n đển đổi dữ ật ược sau khi thực hiện bămc vi c s h u s bitcoin đó, và s bitcoin trong đ aệm Blockchain ởi tạo của giá trị băm ữ ố, ký hiệu và thuật ố, ký hiệu và thuật ị khởi tạo của giá trị băm

ch đó sẽ vĩnh vi n b m t Ví cho phép ngỉ lệ gian lận nhất định đã được công nhận là ễu họ bởi nhiều thông tin hơn ị khởi tạo của giá trị băm ấu trúc của hàm băm ường giao dịch chung gọi là thị trường toàn cầu.i dùng hoàn t t thanh toánấu trúc của hàm băm

gi a các đ a ch khác nhau b ng cách c p nh t vào Blockchain Khi th cữ ị khởi tạo của giá trị băm ỉ lệ gian lận nhất định đã được công nhận là ằng số sử dụng trong ật ật ực hiện băm

hi n giao d ch b ng thi t b di đ ng, ngệm Blockchain ị khởi tạo của giá trị băm ằng số sử dụng trong ết chương trình ị khởi tạo của giá trị băm ộng của Bitcoin ường giao dịch chung gọi là thị trường toàn cầu.i dùng có th s d ng mã QR đển đổi dữ ử dụng trong ụng của hàm băm ển đổi dữ

đ n gi n hoá quy trình thanh toán.ơng trình ảng kỹ thuật

Hình 2 : Ví đi n t Trezor ện tử Trezor ử Trezor

Bitcoin có th đển đổi dữ ược sau khi thực hiện bămc mua bán thông qua các sàn giao d ch, ho c th mị khởi tạo của giá trị băm ặc tính của hàm băm ậtchí m t s n i trên th gi i, k c Vi t Nam đã có máy ATM dành riêngởi tạo của giá trị băm ộng của Bitcoin ố, ký hiệu và thuật ơng trình ết chương trình ới khởi chạy ển đổi dữ ảng kỹ thuật ởi tạo của giá trị băm ệm Blockchaincho bitcoin Ngường giao dịch chung gọi là thị trường toàn cầu.i dùng có th rút tr c ti p ti n m t t bitcoin b ngển đổi dữ ực hiện băm ết chương trình ền tảng kỹ thuật ặc tính của hàm băm ừ năm 2009 Bitcoin có thể được trao ằng số sử dụng trong

nh ng bitcoin ATM này.ữ

Bitcoin không th in nh ti n m t, chúng đển đổi dữ ư ền tảng kỹ thuật ặc tính của hàm băm ược sau khi thực hiện băm ạt động của Bitcoinc t o ra b i m t hởi tạo của giá trị băm ộng của Bitcoin ệm Blockchain

th ng máy tính trên toàn c u Quy mô c a m ng lố, ký hiệu và thuật ầy đủ ủa Bitcoin ạt động của Bitcoin ưới khởi chạyi này càng ngày c ngảng kỹ thuật

r ng v i s c m nh t nh ng siêu máy tính tham gia.ộng của Bitcoin ới khởi chạy ức năng sử dụng trong ạt động của Bitcoin ừ năm 2009 Bitcoin có thể được trao ữ

Chính vì tính ch t n danh và không th b ki m soát b i chính ph choấu trúc của hàm băm ẩn bảo mật an toàn ển đổi dữ ị khởi tạo của giá trị băm ển đổi dữ ởi tạo của giá trị băm ủa Bitcoinnên đ ng bitcoin tr nên h p d n ngồ hoạt động của Blockchain ởi tạo của giá trị băm ấu trúc của hàm băm ẫn ường giao dịch chung gọi là thị trường toàn cầu dùng

3 Nguyên lý ho t đ ng c a Bitcoin ạt động của Bitcoin ộng của Bitcoin ủa Bitcoin

Giá tr c a Bitcoin cũng gi ng nh các lo i ti n t khác, đị khởi tạo của giá trị băm ủa Bitcoin ố, ký hiệu và thuật ư ạt động của Bitcoin ền tảng kỹ thuật ệm Blockchain ược sau khi thực hiện bămc xác

đ nh theo quy lu t cung – c u ị khởi tạo của giá trị băm ật ầy đủ Đ x lý giao d ch, h th ng máy tính c nển đổi dữ ử dụng trong ị khởi tạo của giá trị băm ệm Blockchain ố, ký hiệu và thuật ầy đủ

ph i th c hi n th t c g i là”Đào bitcoin” Bao g m vi c gi i mã m tảng kỹ thuật ực hiện băm ệm Blockchain ủa Bitcoin ụng của hàm băm ọi hoạt động kinh tế Đặc biệt Internet được đưa và ồ hoạt động của Blockchain ệm Blockchain ảng kỹ thuật ộng của Bitcoin

phương trìnhng trình toán h c và đ a ra đáp án g m 64 ký t Khi bài toánọi hoạt động kinh tế Đặc biệt Internet được đưa và ư ồ hoạt động của Blockchain ực hiện băm

Trang 12

được sau khi thực hiện bămc gi i mã thành công, m t kh i Bitcoin bao g m thông tin các giaoảng kỹ thuật ộng của Bitcoin ố, ký hiệu và thuật ồ hoạt động của Blockchain

d ch trong đó sẽ hoàn t t vi c x lý ị khởi tạo của giá trị băm ấu trúc của hàm băm ệm Blockchain ử dụng trong

Th m - nh ng ngợc sau khi thực hiện băm ỏ thông thường, và phải mất chi phí cao hơn để thực hiện các ữ ường giao dịch chung gọi là thị trường toàn cầu.i đào Bitcoin, sẽ được sau khi thực hiện bămc thưởi tạo của giá trị bămng m t lộng của Bitcoin ược sau khi thực hiện bămngBitcoin t m ng máy tính cho thành qu c a mình Đ khó m i bài toánừ năm 2009 Bitcoin có thể được trao ạt động của Bitcoin ảng kỹ thuật ủa Bitcoin ộng của Bitcoin ỗi khối)

sẽ tăng theo chu kỳ đ đám b o Bitcoin luôn đển đổi dữ ảng kỹ thuật ược sau khi thực hiện băm ạt động của Bitcoinc t o m i sau m i 10ới khởi chạy ỗi khối) phút

Đ ng ti n Bitcoin có th đồ hoạt động của Blockchain ền tảng kỹ thuật ển đổi dữ ược sau khi thực hiện bămc chia nh thành nhi u đ n v con 1ỏ thông thường, và phải mất chi phí cao hơn để thực hiện các ền tảng kỹ thuật ơng trình ị khởi tạo của giá trị bămBitcoin b ng 100 tri u Satoshi – Shatori là đ n v nh nh t c a đ ngằng số sử dụng trong ệm Blockchain ơng trình ị khởi tạo của giá trị băm ỏ thông thường, và phải mất chi phí cao hơn để thực hiện các ấu trúc của hàm băm ủa Bitcoin ồ hoạt động của BlockchainBitcoin được sau khi thực hiện bămc đ t theo tên c a ngặc tính của hàm băm ủa Bitcoin ường giao dịch chung gọi là thị trường toàn cầu.i đã t o ra nó.ạt động của Bitcoin

4 N n t ng kỹ thu t ền tảng kỹ thuật ảng kỹ thuật ật

Trong quá trình đào bitcoin, ph n c ng khai thác bitcoin c aầy đủ ức năng sử dụng trong ủa Bitcoin

b n ch y m t hàm băm m t mã (hashing) (2 vòng SHA256) trên m tạt động của Bitcoin ạt động của Bitcoin ộng của Bitcoin ật ộng của Bitcoin

kh i V i m i hàm băm m i đố, ký hiệu và thuật ới khởi chạy ỗi khối) ới khởi chạy ược sau khi thực hiện bămc th , ph n m m đào bitcoin sẽ sử dụng trong ầy đủ ền tảng kỹ thuật ử dụng trong

d ng m t s khác nhau làm ph n t ng u nhiên c a kh i, s nàyụng của hàm băm ộng của Bitcoin ố, ký hiệu và thuật ầy đủ ử dụng trong ẫn ủa Bitcoin ố, ký hiệu và thuật ố, ký hiệu và thuật

được sau khi thực hiện băm ọi hoạt động kinh tế Đặc biệt Internet được đưa vàc g i là nonce Tùy thu c vào nonce và ch c năng băng trong kh iộng của Bitcoin ức năng sử dụng trong ố, ký hiệu và thuật

sẽ t o m t băm gi ng nh dạt động của Bitcoin ộng của Bitcoin ố, ký hiệu và thuật ư ưới khởi chạyi đây:

93ef6f358fbb998c60802496863052290d4c63735b7fe5bdaac821de96a 53a9a

B n có th th y hàm băm này r t dài (Đó là m t s th p l cạt động của Bitcoin ển đổi dữ ấu trúc của hàm băm ấu trúc của hàm băm ộng của Bitcoin ố, ký hiệu và thuật ật ụng của hàm bămphân, các ch cái t A-F là đ i di n cho các ch s t 10 đ n 15).ữ ừ năm 2009 Bitcoin có thể được trao ạt động của Bitcoin ệm Blockchain ữ ố, ký hiệu và thuật ừ năm 2009 Bitcoin có thể được trao ết chương trình

M c tiêu khó khăn (difficulty target) sẽ đ m b o r ng các kh i sẽụng của hàm băm ảng kỹ thuật ảng kỹ thuật ằng số sử dụng trong ố, ký hiệu và thuật

được sau khi thực hiện băm ạt động của Bitcoinc t o ra kho ng mảng kỹ thuật ường giao dịch chung gọi là thị trường toàn cầu.i phút m t l n Đ t o ra m t kh i h p l ,ộng của Bitcoin ầy đủ ển đổi dữ ạt động của Bitcoin ộng của Bitcoin ố, ký hiệu và thuật ợc sau khi thực hiện băm ệm Blockchaincác th m ph i tìm m t hàm băm sao cho nó nh h n m c tiêu khóợc sau khi thực hiện băm ỏ thông thường, và phải mất chi phí cao hơn để thực hiện các ảng kỹ thuật ộng của Bitcoin ỏ thông thường, và phải mất chi phí cao hơn để thực hiện các ơng trình ụng của hàm bămkhăn Vì v y n u ví d m c tiêu là: ật ết chương trình ụng của hàm băm ụng của hàm băm

100000000000000000000000000000000000000000000000000 0000000000000

Thì b t kỳ s nào b t đ u b ng s 0 sẽ đ t yêu c u, ví d :ấu trúc của hàm băm ố, ký hiệu và thuật ắc chắn này có thể ầy đủ ằng số sử dụng trong ố, ký hiệu và thuật ạt động của Bitcoin ầy đủ ụng của hàm băm

0787a6fd6e0782f7f8058fbef45f5c17fe89086ad4e78a1520d06505acb4 522f

Trang 13

N u chúng ta h th p m c tiêu xu ng:ết chương trình ạt động của Bitcoin ấu trúc của hàm băm ụng của hàm băm ố, ký hiệu và thuật

010000000000000000000000000000000000000000000000000 0000000000000

Bây gi chúng ta c n thêm 2 s 0 vào đ u m c tiêu đ đờng giao dịch chung gọi là thị trường toàn cầu ầy đủ ố, ký hiệu và thuật ầy đủ ụng của hàm băm ển đổi dữ ược sau khi thực hiện bămcnhư

sau:00db27957bd0ba06a5af9e6c81226d74312a7028cf9a08fa125e49f 15cae4979

Do m c tiêu là m t dãy s kh ng l v i hàng ch c ch s ,ụng của hàm băm ộng của Bitcoin ố, ký hiệu và thuật ổi dữ ồ hoạt động của Blockchain ới khởi chạy ụng của hàm băm ữ ố, ký hiệu và thuật

ngường giao dịch chung gọi là thị trường toàn cầu.i ta thường giao dịch chung gọi là thị trường toàn cầu.ng s d ng m t s đ n gi n đ làm m c tiêu hi n t i.ử dụng trong ụng của hàm băm ộng của Bitcoin ố, ký hiệu và thuật ơng trình ảng kỹ thuật ển đổi dữ ụng của hàm băm ệm Blockchain ạt động của BitcoinCon s này là đ i di n cho đ khó trong vi c khai thác (miningố, ký hiệu và thuật ạt động của Bitcoin ệm Blockchain ộng của Bitcoin ệm Blockchaindifficulty) Ch s cho bi t m c đ khó khăn khi khai thác kh i hi nỉ lệ gian lận nhất định đã được công nhận là ố, ký hiệu và thuật ết chương trình ức năng sử dụng trong ộng của Bitcoin ố, ký hiệu và thuật ệm Blockchain

t i so v i khi khai thác kh i đ u tiên Vì v y, đ khó có giá tr 70000ạt động của Bitcoin ới khởi chạy ố, ký hiệu và thuật ầy đủ ật ộng của Bitcoin ị khởi tạo của giá trị băm

có nghĩa là đ t o ra các kh i hi n t i b n ph i làm kh i lển đổi dữ ạt động của Bitcoin ố, ký hiệu và thuật ệm Blockchain ạt động của Bitcoin ạt động của Bitcoin ảng kỹ thuật ố, ký hiệu và thuật ược sau khi thực hiện bămng công

vi c g p 70000 l n so v i lúc Satoshi Nakamoto đã ph i làm đ t oệm Blockchain ấu trúc của hàm băm ầy đủ ới khởi chạy ảng kỹ thuật ển đổi dữ ạt động của Bitcoin

ra các kh i đ u tiên Đ công b ng, thì ph n c ng đào bitcoin và cácố, ký hiệu và thuật ầy đủ ển đổi dữ ằng số sử dụng trong ầy đủ ức năng sử dụng trongthu t toán ch m h n r t nhi u và ít đật ật ơng trình ấu trúc của hàm băm ền tảng kỹ thuật ược sau khi thực hiện băm ố, ký hiệu và thuật ưc t i u hóa Đ gi cho cácển đổi dữ ữ

kh i sẽ đố, ký hiệu và thuật ược sau khi thực hiện băm ạt động của Bitcoinc t o ra m i 10 phút, đ khó sẽ đỗi khối) ộng của Bitcoin ược sau khi thực hiện bămc đi u ch nh sau m iền tảng kỹ thuật ỉ lệ gian lận nhất định đã được công nhận là ỗi khối)

2016 blocks V i s c m nh hi n t i c a m ng lới khởi chạy ức năng sử dụng trong ạt động của Bitcoin ệm Blockchain ạt động của Bitcoin ủa Bitcoin ạt động của Bitcoin ưới khởi chạyi toàn c u, hi n t iầy đủ ệm Blockchain ạt động của Bitcoin

sẽ m t kho ng 14 ngày đ hoàn thành 2016 kh i nh v y Đó là lý doấu trúc của hàm băm ảng kỹ thuật ển đổi dữ ố, ký hiệu và thuật ư ật

t i sao, khi s c m nh c a m ng lạt động của Bitcoin ức năng sử dụng trong ạt động của Bitcoin ủa Bitcoin ạt động của Bitcoin ưới khởi chạyi tăng lên, đ khó cũng sẽ tăngộng của Bitcoinlên

Trang 14

CH ƯƠNG I : TÌM HIỂU CHUNG VỀ BITCOIN NG II : THU T TOÁN BĂM SHA ẬT TOÁN BĂM SHA

1 Khái ni m ệm Blockchain

Hàm băm là thu t toán không dùng khóa đ mã hóa ( đây dùngật ển đổi dữ ởi tạo của giá trị bămthu t ng “băm” thay cho “mã hóa”), nó có nhi m v “l c” (băm) tài li uật ữ ệm Blockchain ụng của hàm băm ọi hoạt động kinh tế Đặc biệt Internet được đưa và ệm Blockchain(b n tin) và cho k t qu là m t giá tr “băm” có kích thảng kỹ thuật ết chương trình ảng kỹ thuật ộng của Bitcoin ị khởi tạo của giá trị băm ưới khởi chạy ố, ký hiệu và thuật ị khởi tạo của giá trị bămc c đ nh, còn

g i là “đ i di n tài li u” hay “đ i di n b n tin”, “đ i di n thông đi p”.ọi hoạt động kinh tế Đặc biệt Internet được đưa và ạt động của Bitcoin ệm Blockchain ệm Blockchain ạt động của Bitcoin ệm Blockchain ảng kỹ thuật ạt động của Bitcoin ệm Blockchain ệm Blockchain

Hàm băm là hàm m t chi u, theo nghĩa giá tr hàm băm là duy nh t,ộng của Bitcoin ền tảng kỹ thuật ị khởi tạo của giá trị băm ấu trúc của hàm băm

và t giá tr băm này, khó có th suy ngừ năm 2009 Bitcoin có thể được trao ị khởi tạo của giá trị băm ển đổi dữ ược sau khi thực hiện băm ạt động của Bitcoin ược sau khi thực hiện bămc l i đ c n i dung hay đ dàiộng của Bitcoin ộng của Bitcoinban đ u c a tài li u g c.ầy đủ ủa Bitcoin ệm Blockchain ố, ký hiệu và thuật

2 Đ c tính c a hàm băm ặc tính của hàm băm ủa Bitcoin

Hàm băm h là hàm m t chi u (One – wat Hash) v i các đ c tính sau:ộng của Bitcoin ền tảng kỹ thuật ới khởi chạy ặc tính của hàm băm

 V i tài li u đ u vào (b n tin g c) ới khởi chạy ệm Blockchain ầy đủ ảng kỹ thuật ố, ký hiệu và thuật x, ch thu đỉ lệ gian lận nhất định đã được công nhận là ược sau khi thực hiện bămc giá tr băm duyị khởi tạo của giá trị băm

nh t ấu trúc của hàm băm z = h(x).

 N u d li u trong b n tin ết chương trình ữ ệm Blockchain ảng kỹ thuật x b thay đ i hay b xóa đ thành b nị khởi tạo của giá trị băm ổi dữ ị khởi tạo của giá trị băm ển đổi dữ ảng kỹ thuật

tin x’, thì giá tr băm ị khởi tạo của giá trị băm h(x’) ≠ h(x) Cho dù ch là m t s thay đ i nh ,ỉ lệ gian lận nhất định đã được công nhận là ộng của Bitcoin ực hiện băm ổi dữ ỏ thông thường, và phải mất chi phí cao hơn để thực hiện các

ví d ch thay đ i 1 bit d li u c a b n tin g c ụng của hàm băm ỉ lệ gian lận nhất định đã được công nhận là ổi dữ ữ ệm Blockchain ủa Bitcoin ảng kỹ thuật ố, ký hiệu và thuật x, thì giá tr bămị khởi tạo của giá trị băm

h(x) c a nó cũng v n thay đ i Đi u này có nghĩa là: hai thôngủa Bitcoin ẫn ổi dữ ền tảng kỹ thuật

đi p khác nhau, thì giá tr băm c a chúng cũng khác nhauệm Blockchain ị khởi tạo của giá trị băm ủa Bitcoin

 N i dung c a b n tin g c “khó” th suy ra t giá tr băm c a nó.ộng của Bitcoin ủa Bitcoin ảng kỹ thuật ố, ký hiệu và thuật ển đổi dữ ừ năm 2009 Bitcoin có thể được trao ị khởi tạo của giá trị băm ủa BitcoinNghĩa là: v i thông đi p ới khởi chạy ệm Blockchain x thì “d ” tính đễu họ bởi nhiều thông tin hơn ược sau khi thực hiện băm z=h(x), nh ng l i khóc ư ạt động của Bitcointính ngược sau khi thực hiện băm ạt động của Bitcoin x n u ch bi t giá tr băm c l i ết chương trình ỉ lệ gian lận nhất định đã được công nhận là ết chương trình ị khởi tạo của giá trị băm h(x) (k c khi bi t hàmển đổi dữ ảng kỹ thuật ết chương trình

băm h).

3 Ứng dụng của hàm băm ng d ng c a hàm băm ụng của hàm băm ủa Bitcoin

 V i b n tin dài ới khởi chạy ảng kỹ thuật x, thì ch ký trên x cũng sẽ dài, nh v y t n th iư ật ố, ký hiệu và thuật ờng giao dịch chung gọi là thị trường toàn cầu.gian “ký”, t n b nh đ l u gi “ch ký”, t n r t nhi u th iố, ký hiệu và thuật ộng của Bitcoin ới khởi chạy ển đổi dữ ư ữ ữ ố, ký hiệu và thuật ấu trúc của hàm băm ền tảng kỹ thuật ờng giao dịch chung gọi là thị trường toàn cầu.gian đ truy n “ch ký” trên m ng Ngển đổi dữ ền tảng kỹ thuật ữ ạt động của Bitcoin ường giao dịch chung gọi là thị trường toàn cầu.i ta dùng hàm băm h

đ đ i cho b n tin ển đổi dữ ạt động của Bitcoin ảng kỹ thuật z = h(x) nó có đ dài ng n (ví d 128 bit).ộng của Bitcoin ắc chắn này có thể ụng của hàm băm

Sau đó ký trên z, nh v y ch ký trên ư ật ữ z sẽ nh h n r t nhi u soỏ thông thường, và phải mất chi phí cao hơn để thực hiện các ơng trình ấu trúc của hàm băm ền tảng kỹ thuật

v i ch ký trên b n tin g c ới khởi chạy ữ ảng kỹ thuật ố, ký hiệu và thuật x.

Trang 15

 Hàm băm dùng đ xác đ nh tính toàn v n d li u.ển đổi dữ ị khởi tạo của giá trị băm ẹp nên bài báo cáo còn nhiều thiếu sót, chúng em sẽ ữ ệm Blockchain

 Hàm băm dùng đ b o m t m t s d li u đ c bi t, ví d b oển đổi dữ ảng kỹ thuật ật ộng của Bitcoin ố, ký hiệu và thuật ữ ệm Blockchain ặc tính của hàm băm ệm Blockchain ụng của hàm băm ảng kỹ thuật

v m t kh u, b o v khóa m t mã, ệm Blockchain ật ẩn bảo mật an toàn ảng kỹ thuật ệm Blockchain ật

4 C u trúc c a hàm băm ấu trúc của hàm băm ủa Bitcoin

H u h t các hàm băm m t mã đ u có c u trúc gi i thu t nh sau: ầy đủ ết chương trình ật ền tảng kỹ thuật ấu trúc của hàm băm ảng kỹ thuật ật ưCho trưới khởi chạyc m t thông đi p M có đ dài b t kỳ Tùy theo thu t toánộng của Bitcoin ệm Blockchain ộng của Bitcoin ấu trúc của hàm băm ật

được sau khi thực hiện băm ử dụng trong ụng của hàm bămc s d ng, chúng ta có th c n b sung m t s bit vào thông đi p nàyển đổi dữ ầy đủ ổi dữ ộng của Bitcoin ố, ký hiệu và thuật ệm Blockchain

đ nh n đển đổi dữ ật ược sau khi thực hiện bămc thông đi p có đ dài là b i s c a m t h ng s cho trệm Blockchain ộng của Bitcoin ộng của Bitcoin ố, ký hiệu và thuật ủa Bitcoin ộng của Bitcoin ằng số sử dụng trong ố, ký hiệu và thuật ưới khởi chạyc.Chia nh thông đi p thành t ng kh i có kích thỏ thông thường, và phải mất chi phí cao hơn để thực hiện các ệm Blockchain ừ năm 2009 Bitcoin có thể được trao ố, ký hiệu và thuật ưới khởi chạyc b ng nhau: M1, M2, …ằng số sử dụng trongMs

G i H là tr ng thái có kích thọi hoạt động kinh tế Đặc biệt Internet được đưa và ạt động của Bitcoin ưới khởi chạyc n bit, f là “hàm nén” th c hi n thaoực hiện băm ệm Blockchaintác tr n kh i d li u v i tr ng thái hi n hành ộng của Bitcoin ố, ký hiệu và thuật ữ ệm Blockchain ới khởi chạy ạt động của Bitcoin ệm Blockchain

* Kh i gán Hởi tạo của giá trị băm 0 b ng m t vector kh i t o nào đó ằng số sử dụng trong ộng của Bitcoin ởi tạo của giá trị băm ạt động của Bitcoin

* Hi = f(Hi-1,M) v i i = 1, 2, 3, …, s ới khởi chạy

Hs chính là thông đi p rút g n c a thông đi p M ban đ u.ệm Blockchain ọi hoạt động kinh tế Đặc biệt Internet được đưa và ủa Bitcoin ệm Blockchain ầy đủ

5 Tính ch t c a hàm băm ấu trúc của hàm băm ủa Bitcoin

Tính ch t 1 ất 1 : Hàm băm không va ch m y u ạt động của Blockchain ếu

Hàm băm h được sau khi thực hiện băm ọi hoạt động kinh tế Đặc biệt Internet được đưa vàc g i là không va ch m y u , n u cho trạt động của Bitcoin ết chương trình ết chương trình ưới khởi chạyc b cức năng sử dụng trong

đi n x, “khó có th ” tính toán đ tìm ra b c đi n ệm Blockchain ển đổi dữ ển đổi dữ ức năng sử dụng trong ệm Blockchain x’ ≠ x mà h(x’) = h(x).

Tính ch t 2: ất 1 Hàm băm không va ch m m nh ạt động của Blockchain ạt động của Blockchain

Hàm băm h được sau khi thực hiện bămc g i là không va ch m m nh n u “khó” thọi hoạt động kinh tế Đặc biệt Internet được đưa và ạt động của Bitcoin ạt động của Bitcoin ết chương trình ển đổi dữtính toán đ tìm ra hai b c thông đi p khác nhau ển đổi dữ ức năng sử dụng trong ệm Blockchain x và x’ (x’≠ x) mà có h(x’)

= h(x).

Tính ch t 3 ất 1 : Hàm băm h là hàm m t chi u. ộng của Blockchain ều.

Hàm băm h được sau khi thực hiện bămc g i là ọi hoạt động kinh tế Đặc biệt Internet được đưa và hàm m t chi u ộng của Blockchain ều n u khi cho trết chương trình ưới khởi chạyc m t b nộng của Bitcoin ảng kỹ thuậttóm lược sau khi thực hiện bămc thông báo z thì “khó th ” tính toán đ tìm ra thông đi p ban đ u ển đổi dữ ển đổi dữ ệm Blockchain ầy đủ x sao cho h(x) = z.

6 Các lo i hàm băm ạt động của Bitcoin

6.1 Hàm băm MD4 (Message Disgest 4) và MD5 (Message

Trang 16

Disgest 5)

Hàm băm MD4 được sau khi thực hiện bămc Giáo s Ron Rivest đ ngh vào năm 1990 Vàoư ền tảng kỹ thuật ị khởi tạo của giá trị bămnăm 1992, phiên b n MD5 c a thu t toán này ra đ i Thông đi p rảng kỹ thuật ủa Bitcoin ật ờng giao dịch chung gọi là thị trường toàn cầu ệm Blockchain út g n cóọi hoạt động kinh tế Đặc biệt Internet được đưa và

đ dài 128 bit.ộng của Bitcoin

Năm 1995, Hans Dobnertin đã ch ra s đ ng đ ngay chính trongỉ lệ gian lận nhất định đã được công nhận là ực hiện băm ụng của hàm băm ộng của Bitcoin

b n than hàm nén c a gi i thu t (m c dù ch a th t s phá v đảng kỹ thuật ủa Bitcoin ảng kỹ thuật ật ặc tính của hàm băm ư ật ực hiện băm ỡ trong quá trình chúng em làm bài báo cáo này ược sau khi thực hiện bămc gi iảng kỹ thuậtthu t) Năm 2004, nhóm tác gi Xiaoyun Wang, Denguo Feng, Xuejia Lai vàật ảng kỹ thuậtHongbo Yu đã công b k t qu v vi c phá v thu t toán MD4 và MD5ố, ký hiệu và thuật ết chương trình ảng kỹ thuật ền tảng kỹ thuật ệm Blockchain ỡ trong quá trình chúng em làm bài báo cáo này ật

b ng phằng số sử dụng trong ương trìnhng pháp t n công đ ng đấu trúc của hàm băm ụng của hàm băm ộng của Bitcoin

6.2 Hàm băm SHS (Secure Hash Standard)

Hàm băm SHS do NIST và NSA xây d ng đực hiện băm ược sau khi thực hiện bămc công b trên Federalố, ký hiệu và thuậtRegister vào ngày 31/1/1992, và sau đó chính th c tr thành phức năng sử dụng trong ởi tạo của giá trị băm ương trìnhng phápchu n t ngày 13/5/1993 Thông đi p rút g n có đ dài 160bit.ẩn bảo mật an toàn ừ năm 2009 Bitcoin có thể được trao ệm Blockchain ọi hoạt động kinh tế Đặc biệt Internet được đưa và ộng của Bitcoin

Ngày 26/08/2002, Vi n tiêu chu n và công ngh qu c gia Hoa Kỳ đãệm Blockchain ẩn bảo mật an toàn ệm Blockchain ố, ký hiệu và thuật

đ xu t h th ng chu n hàm băm an toàn g m 4 thu t toán hàm băm SHA-ền tảng kỹ thuật ấu trúc của hàm băm ệm Blockchain ố, ký hiệu và thuật ẩn bảo mật an toàn ồ hoạt động của Blockchain ật

1, SHA-256, SHA-384, SHA-512 Đ n 25/03/2004, NIST đã ch p nh n thêmết chương trình ấu trúc của hàm băm ậtthu t toán hàm băm SHA-224 vào h th ng chu n hàm băm Các thu t toánật ệm Blockchain ố, ký hiệu và thuật ẩn bảo mật an toàn ậthàm băm do NIST đ xu t đền tảng kỹ thuật ấu trúc của hàm băm ược sau khi thực hiện bămc đ c t trong tài li u FIPS180-2ặc tính của hàm băm ảng kỹ thuật ệm Blockchain

Trang 17

CH ƯƠNG I : TÌM HIỂU CHUNG VỀ BITCOIN NG III : THU T TOÁN BĂM SHA 256 ẬT TOÁN BĂM SHA

1 Khái ni m ệm Blockchain

SHA-2 (Secure Hash Algorithm 2) là t p h p các hàm băm m t mãật ợc sau khi thực hiện băm ật

được sau khi thực hiện bămc thi t k b i NSA Hàm băm m t mã là các phép toán ch y trên dết chương trình ết chương trình ởi tạo của giá trị băm ật ạt động của Bitcoin ữ

li u kỹ thu t s , b ng cách so sánh các tính toán “băm” (đ u ra t th cệm Blockchain ật ố, ký hiệu và thuật ằng số sử dụng trong ầy đủ ừ năm 2009 Bitcoin có thể được trao ực hiện băm

hi n các thu t toán) đ n các giá tr hash đệm Blockchain ật ết chương trình ị khởi tạo của giá trị băm ược sau khi thực hiện bămc bi t đ n và mong đ i,ết chương trình ết chương trình ợc sau khi thực hiện băm

m t ngộng của Bitcoin ường giao dịch chung gọi là thị trường toàn cầu.i có th xác đ nh tính toàn v n c a d li u Ví d , tính toán cácển đổi dữ ị khởi tạo của giá trị băm ẹp nên bài báo cáo còn nhiều thiếu sót, chúng em sẽ ủa Bitcoin ữ ệm Blockchain ụng của hàm bămhash c a m t t p tin t i v và so sánh k t qu vào m t k t qu bămủa Bitcoin ộng của Bitcoin ệm Blockchain ảng kỹ thuật ền tảng kỹ thuật ết chương trình ảng kỹ thuật ộng của Bitcoin ết chương trình ảng kỹ thuật

được sau khi thực hiện bămc phát hành trưới khởi chạyc đó có th xác đ nh các t p tin t i v có b s a đ iển đổi dữ ị khởi tạo của giá trị băm ệm Blockchain ảng kỹ thuật ền tảng kỹ thuật ị khởi tạo của giá trị băm ử dụng trong ổi dữ

ho c gi m o hay không M t khía c nh quan tr ng c a hàm băm m tặc tính của hàm băm ảng kỹ thuật ạt động của Bitcoin ộng của Bitcoin ạt động của Bitcoin ọi hoạt động kinh tế Đặc biệt Internet được đưa và ủa Bitcoin ật

mã là chúng kháng xung đ t: Giá tr đ u vào khác nhau thì giá tr đ u raộng của Bitcoin ị khởi tạo của giá trị băm ầy đủ ị khởi tạo của giá trị băm ầy đủ

sẽ không gi ng nhau.ố, ký hiệu và thuật

SHA-256 là m t lo i hàm băm c a SHA-2, là hàm băm tính toán v iộng của Bitcoin ạt động của Bitcoin ủa Bitcoin ới khởi chạycác t 32-bit.ừ năm 2009 Bitcoin có thể được trao

2 Mô t thu t toán ảng kỹ thuật ật

M i thu t toán có th đỗi khối) ật ển đổi dữ ược sau khi thực hiện bămc mô t trong hai giai đo n: ti n x lý vàảng kỹ thuật ạt động của Bitcoin ền tảng kỹ thuật ử dụng trong

tính toán băm Ti n x lý ều ử Trezor liên quan đ n vi c đ m m t thông đi p, phânết chương trình ệm Blockchain ệm Blockchain ộng của Bitcoin ệm Blockchaintích cú pháp thông đi p đó thành các kh i m-bit, và thi t l p các giá trệm Blockchain ố, ký hiệu và thuật ết chương trình ật ị khởi tạo của giá trị băm

kh i t o sẽ đởi tạo của giá trị băm ạt động của Bitcoin ược sau khi thực hiện băm ử dụng trong ụng của hàm bămc s d ng trong tính toán băm Vi c ệm Blockchain tính toán băm sinh

ra m t thông đi p l ch trình (message schedule) t thông đi p đã đ mộng của Bitcoin ệm Blockchain ị khởi tạo của giá trị băm ừ năm 2009 Bitcoin có thể được trao ệm Blockchain ệm Blockchain

và s d ng l ch trình, cùng v i ử dụng trong ụng của hàm băm ị khởi tạo của giá trị băm ới khởi chạy ch c năng, ức năng, h ng s ằng số ố, và các ho t đ ng tạt động của Bitcoin ộng của Bitcoin ừ năm 2009 Bitcoin có thể được trao

ng đ l p đi l p l i t o ra m t lo t các giá tr băm Các băm th c giá trữ ển đổi dữ ặc tính của hàm băm ặc tính của hàm băm ạt động của Bitcoin ạt động của Bitcoin ộng của Bitcoin ạt động của Bitcoin ị khởi tạo của giá trị băm ức năng sử dụng trong ị khởi tạo của giá trị băm

được sau khi thực hiện băm ạt động của Bitcoinc t o ra b i vi c tính toán hash đởi tạo của giá trị băm ệm Blockchain ược sau khi thực hiện băm ử dụng trong ụng của hàm bămc s d ng đ xác đ nh các thôngển đổi dữ ị khởi tạo của giá trị băm

đi p tóm lệm Blockchain ược sau khi thực hiện bămc (message digest)

Thu t toán băm SHA-256 có th chia làm hai giai đo n: ti n x lý vàật ển đổi dữ ạt động của Bitcoin ền tảng kỹ thuật ử dụng trongtính toán băm Giai đo n ti n x lý đ a thông tin c n băm ( M ) v d ngạt động của Bitcoin ền tảng kỹ thuật ử dụng trong ư ầy đủ ền tảng kỹ thuật ạt động của Bitcoinchu n, phân tích M thành m-bit block, và cài đ t giá tr ban đ u cho giaiẩn bảo mật an toàn ặc tính của hàm băm ị khởi tạo của giá trị băm ầy đủ

đo n tính toán băm Giai đo n tính toán băm sinh ra thông đi p li t kêạt động của Bitcoin ạt động của Bitcoin ệm Blockchain ệm Blockchain

c a M t thông đi p chu n, và s d ng li t kê đó cùng v i các ch của Bitcoin ừ năm 2009 Bitcoin có thể được trao ệm Blockchain ẩn bảo mật an toàn ử dụng trong ụng của hàm băm ệm Blockchain ới khởi chạy ức năng sử dụng trong

Trang 18

năng, các h ng s , các phép toán đ sinh m t dãy các giá tr băm Giá trằng số sử dụng trong ố, ký hiệu và thuật ển đổi dữ ộng của Bitcoin ị khởi tạo của giá trị băm ị khởi tạo của giá trị bămbăm cu i cùng sinh b i giai đo n tính toán băm đố, ký hiệu và thuật ởi tạo của giá trị băm ạt động của Bitcoin ược sau khi thực hiện bămc s d ng làm giáử dụng trong ụng của hàm băm

tr băm c a M.ị khởi tạo của giá trị băm ủa Bitcoin

2.1 Các tham s , ký hi u và thu t ố, ký hiệu và thuật ệm Blockchain ật ngữ

M thông đi p đệm Blockchain ược sau khi thực hiện băm bămc

a, b, c, …, h các bi n thay đ i có đ dài w-bit sết chương trình ổi dữ ộng của Bitcoin ử dụng trong d ng trong tínhụng của hàm băm

toán giá tr bămị khởi tạo của giá trị băm

H(i) giá tr băm th i, Hị khởi tạo của giá trị băm ức năng sử dụng trong (0) là giá tr kh i t o, Hị khởi tạo của giá trị băm ởi tạo của giá trị băm ạt động của Bitcoin (N) là giá trị khởi tạo của giá trị băm

băm cu i cùng, s d ng làm giá trố, ký hiệu và thuật ử dụng trong ụng của hàm băm ị khởi tạo của giá trị băm băm

Hj(i) t th j c a giá tr băm th i, Hừ năm 2009 Bitcoin có thể được trao ức năng sử dụng trong ủa Bitcoin ị khởi tạo của giá trị băm ức năng sử dụng trong 0(i) là t trái nh t c aừ năm 2009 Bitcoin có thể được trao ấu trúc của hàm băm ủa Bitcoin giá

tr băm thị khởi tạo của giá trị băm ức năng sử dụng trong i

Kt h ng s s d ng cho vòng l p th t c a tính toánằng số sử dụng trong ố, ký hiệu và thuật ử dụng trong ụng của hàm băm ặc tính của hàm băm ức năng sử dụng trong ủa Bitcoin băm

k S s 0 thêm vào thông đi p M trong quá trình t oố, ký hiệu và thuật ố, ký hiệu và thuật ệm Blockchain ạt động của Bitcoin

thông

đi p chu nệm Blockchain ẩn bảo mật an toàn

l đ dài c a thông đi p M tính theoộng của Bitcoin ủa Bitcoin ệm Blockchain bit

m s bit trong 1ố, ký hiệu và thuật block

M(i) Block thức năng sử dụng trong i

Mj(i) t th j c a block th i, Mừ năm 2009 Bitcoin có thể được trao ức năng sử dụng trong ủa Bitcoin ức năng sử dụng trong 0(i) là t trái nh t c a blockừ năm 2009 Bitcoin có thể được trao ấu trúc của hàm băm ủa Bitcoin i

w s bit c a m tố, ký hiệu và thuật ủa Bitcoin ộng của Bitcoin từ năm 2009 Bitcoin có thể được trao

T w-bit t m th i s d ng trong tính toánạt động của Bitcoin ờng giao dịch chung gọi là thị trường toàn cầu ử dụng trong ụng của hàm băm băm

N s block c a thông đi pố, ký hiệu và thuật ủa Bitcoin ệm Blockchain chu nẩn bảo mật an toàn

Wt w-bit th t c a thông đi p li tức năng sử dụng trong ủa Bitcoin ệm Blockchain ệm Blockchain kê

2.2 Phép toán

Trang 19

^ phép toán end

+ phép c ng theo modulo 2ộng của Bitcoin w

<< phép d ch trái, đây x<<n có nghĩa là x đị khởi tạo của giá trị băm ởi tạo của giá trị băm ược sau khi thực hiện bămc d ch trái nị khởi tạo của giá trị bămbit

>> phép d ch ph i, x>>n có nghĩa là x đị khởi tạo của giá trị băm ảng kỹ thuật ược sau khi thực hiện bămc d ch ph i nị khởi tạo của giá trị băm ảng kỹ thuật bit

2.3 Chuy n đ i d ển đổi dữ ổi dữ ữ li u ệm Blockchain

M t s d ng hexa là m t m ng c a t p {0, 1, 2, … 9, a, b, …, f} M tộng của Bitcoin ố, ký hiệu và thuật ởi tạo của giá trị băm ạt động của Bitcoin ộng của Bitcoin ảng kỹ thuật ủa Bitcoin ật ộng của Bitcoin

s hex là s bi u di n c a chu i 4 bit Ví d s hex “7” là bi u di n c a 4ố, ký hiệu và thuật ực hiện băm ển đổi dữ ễu họ bởi nhiều thông tin hơn ủa Bitcoin ỗi khối) ụng của hàm băm ố, ký hiệu và thuật ển đổi dữ ễu họ bởi nhiều thông tin hơn ủa Bitcoinbit “0111”, s hex “a” là bi u di n c a chu i 4 bit “1010”.ố, ký hiệu và thuật ển đổi dữ ễu họ bởi nhiều thông tin hơn ủa Bitcoin ỗi khối)

M t t là chu i w-bit có th s d ng d ng hex Đ chuy n m t tộng của Bitcoin ừ năm 2009 Bitcoin có thể được trao ỗi khối) ển đổi dữ ử dụng trong ụng của hàm băm ởi tạo của giá trị băm ạt động của Bitcoin ển đổi dữ ển đổi dữ ộng của Bitcoin ừ năm 2009 Bitcoin có thể được traosang d ng s hex, m i chu i 4 bit đạt động của Bitcoin ố, ký hiệu và thuật ỗi khối) ỗi khối) ược sau khi thực hiện băm ương trìnhc t ng ng chuy n sang s hex Víức năng sử dụng trong ển đổi dữ ố, ký hiệu và thuật

d v i chu i 32 bit :ụng của hàm băm ới khởi chạy ố, ký hiệu và thuật

“1010 0001 0000 0011 1111 1110 0010 0011”

Được sau khi thực hiện bămc chuy n thành “a103fe23” dển đổi dữ ưới khởi chạy ạt động của Bitcoini d ng s hexố, ký hiệu và thuật

M t s nguyên có th động của Bitcoin ố, ký hiệu và thuật ển đổi dữ ược sau khi thực hiện bămc bi u di n b ng m t t ho c m t s t ển đổi dữ ễu họ bởi nhiều thông tin hơn ằng số sử dụng trong ộng của Bitcoin ừ năm 2009 Bitcoin có thể được trao ặc tính của hàm băm ộng của Bitcoin ố, ký hiệu và thuật ừ năm 2009 Bitcoin có thể được trao

M t s nguyên n m gi a 0 và 2ộng của Bitcoin ố, ký hiệu và thuật ằng số sử dụng trong ữ 32 – 1 có th bi u di n nh là chu i 32 bit.ển đổi dữ ển đổi dữ ễu họ bởi nhiều thông tin hơn ư ỗi khối)

Ví d s nguyên 291 = 256 + 32 + 2ụng của hàm băm ố, ký hiệu và thuật

+ 1 = 28 + 25 + 2 + 1 được sau khi thực hiện bămc bi u di n dển đổi dữ ễu họ bởi nhiều thông tin hơn ưới khởi chạy ạt động của Bitcoini d ng 32 bit là :

“0000 0000 0000 0000 0000 0001 0010 0011”

Và được sau khi thực hiện bămc bi u di n dển đổi dữ ễu họ bởi nhiều thông tin hơn ưới khởi chạy ạt động của Bitcoini d ng s hex là : “ 00000123”ố, ký hiệu và thuật

Ngày đăng: 14/08/2018, 13:53

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w