Blockchain

**Blockchain** (**chuỗi khối**), tên ban đầu **block chain** 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 sự 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ó.
## Tổng quan
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. Nhờ thế nên Blockchain có thể đạt được sự đồng thuận phân cấp. 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.

Blockchain lần đầu tiên được phát minh và thiết kế bởi Satoshi Nakamoto vào năm 2008 và được hiện thực hóa vào năm sau đó như là một phần cốt lõi của Bitcoin, khi công nghệ blockchain đóng vai trò như là một cuốn sổ cái cho tất cả các giao dịch. Qua việc sử dụng mạng lưới ngang hàng và một hệ thống dữ liệu phân cấp, Bitcoin blockchain được quản lý tự động. Việc phát minh ra blockchain cho Bitcoin đã làm cho nó trở thành loại tiền tệ kỹ thuật số đầu tiên giải quyết được vấn đề double spending (chi tiêu gian lận khi 1 lượng tiền được dùng 2 lần). Công nghệ này của Bitcoin đã trở thành nguồn cảm hứng cho một loạt các ứng dụng khác.

## Đặc điểm
Công nghệ **blockchain** tương đồng với cơ sở dữ liệu, chỉ khác ở việc tương tác với cơ sở dữ liệu. Để hiểu blockchain, cần nắm được năm định nghĩa sau: chuỗi khối (blockchain), cơ chế đồng thuận phân tán đồng đẳng (Distributed), tính toán tin cậy (trusted computing), hợp đồng thông minh (smart contracts) và bằng chứng công việc (proof of work). Mô hình tính toán này là nền tảng của việc tạo ra các ứng dụng phân tán.

### Cơ chế đồng thuận phân tán đồng đẳng (hay còn gọi là cơ chế đồng thuận phân quyền) (Distributed)
Cơ chế này ngược lại với mô hình cổ điển về cơ chế đồng thuận tập trung – nghĩa là khi một cơ sở dữ liệu tập trung được dùng để quản lý việc xác thực giao dịch. Một sơ đồ phân tán đồng đẳng chuyển giao quyền lực và sự tin tưởng cho một mạng lưới phân tán đồng đẳng và cho phép các nút của mạng lưới đó liên tục lưu trữ các giao dịch trên một khối (block) công cộng, tạo nên một chuỗi (chain) độc nhất: chuỗi khối (blockchain). Mỗi khối kế tiếp chứa một "hash" (một dấu tay độc nhất) của mã trước đó; vì thế, mã hóa (thông qua hàm hash) được sử dụng để bảo đảm tính xác thực của nguồn giao dịch và loại bỏ sự cần thiết phải có một trung gian tập trung. Sự kết hợp của mã hóa và công nghệ blockchain lại đảm bảo rằng sẽ không bao giờ một giao dịch được lưu trữ lại hai lần.

### Chuỗi khối (The blockchain) và dịch vụ chuỗi khối
Một chuỗi khối giống như một nơi để lưu trữ dữ liệu bán công cộng trong một không gian chứa hẹp (khối). Bất cứ ai cũng có thể xác nhận việc bạn nhập thông tin vào vì khối chứa có chữ ký của bạn, nhưng chỉ có bạn (hoặc một chương trình) có thể thay đổi được dữ liệu của khối đó vì chỉ có bạn cầm khóa bí mật cho dữ liệu đó.

Vì thế chuỗi khối hoạt động gần giống như một cơ sở dữ liệu, ngoại trừ một phần của thông tin được lưu trữ - header của nó là công khai.

Dữ liệu lưu trữ có thể là một giá trị hoặc một số dư tiền mã hóa. Một chuỗi khối hoạt động như một hệ thống lưu chuyển giá trị thay thế mà không một cá nhân hay tổ chức bên thứ ba nào có thể thay đổi được nó (vì quá trình lưu trữ dữ liệu đã được mã hóa). Nó dựa trên quyền công khai và bí mật, nhìn công khai nhưng kiểm soát bí mật.

### Hợp đồng thông minh (smart contracts) và tài sản thông minh
Hợp đồng thông minh là các khối để xây dựng nên các ứng dụng phi tập trung. Một hợp đồng thông minh tương đương với một chương trình nhỏ mà bạn có thể tin tưởng với một đơn vị giá trị và quản lý giá trị đó. Ý tưởng cơ bản đằng sau hợp đồng thông minh là sự quản lý bằng khế ước đối với một giao dịch giữa hai bên liên quan hay nhiều hơn có thể được xác minh theo thứ tự thông qua chuỗi khối, thay vì thông qua một trung gian cụ thể. Sao phải dựa vào một cá nhân hay tổ chức cụ thể trong khi hai hay nhiều bên tham gia có thể đồng thuận lẫn nhau, và khi họ có thể đưa ra các điều khoản và thực thi sự đồng thuận bằng chương trình và các điều kiện, tiền sẽ được chuyển tự động khi điều kiện được đáp ứng.

### Tính toán tin cậy (trusted computing)
Khi bạn kết hợp các nền tảng đằng sau mỗi chuỗi khối, cơ chế đồng thuận phi tập trung và hợp đồng thông minh, bạn sẽ nhận ra rằng chúng hỗ trợ cho việc truyền bá các nguồn lực và giao dịch trên một mặt phẳng theo một cách ngang hàng, và trong khi làm điều đó, chúng cho phép các máy tính tin tưởng lẫn nhau ở một mức độ sâu.

Vai trò của chuỗi khối là người xác nhận giao dịch minh bạch, mỗi khối ngang hàng có thể tiếp tục tin tưởng lẫn nhau tuân theo các quy luật tin tưởng tuyệt đối của công nghệ.

### Bằng chứng công việc (Proof of work)
Tại trung tâm của hoạt động chuỗi khối là khái niệm then chốt của "bằng chứng công việc", một phần tầm nhìn được tích hợp sẵn của Satoshi Nakamoto cho vai trò của chuỗi khối trong việc xác thực các giao dịch. Nó được biểu hiện là một rào cản lớn ngăn cản người dùng thay đổi dữ liệu trên chuỗi khối mà không sửa lại bằng chứng công việc.

Bằng chứng công việc là khối then chốt xây dựng nên blockchain vì nó không thể "sửa lại" và được bảo vệ thông qua sức mạnh của hàm hash mã hóa.

## Ứng dụng
### Những vấn đề còn tồn tại
Một trong những đặc điểm được quan tâm nhất của blockchain là tính phân tán đồng đẳng, nghĩa là không cần một trung tâm lưu trữ và đồng bộ trạng thái mạng lưới. Tuy nhiên hiện nay tính năng này hoạt động quá chậm chạp trong môi trường giao dịch của bitcoin.

Ví dụ không ít vụ việc hacker đã đánh vào các sàn giao dịch phi tập trung hoặc tập trung để đánh cắp bitcoin và số tiền của các nhà đầu tư.

Ngoài ra việc kỳ vọng bitcoin thay thế phương tiện thanh toán cổ điển đã gần như tan biến khi tốc độ giao dịch quá chậm so với việc dùng thẻ tín dụng thông thường.

Để đảm bảo tính minh bạch và đồng nhất thì dữ liệu tại mỗi điểm nút phải như nhau và nó làm cho việc lưu trữ trở nên bất khả thi đối với các thiết bị có bộ nhớ hạn chế.

## Tham khảo