Blockchain là gì? Blockchain là một công nghệ cho phép truyền tải dữ liệu một cách an toàn dựa vào hệ thống mã hóa vô cùng phức tạp, tương tự cuốn sổ cái kế toán của một công ty, nơi mà tiền mặt được giám sát chặt chẽ. Trong trường hợp này Blockchain là một cuốn s ổ cái kế toán hoạt động trong lĩnh vực k ỹ thuật số. Blockchain sở hữu tính năng vô cùng đặc biệt đó là việc truyền tải d ữ liệu không đòi hỏi một trung gian để xác nhận thông tin. Hệ thố ng Blockchain tồn tại rất nhiều nút độc lập có khả năng xác thực thông tin mà không đòi hỏi "dấu hiệu của niềm tin". Thông tin trong Blockchain không thể bị thay đổi và chỉ được bổ sung thêm khi có sự đồng thuận của tất cả các nút trong hệ thống. Đây là một hệ thống bảo mật an toàn cao trước khả năng bị đánh cắp dữ liệu. Ngay cả khi một phần của hệ thống Blockchain sụp đổ, những máy tính và các nút khác sẽ tiếp tục bảo vệ thông tin và gi ữ cho mạng lưới tiếp tục hoạt động. Bông nghệ Blockchain có thể nói là sự kết hợp giữa 3 loại công nghệ bên dưới: Mật mã học: Sử dụng public key và hàm hash function để đảm bảo tính minh bạch, Toàn vẹn và riêng tư. Mạng ngang hàng: Mỗi một nút trong mạng được xem như một client và cũng là server để lưu trữ bản sao ứng dụng. Lý thuyết trò chơi: Tất cả các nút tham gia vào hệ thống đều phải tuân thủ luật chơi đồng thuận (PoW, PoS.) và được thúc đẩy bởi động lực kinh tế. Trên góc độ business có th ể gọi là một sổ cái k ế toán, hay một cơ sở dữ liệu chứ a đựng tài sản, hay một c ấu trúc dữ liệu, mà dùng để ghi chép lại lịch sử tài sản giữa các thành viên trong hệ thống mạng ngang hàng. Trên góc độ k ỹ thuật đó là một phương thức b ất biến để lưu trữ lịch sử các giao dịch tài sản. Trên góc độ xã hội đó là một hiện tượng, mà dùng để thiết lập niềm tin bằng quy tắ c đồng thuận giữa các thành viên trong một hệ thống phân cấp. Ý tưởng ra đời của Blockchain Bắt nguồn từ bài toán Các vị tướng Byzantine (Byzantine Generals) trong ngành khoa học máy tính và x ử lý đường truyền tin cậ y trong một hệ thống phân cấp. Nội dung bài toán mô tả: Một đạo quân đi chiếm thành và các vị tướng nằm ở nhiều vị trí khác nhau. Trong đó có N tướng trung thành mu ốn chiếm thành và M tuớng phản bội muốn rút binh, một tướng phản bội truyền tin cho một nhóm là t ấn công và truyền tin cho nhóm khác là rút binh. Vậy làm sao để các tướng có th ể nhất quán thông tin và cùng nhau chi ếm thành? Chỉ cần một sơ xuất trong việc truyền tin có thể khiến cả đạo quân có thể bị tiêu diệt. Nếu đồng loạt tấn công vào thành thì sẽ chiến thắng, bằng không t ất cả sẽ bị tiêu diệt. Bài toán Các vị tướng Byzantine này vẫn chưa ai có thể đưa ra lời giải. Do đó chúng ta cần phải có một bên thứ ba để xây dựng lòng tin. Ví d ụ như trong bài toán trên, c ần có một bên thứ ba đứng ra làm thỏa thuận để các tướng lĩnh ký tên vào, n ếu vị tướng nào làm trái thỏa thuận sẽ bị trừng ph ạt. Bên th ứ ba đ ảm bảo cho vi ệc chiếm thành của các vị tướng là đồng loạt, bởi vì các tướng có thể không tin nhau nhưng bắt buộc phải tin tưởng tuyệt đối vào bên thứ ba này. Đây là ý tưởng mở đầu cho một hệ thống Blockchain có thể giúp các vị tướng tin tưởng nhau hơn. Sau cuộc khủng ho ảng tài chính n ăm 2008, h ệ thống tài chính M ỹ sụp đ ổ hoàn toàn khiến người dân đánh mất niềm tin vào đồng tiền của một bên thứ ba đáng tin cậy. Ý tưởng về Bitcoin – một đồng tiền phân cấp ngang hàng trên mạng máy tính l ần đầu tiên được Satoshi Nakamoto đưa ra, cũng là ứng dụng đầu tiên của Blockchain. Một ví dụ khác, Bitcoin Vietnam News đặt cược 50 USD vào thời tiết ngày mai tại San Francisco. Chúng tôi cá là tr ời sẽ nắng, còn bạn cho rằng trời sẽ mưa. Như vậy tại thời điểm hiện tại chúng ta có ba phương án để thực hiện giao kết này: Chúng ta có thể tin tưởng vào nhau. K ết quả là trời mưa ho ặc n ắng, thì người thua cuộc sẽ tặng 50 đô la cho người chiến thắng. Nế u chúng ta là bạn, đây có thể là một phương thức phù hợp để thực hiện giao kết này. Tuy nhiên với những người xa lạ, rất có thể người thua sẽ chối bỏ trách nhiệm và không trả tiền cho người đoán đúng. Chúng ta có thể đưa giao k ết này thành hợp đồng. Với một hợp đồng được ký kết thì sẽ dễ dàng để buộc người thua cuộc phải thực hiện trách nhiệm thanh toán của mình cho người thắng tuy nhiên nếu có một ai đó quyết định không trả tiền, người chiến thắng s ẽ phải trả thêm ti ền để trang trải các chi phí pháp lý và để có được các phán quyết có lợi từ tòa án điề u này có th ể mất nhiều thời gian. Đ ặc bi ệt đối với một lượng tiền mặt khá nhỏ như trong giao kèo này, điều này dường như không phải là cách hữu hiệu để quản lý giao kết này. Chúng ta có thể viện dẫn một bên liên quan đóng vai trò là một bên thứ ba trung lập làm trung gian. Mỗi người trong chúng ta sẽ gửi trước 50 đô la cho bên thứ ba này, sau đó họ sẽ đưa tổng s ố tiền cho người chiến thắng. Tuy nhiên lúc này ni ềm tin lại được đặt vào vai trò của người thứ ba, họ có thể bỏ trốn với tất cả số tiền đó. Vì vậ y, thông thường các giao k ết như v ậ y s ẽ được thực hiện với một trong hai phương án đầu. Tuy vậy giao k ết dựa vào niềm tin và dựa vào hợp đồng vẫn chưa phải là gi ải pháp tối ưu. Công ngh ệ Blockchain rất thú vị vì nó cung c ấp cho chúng ta một phương án mà không cần tin tưởng vào bên thứ ba, vô cùng nhanh chóng và rẻ tiền. Blockchain cho phép chúng ta soạn thảo các đoạn mã để tạo ra một chương trình chạy trên blockchain, và khi đó cả hai bên cùng gửi 50 đô la. Chương trình này sẽ giữ 100 đô là an toàn và sẽ kiểm tra thời tiết vào ngày hôm sau một cách tự động dựa vào một số nguồn dữ liệu. Và theo đó tùy theo k ết quả là trời nắng hoặc mưa, nó sẽ tự động chuyển toàn bộ số tiền cho người chiến thắng. M ỗi bên tham gia có thể ki ểm tra tính logic của hợp đồng và khi nó đã được đưa lên trên blockchain và thực thi thì nó không thể thay đổi ho ặc dừng lại được. Mục tiêu của ví dụ này để giải thích nguyên lý mà Blockchain hoạt độ ng với những ngôn từ đơn giản tránh đi sâu vào chi tiết k ỹ thuật và cố gắng truyền tải cho bạn một khái niệm chung về tính logic và cơ ch ế ngầm định sâu xa của nó. Nguyên lý hoạt động của Blockchain Bitcoin: Ứng dụng Blockchain đầu tiên Ứng dụng đượ c biết đến và thảo luận nhiều nhất về công nghệ Blockchain chính là đồng tiền điện tử Bitcoin. Hiện nay đồng tiền điện tử này có thể được s ử d ụng để trao đổi các sản phẩm và dịch vụ, giống như đồng đô la Mỹ (USD), Euro (EUR), đồng nhân dân tệ Trung Quốc (CNY) và các loại tiền tệ của các quốc gia khác. Do vậ y chúng ta sẽ tạm lấ y đồng tiền này làm đại diện để nói về nguyên lý ho ạt động của công nghệ Blockchain. "Bitcoin thực sự là ứng d ụng đầu tiên của công nghệ blockchain cho phép chúng ta có thể gửi một tài sản dạng điện tử số thông qua mạng internet tới một người dùng khác trên mạng Internet, bên cạnh đó giao dịch này được đảm bảo an toàn và bảo mật, mọi người đều biết rằng việc chuyển tiền này đã diễn ra và không ai có thể xen vào và can thiệp hay sửa đổi quá trình này," theo Marc Andreessen. Bitcoin là một đơn vị tiền tệ k ỹ thuật số với mã là BTC, cũng giống như đô la M ỹ bản thân nó không mang giá trị, nó chỉ có giá trị bởi vì có một cộng đồng đồng ý sử dụng nó làm đơn vị giao dịch hàng hóa và dịch vụ. Để theo dõi số lượng Bitcoin mà mỗi người sở hữu trong các tài khoản nhất định và theo dõi các giao dịch phát sinh t ừ đó thì chúng ta cần đến một cuốn sổ kế toán, trong trường hợp này nó chính là blockchain và đây th ực tế là một tệp k ỹ thu ật số theo dõi tất cả các giao dịch Bitcoin. Tệp sổ cái này không được lưu trữ trong một máy chủ trung tâm, như trong một ngân hàng hoặc trong một trung tâm dữ liệu mà ngược lại nó được phân phối trên toàn thế giới thông qua một mạng lưới các máy tính ngang hàng với vai trò lưu trữ dữ liệu và thực thi các tính toán. Mỗi máy tính 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. Nếu David muốn gửi Bitcoin cho Sandra, anh ta sẽ phát một thông báo tới mạng lưới và cho biết số lượng Bitcoin trong tài khoản của mình sẽ giảm 5 BTC và số lượng Bitcoin trong tài khoản c ủa Sandra sẽ tăng lên tương ứng. Mỗi nút trong mạng sau đó sẽ nhận được thông báo này và ánh sạ giao dịch được yêu cầu vào bản sao sổ cái kế toán của họ, và theo đó số dư tài khoản của cả hai bên đều được cập nhật. Nguyên lý mã hóa của Blockchain Thực tế là sổ k ế toán luôn được duy trì bởi một nhóm các máy tính được k ết nối trong mạng ngang hàng thay vì vi ệc dựa vào một thực thể tập trung như một ngân hàng đóng vai trò trung gian. Với đặc tính k ỹ thuật như vậy nó sẽ có một số khác biệt: Trong khi trong hệ thống ngân hàng của chúng ta, chúng ta chỉ biết các giao d ịch và số dư tài khoản của riêng mình thì trên blockchain của bitcoin m ọi ngư ời đều có thể xem các giao dịch của tất c ả mọi người. Trong khi b ạn phải đặt niềm tin vào ngân hàng của bạn thì mạng lưới Bitcoin là mạng lưới phân tán không có bên thứ ba đóng vai trò trung gian xử lý giao dịch. Hệ thống blockchain được thiết kế theo cách không yêu cầu sự tin cậy và bảo đảm bởi độ tin cậy có được thông qua các hàm mã hóa toán học đặc biệt. "Chúng tôi có thể định nghĩa blockchain như một hệ thống cho phép m ột nhóm các máy tính duy trì kết nối với một cuốn sổ cái được cập nhật và bảo mật. Để có thể thực hiện các giao dịch trên blockchain, bạn cần một ví tiền điện tử, đây là một chương trình phần mềm sẽ cho phép bạn lưu trữ và trao đổi các đồng Bitcoin của bạn. Vì chỉ có bạn mới có thể chi tiêu các đồng Bitcoin của mình do vậ y mỗi chiếc ví tiền điện tử này được bả o vệ bằng một phương pháp mã hóa đặc biệt sử dụng một cặp khóa bảo mật duy nhất: K hóa riêng tư (private key) và khóa công khai (public key). Nếu một thông điệp đượ c mã hóa b ằng một khóa công khai cụ thể thì chỉ chủ sở hữu của khóa riêng tư là một cặp với khóa công khai này mới có thể giải mã và đọc nội dung thông điệp. Khi David mu ốn gửi Bitcoin, anh ta cần phát một thông điệp được mã hóa bằng khóa riêng của ví điện tử của mình, vì th ế anh ta chỉ có thể dùng Bitcoin mà anh ta sở hữu vì David là người duy nhất biết khóa riêng tư của anh c ần thiết để mở ví điện tử của mình. Mỗi nút trong mạng có thể kiểm tra chéo các yêu cầu giao dịch được gửi từ David là chính xác hay không b ằng cách giải mã thông điệp yêu cầu giao dịch b ằng khóa công khai của David. Khi mã hóa một yêu c ầu giao dịch bằng khóa riêng tư từ ví của bạn tức là bạn đang tạo ra một chữ ký điện tử được các máy tính trong mạng lưới blockchain sử dụng để kiểm tra chủ thể gửi và tính xác thực của giao dịch. Chữ ký này là một chuỗi văn bản và nó là k ết quả của việc kết hợp yêu cầu giao dịch và khóa riêng tư của bạn. Nếu bạn thay đổi một ký tự đơn trong thông điệp yêu cầu giao dịch này thì chữ ký điện tử sẽ thay đổi theo vì vậy không có kẻ tấn công tiềm tàng nào có th ể thay đổi yêu c ầu giao dịch của bạn hoặc thay đổi sốlượng Bitcoin mà b ạn đang gửi. Để gửi bitcoin, bạn cần chứng minh rằng bạn sở hữu khóa riêng tư của một chiếc ví điện tử cụ thể bởi bạn cần sử dụng nó để mã hóa thông điệp yêu cầu giao dịch. Và một khi bạn đã gửi tin nhắn đi sau khi nó đã được mã hóa thì bạn không bao giờ cần phải tiết lộ khóa riêng tư của bạn. Quy tắc của sổ cái Mỗi nút trong blockchain đều đang lưu giữ một bản sao của sổ kế toán. Do vậy mỗi nút đều biết số dư tài khoản của bạn là bao nhiêu. Hệ thống blockchain không hề theo dõi số dư tài khoản mà nó chỉ ghi lại mỗi giao dịch được yêu c ầu. Sổ cái trên thực tế không theo dõi sốdư, nó chỉ theo dõi mọi giao dịch được phát đi trong mạng lưới Bitcoin. Để bit sốdư trên ví điện tử của bạn, b ạn cần xác thực và xác nhận tất cả các giao dịch đã diễn ra trên mạng lưới mà có liên quan tới ví điện tử của bạn.