07/08/2019, 22:13

Bài 1. Blockchain là gì ? Bitcoin là gì ? Phân biệt Private Blockchain với Public Blockchain.

1. Blockchain là gì ? Cuộc cách mạng công nghiệp 4.0 ngày càng tác động mạnh mẽ đến xã hội của chúng ta, đây là một thời kỳ bùng nổ về công nghệ, nó thay đổi xoành xoạch, chỉ cần lười vài tháng thôi thì bạn đã trở thành một người lạc hậu rồi !!! Công nghệ phát triển kéo theo sự gia tăng tội phạm ...

1. Blockchain là gì ?

Cuộc cách mạng công nghiệp 4.0 ngày càng tác động mạnh mẽ đến xã hội của chúng ta, đây là một thời kỳ bùng nổ về công nghệ, nó thay đổi xoành xoạch, chỉ cần lười vài tháng thôi thì bạn đã trở thành một người lạc hậu rồi !!! Công nghệ phát triển kéo theo sự gia tăng tội phạm công nghệ ( những người này cực kỳ giỏi những rất tiếc họ lại không đi theo chính nghĩa ), họ thao túng dữ liệu, tạo ra thông tin mà mang lại lợi ích cho họ, nếu như không có blockchain thì thật khó để truy vết về thông tin đúng mà đã bị những người này sửa thành sai. Vì, mọi dữ liệu một khi được ghi vào blockchain thì sẽ không bao giờ bị thay đổi hay xóa bỏ, chính vì thế mà dù thông tin đã được update nhưng hành động update thông tin đó ( đóng vai trò là dữ liệu trong blockchain ) sẽ lưu lại vĩnh viễn trên blockchain, để khi phát hiện bất thường chúng ta có thể điều tra về sự thay đổi này.

1.1 Hàm băm

Hàm băm là một kiểu hàm mà với một tham số đầu vào nó sẽ mã hóa ra một chuỗi các ký tự không liên quan, nhìn vào rất khó hiểu nhưng nó lại xác định cho một tham số đầu vào duy nhất, nghĩa là băm chuỗi " a " sẽ ra kết quả cực khác với băm chuỗi " a' ". Hằm băm có tính một chiều, nghĩa là từ kết quả băm được ta không thể giải mã để tìm ra giá trị đầu vào là gì.

Thế nên, hăm băm có ý nghĩa trong việc kiểm tra xem liệu dữ liệu có giống nhau hay không mà không tiết lộ dữ liệu.

Ví dụ, A và B cùng giả một bài toán là 5 + 3 = ?. A giải ra được bằng 8, B giải ra được bằng 9, A quay sang hỏi B xem kết quả của B có giống mình không, nhưng cả hai lại đều không muốn nói ra kết quả của mình. Thế là cả hai thống nhất dùng hàm băm sha256() ( một hàm băm điển hình, mà với mọi tham số đầu vào dù dài ngắn đến đâu cũng sẽ cho ra một mã băm 64 ký tự ) để kiểm tra.

sha256(8) = 2C624232CDD221771294DFBB310ACA000A0DF6AC8B66B696D90EF06FDEFB64A3
sha256(9) = 19581E27DE7CED00FF1CE50B2047E7A567C76B1CBAEBABE5EF03F7C3017BB5B7

sau khi cả A và B băm kết quả của mình và đem 2 mã băm ra so sánh nếu hai mã băm giống nhau thì cả 2 đều tự hiểu là đối phương có cùng kết quả với mình, còn nếu khác nhau thì có ít nhất một người giải sai.             </div>
            
            <div class=

0