Blockchain là gì, lịch sử của Blockchain?
Quay lại những ngày đầu tiên, các nhà nghiên cứu Stuart Haber và W. Scott Stornetta đã nghiên cứu và giới thiệu một giải pháp thực tế về mặt tính toán để đánh dấu thời gian các văn bản số, các tài liệu, nhằm giúp các văn bản này trở nên bất biến và không thể can thiệp vào.
Hệ thống đã sử dụng một chuỗi gồm các khối được bảo mật bằng mật mã để lưu trữ các văn bản và chúng được đánh dấu thời gian. Sau đó vài năm, vào 1992, công nghệ Merkle Tree (xây dựng cây nhị phân từ một hàm băm_hash) đã được tích hợp vào thiết kế và khiến các khối này trở nên hiệu quả hơn bằng cách cho phép một khối có thể tập hợp một vài văn bản. Tuy nhiên, công nghệ này đã không được sử dụng, bằng sáng chế của phát minh này dần bị lãng quên và hết hạn vào năm 2004, trước khi Bitcoin ra đời vào năm 2008.
Sau nhiều năm, qua nhiều cải tiến, BlockChain ngày càng được biết đến rộng rãi hơn và vào cuối năm 2008, cuốn sách trắng giới thiệu về hệ thống tiền mặt điện tử mạng ngang hàng, phi tập trung – tên là Bitcoin – đã được đăng trên danh sách nhận thư về mật mã học bởi một người hoặc tổ chức lấy biệt danh là Satoshi Nakamoto và dựa trên thuật toán Proof of Work Hashcash, đây cũng là bước thử nghiệm ban đầu và cũng là bước tiến quan trọng, đánh dấu sự hình thành của BlockChain
Mỗi khối dữ liệu này được bảo mật và ràng buộc với nhau bằng các nguyên tắc mã hóa gọi là chuỗi. Vì vậy blockchain còn được gọi là chuỗi khối.
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 cao. 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 trong bối cảnh hiện tại khi dữ liệu rất dễ bị thay đổi.
Blockchain hoạt động như thế nào?
Có lẽ công nghệ Blockchain chính là phát minh ưu việt nhất từ chính Internet cho tới thời điểm này. Tuy nhiên giải thích sâu về vấn đề này sẽ rất khó hiểu, ta sẽ lấy một ví dụ điển hình như sau:
Giả sử Tín và Hùng đang thực hiện một sự cá cược với giá trị 500.000 VNĐ, Tín đoán trong trận bóng ngày mai, đội tuyển Việt Nam sẽ thắng và Hùng đoán ngày mai đội tuyển Trung Quốc sẽ thắng. Vậy hôm nay giữa Tín và Hùng sẽ có ba tùy chọn để quản lý giao dịch này.
- Tín và Hùng chọn tin tưởng lẫn nhau. Dù kết quả trận đấu ra sao, người thua cược sẽ phải trải 500.000 VNĐ cho người thắng, giữa Tín và Hùng hoàn toàn tin tưởng nhau vì họ là bạn bè. Tuy nhiên rủi ro vẫn có thể xảy ra khi người thua đột nhiên cảm thấy thiếu chứng cứ để xác minh việc đặt cược này và họ quyết định không trả tiền cho người thắng để dành số tiền này đi làm việc khác.
- Tín và Hùng chọn ký một bản hợp đồng (hay cam kết). Với một hợp đồng tại chỗ, cả hai bên sẽ dễ phải trả tiền hơn, tuy nhiên, nếu một trong hai người quyết định không trả, người thắng cuộc sẽ phải chi thêm một số tiền không nhỏ để nhờ các cơ quan thực thi pháp lý vào cuộc, và số tiền này có thể còn lớn hơn bội lần so với 500.000 VNĐ mà Tín cược với Hùng. Vì vậy, đây cũng không phải giải pháp tối ưu, mất thời gian và mất thêm tiền phí dịch vụ.
- Tìn và Hùng chọn nhờ đến một bên thứ ba. Tín và Hùng mỗi người đưa 500.000 VNĐ cho bạn Hải, Hải sẽ đưa hết số tiền này cho người chiến thắng vào ngày mai, tuy nhiên bạn Hải hoàn toàn có thể bị một trong hai bạn mua chuộc và trong trường hợp xấu hơn, bạn Hải có thể cầm hết số tiền này và trốn đi mất. Như vậy đây cũng không phải một giải pháp tối ưu
Cả sự tin tưởng và hợp đồng đều không phải là giải pháp tối ưu. Chúng ta không thể tin tưởng vào người lạ để thực thi hợp đồng đòi hỏi thời gian và tiền bạc. Chính vì vậy, sự ra đời của công nghệ blockchain cung cấp cho chúng ta lựa chọn thứ ba, an toàn, nhanh chóng và rẻ tiền.
Blockchain cho phép viết một vài dòng code, chương trình chạy trên blockchain, Tín và Hùng gửi 500.000 VNĐ vào đó và công nghệ này thu thập dòng lệnh cũng như số tiền để tạo thành một khối (Block) dữ liệu. Chương trình sẽ giữ số tiền này an toàn và nó sẽ kiểm tra kết quả trận đấu ngày mai một cách tự động trên nhiều nguồn dữ liệu. Sau đó dựa vào dòng code được lập trình sẵn ở trên, nó sẽ gửi số tiền này về cho Tín nếu Việt Nam thắng và cho Hùng nếu Việt Nam thua. Nghe có vẻ quá rờm rà đối với một hoạt động cá cược bình thường với một số tiền quá nhỏ, nhưng nếu Tín và Hùng là 2 công ty đang thực hiện hoạt động giao dịch lên đến nhiều tỷ đồng, mọi chuyện sẽ khác, và Blockchain là cần thiết.
Một khối muốn thêm vào BlockChain phải được sự đồng thuận của tất cả các nút, nếu được chấp nhận thì block này sẽ được mã hóa bằng một thuật toán đào_thuật toán chủ đạo để mã hóa dữ liệu của blockchain, điển hình là thuật toán SHA-256 của BitCoin
Trong hình trên, ta thấy ngoài những thông tin cơ bản thì khối còn chứa thêm một mã SHA-256 của khối trước nó, tạo thành một chuỗi liên kết chặt chẽ với nhau, chỉ cần thay đổi dữ liệu của 1 block sẽ làm thay đổi tất cả các block về sau
Mở rộng vấn đề, khi Tín và Hùng sau đó tiếp tục cược thêm nhiều lần khác, thì tất cả dữ liệu về thời gian cá cược, tiền cược, người thắng, người thua,... sẽ lần lượt được tạo thành một block và tiếp tục được nối vào BlockChain. Chuỗi các dữ liệu này được gọi là một sổ cái lưu dữ liệu, nó không được lưu giữ bởi riêng bất kỳ ai , thay vào đó nó được phân phối cho mọi người trong mạng lưới và trường hợp này là Tín và Hùng. Mỗi người này đại diện cho một “nút” của mạng lưới Blockchain và mỗi nút đều có một bản sao của tệp sổ cái này.
Vì sao Blockchain nghe giống như option lựa chọn một bên thứ ba nhằm quản lý số tiền cược, nhưng thực chất nó lại bảo mật và đáng tin cậy tuyệt đối, hãy cùng tìm hiểu các đặc điểm chính của nó.
Các đặc điểm chính của Blockchain
- Không thể giải mã: các khối BlockChain được mã hóa theo một thuật toán gọi là Hàm Băm (Hash), nó là một chuỗi các ký tự số và chữ cái (hiện tại độ dài của chuỗi này đã có thể lên đến 256 ký tự), với mỗi dữ liệu đầu vào khác nhau sẽ cho ra một mã băm khác nhau, nếu dữ liệu đầu vào thay đổi đi một phần nhỏ thì cũng đủ khiến mã băm này thay đổi gần như hoàn toàn. Chính vì vậy, theo như lý thuyết thì chỉ có máy tính lượng tử mới có thể giải mã các khối Blockchain và công nghệ Blockchain biến mất khi không còn Internet trên toàn cầu.
- Bất biến: dữ liệu trong Blockchain không thể sửa, nếu sửa sẽ để lại dấu vết cho biết rằng nội dung đã bị sửa. Ví dụ:
- Ban đầu ông A sở hữu một mảnh đất, dữ liệu này được lưu vào trong một block của blockchain
- Sau đó, ông A bán miếng đất này cho bà B, vì vậy tính từ thời điểm này trở đi, miếng đất sẽ là của bà B. Một block mới được thêm vào và để lại dấu vết cho biết rằng dữ liệu được chỉnh sửa từ thời điểm này
- Vì vậy, sau này nếu giữa ông A và bà B có tranh chấp, ta chỉ cần xem lại dữ liệu của blockchain từ đầu đến cuối để đưa ra kết luận cuối cùng
- Bảo mật: Các thông tin, dữ liệu trong Blockchain được phân tán và an toàn tuyệt đối. "Phân tán" ở đây như đã nói bên trên, dữ liệu sẽ được lưu cho mọi "nút" của mạng lưới Blockchain. Ai cũng có thể theo dõi dữ liệu Blockchain đi từ địa chỉ này tới địa chỉ khác và có thể thống kê toàn bộ lịch sử trên địa chỉ đó.
- Hợp đồng Thông minh: là hợp đồng kỹ thuật số được nhúng vào đoạn code if-this-then-that (IFTTT), cho phép chúng tự thực thi mà không cần bên thứ ba. Trong ví dụ cá cược giữa Tín và Hùng, có thể miêu tả một cách đơn giản và hình tượng đoạn code đó như sau
IF (VietNam.isWin) [Tin+=50k Hung-=50k]
ELSE [Tin-=50k Hung+=50k]
Các cơ chế bảo mật
Blockchain sử dụng cơ chế đồng thuận rất đặc trưng, bạn có thể hiểu như cách mà tất cả mọi người trong mạng lưới blockchain cùng đồng ý cho một giao dịch xảy ra. Dưới đây là các loại cơ chế đồng thuận phổ biến trong blockchain:
- Proof of Work (Bằng chứng Công việc): Quay lại ví dụ cá cược giữa Tín và Hùng, giả sử cho đến hiện tại hai bên đã cá cược với nhau được 10 lần và tạo thành 10 block trong chuỗi, nhưng Hùng lại chỉnh sửa Block thứ 3, điều này dẫn đến tất cả mã băm của block thứ 3 trở về sau bị thay đổi hoàn toàn và sổ cái của Hùng cho đến hiện tại chỉ còn 2 block. Ta nhận thấy giữa sổ cái của Tín và Hùng, Tín sẽ có độ tin cậy cao hơn.
- Mở rộng vấn đề, lấy ví dụ là một giao dịch ở BitCoin của Tín và Hùng, khi Tín gửi cho Hùng 1 bitcoin, Tín phát đi một thông điệp tới tất cả nút trong mạng rằng cô muốn thực hiện giao dịch. Mỗi nút có bản sao blockchain riêng trên máy tính của họ và blockchain nào có chứa nhiều công việc tính toán nhất, chính là blockchain dài nhất, sẽ được mọi người tin tưởng. Nếu một người thay đổi một giao dịch trong một khối trước đó, đầu ra hash cho khối đó sẽ thay đổi, dẫn đến tất cả các hash kế sau đó cũng thay đổi do các khối được liên kết với các hash. Người này sẽ phải làm lại tất cả các công việc để mọi người chấp nhận blockchain của anh ta, "công việc" ở đây hiểu một cách đơn giản là đoán mã hash hợp lệ. Vì vậy, nếu một người muốn gian lận, anh ta sẽ cần nhiều hơn 50% sức mạnh điện toán của mạng lưới, điều gần như bất khả thi.
Đây là cơ chế đồng thuận phổ biến nhất, được dùng trong Bitcoin, Ethereum, Litecoin, Dogecoin và hầu hết các loại tiền mã hoá. Đây là cơ chế đồng thuận tiêu tốn khá nhiều điện năng. Ngoài ra thì chúng ta còn có một số cở chế sau mà các bạn có thể tham khảo
- Proof of Stake (Bằng chứng Cổ phần): Đây là cơ chế đồng thuận phổ biến trong Decred, Peercoin và trong tương lai là Ethereum và nhiều loại tiền mã hoá khác. Cơ chế đồng thuận này phân cấp hơn, tiêu hao ít năng lượng và không dễ gì bị đe doạ.
- Proof-of-Weight (Bằng chứng Khối lượng /Càng lớn càng tốt): Đây là cơ chế đồng thuận phổ biến trong Algorand, Filecoin. Cơ chế đồng thuận này có thể tuỳ chỉnh và khả năng mở rộng tốt. Tuy nhiên quá trình thúc đẩy việc phát triển sẽ là một thử thách lớn.
- Directed Acyclic Graphs (Thuật toán tô pô): Đây là cơ chế đồng thuận thường thấy trong Iota (công nghệ Tangle), Hashgraph, Raiblocks/Nano (công nghệ Block-lattice), là một đối thủ của Blockchain.
Tổng Kết
Blockchain là hệ thống công khai không cần đến sự cho phép, có nghĩa là không có quy trình xác thực phải trải qua trước khi bạn có thể trở thành người tham gia. Lấy ví dụ với Bitcoin và các loại tiền điện tử khác, người dùng chỉ cần tải xuống phần mềm nguồn mở để tham gia mạng.
Hiện tại thì các ứng dụng phổ biến nhất của chúng nằm trong các giao dịch tài chính, nhưng Blockchain đang có xú hướng phát triển để áp dungh vào nhiều lĩnh vực khác mà ở đó chúng có thể được triển khai để trở thành các công cụ hữu ích trong tương lai.
Trên đây là bài viết theo kiến thức của mình, một số nguồn chính thức trên mạng cũng như nhiều thông tin hữu ích xung quanh công nghệ ưu việt này. Bài viết này đã tổng hợp từ nhiều nguồn tin cậy, hi vọng sẽ mang đến thông tin hữu ích và dễ hiểu nhất và qua đây các bạn cũng có thể biết thêm được phần nào về công nghệ này.
Theo: toiyeubitcoin.com,nef.vn,itviec.com,blockgeeks.com,investopedia.com,blockchain.com.