Blockchain là một danh sách ngày càng tăng của các bản ghi, được gọi là các khối, được liên kết bằng cách sử dụng mật mã. Mỗi khối chứa một hàm băm mật mã của khối trước đó, dấu thời gian và dữ liệu giao dịch. Những ngày này, Blockchain đã gây được tiếng vang lớn. Và điều đó chủ yếu là do nó là xương sống của loại tiền điện tử rất nổi tiếng trên thế giới – Bitcoin. Nhiều Chính phủ và các Ngân hàng hàng đầu đã quyết định đưa nhiều giao dịch thông thường của họ dựa trên khái niệm Blockchain. Các ứng dụng và tiềm năng của khuôn khổ này là rất lớn và được coi là sẽ thay đổi cách thức thực hiện các giao dịch trong các lĩnh vực khác nhau
Hướng dẫn này đã được chuẩn bị cho các chuyên gia mong muốn tìm hiểu những điều cơ bản về Blockchain. Chúng tôi đã cố gắng giải thích các khái niệm Blockchain thông qua Tiền điện tử Bitcoin. Khóa học này sẽ cung cấp cho bạn sự hiểu biết tuyệt vời cho sinh viên và các chuyên gia mong muốn tạo dựng sự nghiệp trong công nghệ Blockchain.
Công nghệ blockchain, động lực đằng sau tiền điện tử, Bitcoin. Bạn sẽ tìm hiểu các khía cạnh khác nhau của mật mã, quá trình tạo và liên kết các Khối, Mạng & Khai thác và nhiều khái niệm khác liên quan đến công nghệ blockchain bao gồm thiết kế mạng blockchain.
Blockchain – Giới thiệu
Trong những năm gần đây, có rất nhiều tiếng vang về Blockchain. Nhiều người đã mô tả đây là một công nghệ đột phá nhất trong thập kỷ. Đặc biệt, thị trường tài chính có thể bị ảnh hưởng nhiều nhất.
Công nghệ này đang được điều chỉnh cho nhiều ngành dọc như Chăm sóc sức khỏe, Thuốc men, Bảo hiểm, Tài sản Thông minh, Xe ô tô và thậm chí cả Chính phủ.
Tuy nhiên, cho đến nay việc triển khai thành công nhất của Blockchain là Bitcoin – Hệ thống tiền mặt điện tử ngang hàng, tình cờ cũng là ứng dụng đầu tiên của công nghệ blockchain. Do đó, để hiểu công nghệ blockchain, tốt nhất là hiểu cách Hệ thống Bitcoin được thiết kế và triển khai.
Trong bài viết này, bạn sẽ tìm hiểu Blockchain là gì, kiến trúc của nó, cách nó được triển khai và các tính năng khác nhau của nó. Tôi sẽ trang web triển khai Bitcoin trong khi mô tả sự phức tạp của blockchain. Kiến trúc blockchain không quá tầm thường và nhiều người đã viết các bài báo hay, hướng dẫn bao gồm một số video. Đối tượng này bao gồm từ Người mới làm quen đến Người chuyên nghiệp. Trong hướng dẫn này, tôi sẽ tập trung vào sự hiểu biết khái niệm về kiến trúc blockchain, lưu ý cả Người mới và Người chuyên nghiệp. Trước khi đi sâu vào blockchain, điều quan trọng là phải biết tại sao nhu cầu về công nghệ mới này lại xuất hiện? Câu trả lời cho câu hỏi này nằm trong cái được gọi là Nhân đôi – Chi tiêu
Blockchain – Chi tiêu gấp đôi
Hãy xem xét một tình huống được hiển thị trong hình ảnh
Như đã thấy rõ ở đây, Bob đang đấu thầu tờ 10 đô la cho Lisa để đổi lấy một cuốn sách. Khi Lisa nhận được tờ 10 đô la vật chất này, Bob sẽ không có cách nào sử dụng lại số tiền này cho một số giao dịch khác, vì đồng tiền vật chất hiện thuộc quyền sở hữu của Lisa. Bây giờ, hãy xem xét một tình huống mà tiền được thanh toán ở dạng Kỹ thuật số. Điều này được minh họa bằng hình ảnh
Vì định dạng trao đổi tiền ở định dạng kỹ thuật số, về cơ bản nó là một tệp vật lý nhị phân được lưu trữ ở đâu đó trên thiết bị của Bob. Sau khi Bob đưa tệp này (tiền kỹ thuật số) cho Lisa, anh ta cũng có thể đưa một bản sao của tệp cho Alice. Giờ đây, cả hai đều nghĩ rằng họ đã nhận được tiền mà không cần bất kỳ phương tiện xác thực đồng tiền kỹ thuật số nào và do đó sẽ giao hàng hóa tương ứng của họ cho Bob. Đây được gọi là chi tiêu kép trong đó người gửi chi cùng một khoản tiền tại nhiều nơi để nhận dịch vụ hoặc hàng hóa từ nhiều nhà cung cấp. Để giải quyết vấn đề chi tiêu gấp đôi này, người ta sẽ sử dụng một cơ quan có thẩm quyền tập trung để giám sát tất cả các giao dịch. Điều này được minh họa bằng hình ảnh
Cơ quan tập trung, theo thuật ngữ phổ biến là ngân hàng của bạn, duy trì một sổ cái ghi lại tất cả các giao dịch. Bây giờ, Bob phải gửi tiền kỹ thuật số của mình đến ngân hàng, người sẽ thực hiện một mục nhập vào sổ cái ghi nợ tài khoản của Bob. Sau khi đảm bảo rằng Bob có đủ số dư để thanh toán tiền kỹ thuật số mà anh ấy muốn gửi, sẽ gửi tiền cho Lisa bằng cách ghi có vào tài khoản của cô ấy trong sổ cái của nó.
Bây giờ, có thể đảm bảo rằng Bob không thể tiêu gấp đôi số tiền. Nếu mọi giao dịch kỹ thuật số được định tuyến thông qua một cơ quan tập trung như thế này, vấn đề chi tiêu gấp đôi sẽ được giải quyết. Điều này cũng cung cấp một lợi ích khác trong việc xác nhận tính xác thực của từng đồng xu (tiền kỹ thuật số) mà nó nhận được trong giao dịch. Vì vậy, tiền giả (tiền sao y như trường hợp Bob trả tiền cho Alice bằng bản sao) sẽ dễ dàng bị phát hiện và ngăn chặn lưu thông.
Sự ra đời của cơ quan quyền lực tập trung mặc dù nó giải quyết được vấn đề chi tiêu kép, nhưng lại đưa đến một vấn đề lớn khác – chi phí tạo và duy trì cơ quan quyền lực tập trung.
Khi các ngân hàng cần tiền cho hoạt động của mình, họ bắt đầu cắt hoa hồng trên mỗi giao dịch tiền tệ mà họ thực hiện cho khách hàng của mình. Điều này đôi khi có thể trở nên rất tốn kém, đặc biệt là trong việc chuyển tiền ra nước ngoài khi nhiều đại lý (ngân hàng) có thể tham gia vào toàn bộ giao dịch. Tất cả các vấn đề trên được giải quyết bằng sự ra đời của tiền tệ kỹ thuật số, được gọi là Bitcoin. Bây giờ tôi sẽ cung cấp cho bạn một nền tảng ngắn gọn về Bitcoin là gì trước khi đi sâu vào thiết kế và kiến trúc của nó
Bitcoin – Lịch sử tóm tắt
Bitcoin đã được giới thiệu trên thế giới này bởi Satoshi Nakamoto thông qua một sách trắng kiểu nghiên cứu có tên Bitcoin: Hệ thống tiền mặt điện tử ngang hàng vào năm 2008.
Bitcoin không chỉ giải quyết được vấn đề chi tiêu gấp đôi mà còn mang lại nhiều lợi thế hơn nữa, Một lợi thế đáng nói ở đây là tính ẩn danh trong các giao dịch. Satoshi, người đã tạo ra hệ thống và đã giao dịch một vài đồng tiền trên hệ thống này hoàn toàn ẩn danh đối với toàn thế giới. Chỉ cần tưởng tượng, trong thế giới truyền thông xã hội này, khi quyền riêng tư của mỗi cá nhân bị đe dọa, thế giới không thể tìm ra Satoshi là ai? Trên thực tế, chúng tôi không biết Satoshi là một cá nhân hay một nhóm người. Googling nó cũng tiết lộ thực tế rằng số bitcoin mà Satoshi Nakamoto nắm giữ trị giá khoảng 19,4 tỷ đô la – số tiền đó hiện vẫn chưa được xác nhận trong hệ thống Bitcoin. Vậy Bitcoin là gì – hãy cùng chúng tôi tìm hiểu!
Bitcoin là gì?
Như bạn đã thấy trước đó, ngân hàng duy trì một sổ cái ghi lại từng giao dịch. Sổ cái này do ngân hàng tư nhân nắm giữ và duy trì. Satoshi đề xuất rằng hãy để sổ cái này được công khai và được cộng đồng duy trì.
Thời điểm bạn công khai một sổ cái như vậy, bạn sẽ phải cân nhắc một số vấn đề. Sổ cái này phải chống giả mạo để không ai có thể sửa đổi các mục nhập của nó. Vì mỗi mục trong sổ cái được hiển thị công khai, chúng tôi sẽ phải tìm cách duy trì tính ẩn danh – rõ ràng là bạn sẽ không muốn mọi người trên thế giới biết rằng tôi đã trả cho bạn một triệu đô la.
Ngoài ra, vì chỉ có một sổ cái duy nhất theo dõi từng và mọi giao dịch trên thế giới, kích thước của sổ cái sẽ là một mối quan tâm lớn khác. Cung cấp một giải pháp cho những phức tạp này không hề tầm thường và đó là những gì tôi đang cố gắng thực hiện ở đây để giúp bạn hiểu kiến trúc cơ bản của Bitcoin bằng những từ ngữ đơn giản. Kiến trúc cơ bản này là Blockchain và đó là nội dung của hướng dẫn này. Để hiểu kiến trúc Blockchain, bạn cần hiểu một vài tính năng chính mà nó dựa trên. Vì vậy, chúng ta hãy bắt đầu với PKI – Mật mã khóa công khai
Blockchain – Mật mã khóa công khai
Public Key Cryptography hay nói ngắn gọn là PKI còn được gọi là mật mã không đối xứng. Nó sử dụng hai cặp khóa – công khai và riêng tư. Khóa là một số nhị phân dài. Khóa công khai được phân phối trên toàn thế giới và thực sự công khai như tên gọi của nó. Khóa cá nhân phải được giữ riêng tư một cách nghiêm ngặt và người ta không bao giờ được làm mất nó.
Trong trường hợp của Bitcoin, nếu bạn mất khóa cá nhân cho ví Bitcoin của mình, toàn bộ nội dung trong ví của bạn sẽ ngay lập tức dễ bị đánh cắp và trước khi bạn biết điều đó, tất cả tiền của bạn (nội dung trong ví của bạn) sẽ biến mất. cơ chế trong hệ thống để tìm ra ai đã đánh cắp nó – đó là tính ẩn danh trong hệ thống mà tôi đã đề cập trước đó. PKI thực hiện hai chức năng – xác thực và bảo mật thông điệp thông qua cơ chế mã hóa / giải mã. Bây giờ tôi sẽ giải thích cả hai chức năng này
Xác thực
Khi hai bên trao đổi thông điệp, điều quan trọng là phải thiết lập sự tin cậy giữa người gửi và người nhận. Đặc biệt, người nhận phải tin tưởng vào nguồn tin nhắn. Quay lại kịch bản trước đó của chúng ta (được mô tả trong Hình 1) về việc Bob gửi một số tiền cho Lisa để mua một số hàng hóa từ cô ấy, hãy cùng xem PKI xây dựng lòng tin giữa Bob và Lisa như thế nào. Nhìn vào hình ảnh dưới đây
Trước hết, nếu Bob muốn gửi một số tiền cho Lisa, anh ta phải tạo một khóa riêng tư / công khai của riêng mình. Lưu ý rằng cả hai khóa luôn được ghép nối với nhau và bạn không thể kết hợp khóa cá nhân và khóa công khai của các cá nhân khác nhau hoặc các trường hợp khác nhau.
Bây giờ, Bob nói rằng anh ấy đang gửi 10 đô la cho Lisa. Vì vậy, anh ta tạo một tin nhắn (một tin nhắn văn bản thuần túy) chứa khóa công khai của Bob (người gửi), khóa công khai của Lisa (người nhận) và số tiền (10 đô la). Mục đích của việc chuyển tiền này như “Tôi muốn mua bí ngô từ bạn” cũng được thêm vào tin nhắn. Toàn bộ thư hiện đã được ký bằng khóa riêng của Bob. Khi Lisa nhận được tin nhắn này, cô ấy sẽ sử dụng thuật toán xác minh chữ ký của PKI và khóa công khai của Bob để đảm bảo rằng tin nhắn thực sự có nguồn gốc từ Bob. Cách hoạt động của PKI nằm ngoài phạm vi của hướng dẫn này. Bạn đọc quan tâm có thể tham khảo trang web này để có một cuộc thảo luận chi tiết hơn về PKI. Điều này thiết lập tính xác thực của người khởi tạo thông báo. Bây giờ, chúng ta hãy xem xét quyền riêng tư của tin nhắn
Bảo mật tin nhắn
Bây giờ, khi Lisa đã nhận được khoản thanh toán của mình, cô ấy muốn gửi liên kết đến cuốn sách điện tử của mình mà Bob muốn mua. Vì vậy, Lisa sẽ tạo một tin nhắn và gửi cho Bob như thể hiện trong hình ảnh
Lisa tạo một thông báo chẳng hạn như “Đây là liên kết đến ebook của tôi mà bạn đã yêu cầu”, ký nó bằng khóa công khai của Bob mà cô ấy đã nhận được trong tin nhắn yêu cầu của Bob và cũng mã hóa tin nhắn bằng một số khóa bí mật được chia sẻ giữa hai người trong quá trình bắt tay HTTPS.
Bây giờ, Lisa chắc chắn rằng chỉ Bob mới có thể giải mã tin nhắn bằng khóa riêng tư do một mình Bob nắm giữ. Ngoài ra, ai đó chặn tin nhắn sẽ không thể khôi phục nội dung của nó vì nội dung được mã hóa bằng khóa bí mật chỉ do Bob và Alice nắm giữ. Điều này đảm bảo với Lisa rằng quyền truy cập vào sách điện tử của cô ấy chỉ được cấp cho Bob.
Sau khi nhìn thấy cả hai tính năng, Xác thực và Bảo mật tin nhắn, được ngụ ý bởi PKI, chúng ta hãy tiếp tục xem cách Bitcoin sử dụng PKI để bảo mật sổ cái công khai mà tôi đã đề cập trong chương “Bitcoin là gì?”. Theo hiểu biết của bạn – Các thuật toán PKI phổ biến nhất là RSA và ECDSA , Bitcoin sử dụng thuật toán thứ hai
Blockchain – Băm
Một trong những hàm quan trọng nhất trong PKI là hàm băm. Hàm băm ánh xạ dữ liệu có kích thước tùy ý bất kỳ thành dữ liệu có kích thước cố định. Bitcoin sử dụng hàm băm SHA-256 để tạo ra một hàm băm (đầu ra) có kích thước 256 bit (32 byte). Điều này được minh họa bằng hình ảnh
Bob, trong khi đặt hàng với Lisa, tạo ra một thông báo tương tự như thông báo được hiển thị ở trên. Thông báo này được băm thông qua một hàm băm tạo ra một hàm băm 32 byte. Vẻ đẹp của hàm băm này là cho tất cả các mục đích thực tế, hàm băm (số 256-bit) được coi là duy nhất cho nội dung của thông báo. Nếu thông báo được sửa đổi, giá trị băm sẽ thay đổi. Không những thế với một giá trị băm, không thể tạo lại thông điệp ban đầu. Sau khi đã thấy tầm quan trọng của băm, chúng ta hãy chuyển sang một khái niệm khác trong Bitcoin đó là khai thác
Bitcoin – Khai thác
Khi Bob tạo yêu cầu mua hàng cho Lisa, anh ta không gửi cho Lisa một mình. Thay vào đó, thông báo yêu cầu được phát trên toàn bộ mạng mà anh ta được kết nối. Mạng của Bob được mô tả bằng hình ảnh
Thông báo đến tất cả các nút (máy) được kết nối. Một số nút trong sơ đồ được đánh dấu là thợ đào. Đây là những máy chạy một phần mềm để khai thác thông điệp bitcoin. Bây giờ tôi sẽ giải thích cho bạn ý nghĩa của việc khai thác này
Quy trình khai thác
Vì toàn bộ mạng được phân phối rộng rãi, mọi thợ đào trong mạng phải nhận được nhiều tin nhắn từ nhiều nhà cung cấp tại bất kỳ khoảng thời gian nhất định nào. Những gì người khai thác làm là anh ta kết hợp các thông báo này trong một khối duy nhất. Điều này được minh họa bằng hình ảnh
Sau khi một khối thông báo được hình thành, người khai thác sẽ tạo một hàm băm trên khối bằng cách sử dụng hàm băm được mô tả trước đó. Bây giờ, như bạn đã biết nếu bất kỳ bên thứ ba nào sửa đổi nội dung của khối này, hàm băm của nó sẽ trở nên không hợp lệ. Ngẫu nhiên, mỗi tin nhắn được đánh dấu thời gian để không ai có thể sửa đổi thứ tự thời gian của nó mà không ảnh hưởng đến giá trị băm của khối. Do đó, các tin nhắn trong khối được bảo mật hoàn hảo khỏi sự giả mạo. Thực tế này được sử dụng như thế nào để bảo mật tất cả các giao dịch trong mạng được giải thích thêm
Blockchain – Khối chuỗi
Các khối được tạo bởi các thợ đào khác nhau được liên kết với nhau để tạo thành cái được gọi là sổ cái công khai phân tán thực sự.
Mỗi khối trong chuỗi chứa nhiều thông điệp (giao dịch) như đã thấy trước đó trong Hình 8. Một khối trong chuỗi có thể đến từ bất kỳ người khai thác nào. Trong khi tạo chuỗi khối, chúng tôi quan sát quy tắc băm của khối trước đó được thêm vào khối hiện tại. Do đó, một người khai thác trong khi tạo khối, chọn băm của khối cuối cùng trong chuỗi, kết hợp nó với bộ thông điệp của chính nó và tạo một băm cho khối mới được tạo của nó. Khối mới được tạo này hiện trở thành điểm kết thúc mới cho chuỗi và do đó chuỗi tiếp tục phát triển khi ngày càng có nhiều khối được thêm vào bởi các thợ đào
Chương sau Tìm hiểu Blockchain Bằng chứng công việc