Nguyên lý hoạt động và mã hóa của Blockchain

Trong bài viết trước, tôi đã giải thích một cách dễ hiểu về cách công nghệ Blockchain hoạt động như thế nào. Để đi sâu hơn vào cốt lõi của công nghệ này, chúng ta sẽ cùng nhau tìm hiểu về nguyên lý hoạt động cũng như nguyên lý mã hóa của Blockchain.

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 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.
- 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 Dũng muốn gửi Bitcoin cho Thảo, 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 Thảo 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ã hoá 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: khó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 Dũng 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ì Dũng 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ừ Dũng 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 Dũng.

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.

Sử dụng quy trình một chiều - được gọi là hàm băm (hash function) - khóa công khai tạo ra một phiên bản ngắn hơn của chính nó: ví tiền điện tử.

Để 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. Để biết 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.

Sổ cái ledger

Việc xác minh “số dư” này được thực hiện nhờ các tính toán dựa vào liên kết đến các giao dịch trước đó. Để gửi 10 bitcoin cho Thảo, Dũng phải tạo yêu cầu giao dịch bao gồm các liên kết đến các giao dịch đã diễn ra trước đó với tổng số dư bằng hoặc vượt quá 10 bitcoin. Các liên kết này được xem như là giá trị đầu vào, các nút trong mạng lưới sẽ xác minh xem tổng số tiền của các giao dịch này bằng hoặc vượt quá 10 bitcoin không. Tất cả điều này được thực hiện tự động trong ví điện tử của Mary và được kiểm tra bởi các nút trên mạng lưới Bitcoin, Dũng chỉ gửi một giao dịch 10 BTC tới ví của John bằng khóa công khai của Thảo.

Mô tả giao dịch trên Blockchain

Như vậy có một câu hỏi được đặt ra đó là làm thế nào hệ thống có thể tin tưởng các giao dịch đầu vào này và xác thực tính hợp lệ của chúng? Thực tế là các nút sẽ kiểm tra tất cả các giao dịch trước đó có liên quan đến ví tiền điện tử bạn sử dụng để gửi Bitcoin thông qua các tham chiếu lịch sử giao dịch. Để đơn giản hóa và tăng tốc quá trình xác minh, một bản ghi đặc biệt sẽ lưu trữ số Bitcoin chưa được dùng sẽ được các nút mạng lưu giữ. Nhờ cơ chế kiểm tra này nên các ví tiền điện tử tránh được tình trạng lặp chi trong giao dịch.

Như vậy sở hữu Bitcoin có nghĩa là có các giao dịch được lưu trong sổ kế toán liên hệ đến địa chỉ ví của bạn mà chưa được sử dụng làm giao dịch đầu vào.

Tất cả mã nguồn để thực hiện các giao dịch trên mạng lưới Bitcoin đều là nguồn mở, điều này có nghĩa là bất kỳ ai có máy tính xách tay và kết nối internet đều có thể tham gia vào mạng lưới và thực hiện giao dịch.

Tuy nhiên, nếu có bất kỳ lỗi lầm nào trong mã nguồn được sử dụng để phát thông báo yêu cầu giao dịch, các Bitcoin liên quan sẽ bị mất vĩnh viễn. Hãy nhớ rằng các mạng lưới này là mạng phân tán nên không có bộ phận hỗ trợ khách hàng hoặc không hề có bất cứ ai có thể giúp bạn khôi phục lại một giao dịch bị mất hoặc quên mật khẩu ví tiền điện tử của bạn.

Vì lý do này, nếu bạn quan tâm đến giao dịch trên mạng lưới Bitcoin, bạn nên lưu trữ mật khẩu hoặc khóa riêng tư ví của bạn thật cẩn thận và an toàn.

Đừng quên đăng ký Otis Report - Nơi cung cấp và cập nhật nhanh nhất mọi thông tin vĩ mô và phương pháp đầu tư tăng trưởng với giá trị vượt thời gian.

Hãy đăng ký và tham gia các nhóm, channel của Otis Report dưới đây để được thảo luận cùng các chuyên gia và nhiều Otiser khác:

Bạn đã đăng ký thành công Otis Report
Xác minh thành công! Giờ đây, bạn đã có toàn quyền truy cập vào tất cả nội dung cao cấp của Otis Report.
Lỗi! Không thể đăng ký. Liên kết không hợp lệ.
Chào mừng trở lại! Bạn đã đăng nhập thành công.
Lỗi! Không thể đăng nhập. Vui lòng thử lại.
Thành công! Tài khoản của bạn đã được kích hoạt hoàn toàn, bây giờ bạn có quyền truy cập vào tất cả nội dung.
Lỗi! Kiểm tra Stripe thất bại.
Thành công! Thông tin thanh toán của bạn đã được cập nhật.
Lỗi! Cập nhật thông tin thanh toán không thành công.