Home Forum

Forum

[Sticky] [Từ điển coin] Các khái niệm cơ bản – Phần III: Cơ chế đồng thuận (concensus) và mining.  

  RSS

Nathan
(@alfred-nathan-do)
Member Admin
Joined:11 tháng trước
Posts: 14
27/12/2017 6:30 chiều  

Qua 2 phần trước , các bạn đã tiếp xúc qua các khái niệm cơ bản như Bitcoin, Blockchain, Smart Contract v.v...

Phần I: Bitcoin, Altcoin và CryptoCurrency

Phần II: Blockchain - Decentralized - Distributed

Ở phần này, bài viết có thể khó hiểu hơn một chút với nhiều thuật ngữ (mà các bạn đã gặp ở 2 phần trước) và các cơ chế hoạt động phức tạp. 

Cơ chế đồng thuận (consensus) Blockchain:

Blockchain là hệ thống phân quyền để xác nhận các giao dịch mà không dựa vào một bên thứ ba đáng tin cậy. Do đó, sự đồng thuận giúp mạng lưới đi đến một trạng thái thống nhất của blockchain mà không có mâu thuẫn.

Khi không có sự đồng thuận, blockchain có thể bị chia tách (như trường hợp của Bitcoin, Ethereum,...).

Trên thực tế, sự nhất trí là xương sống của Blockchain và bất kỳ công nghệ Decentralized Distributed nào.

Phân loại blockchain căn cứ theo cơ chế đồng thuận:

  • Public blockchain: như Bitcoin, Ethereum và các cryptocurrencies. Bất cứ ai cũng có thể tham gia vào quá trình đồng thuận. Mang đặc tính decentralized và distributed của blockchain rõ ràng nhất: bỏ qua trung gian, phân quyền đến toàn bộ mạng lưới...
  • Private blockchain: cho phép “người trung gian” ở một mức độ nhất định. “Người trung gian” – chủ sở hữu blockchain, viết và xác nhận từng giao dịch. Tổ chức cũng có thể cho phép ai được đọc blockchain của họ, có sự riêng tư lớn hơn một blockchain công cộng. Mặc dù nó không cung cấp một sự bảo mật phi tập trung, private blockchain phù hợp với mô hình kinh doanh và quản trị truyền thống như tài chính ngân hàng và các hoạt động hành chính công. Ví dụ, sử dụng private blockchain cho một hoạt động bầu cử, hoặc các nghiệp vụ ngân hàng với yêu cầu hạn chế thông tin, v.v…
  • Consortium blockchain (hybrid blockchain): là blockchain “private” một phần, nó như là tin tưởng vào một hội đồng của các trưởng lão. Các thành viên hội đồng có thể quyết định ai có quyền truy cập và đọc sổ cái blockchain. Nền tảng này sẽ là tuyệt vời cho sự hợp tác các tổ chức. Ví dụ hãy tưởng tượng các ngân hàng trung ương điều phối hoạt động của họ dựa trên các nguyên tắc tài chính quốc tế, hoặc Liên Hợp Quốc mở hệ thống phân loại và chấm điểm, cho phép mỗi quốc gia đại diện cho một nút xác minh, v.v…

Một số cơ chế đồng thuận phổ biến:

  • PoW (Proof of Work): sử dụng quá trình băm (hash) tài nguyên, (a) xác nhận các giao dịch giữa các thành viên mạng và (b) viết các giao dịch đã được xác nhận vào sổ nhật ký blockchain như là một khối mới. Khối mới được chấp nhận là bằng chứng cho thấy công việc đã được hoàn thành gọi là bằng chứng công việc (proof-of-work), vì vậy người thợ mỏ có thể nhận được một khoản thanh toán để hoàn thành công việc.
  • PoS (Proof of Stake): xác nhận khối do các thợ mỏ tạo ra và yêu cầu người dùng chứng minh quyền sở hữu "cổ phần" (số coin) của họ. Trong PoS, người tạo khối tiếp theo được chọn thông qua các kết hợp ngẫu nhiên và tỷ lệ “stake” (số coin dùng để mining). Có thể hiểu, thay vì dùng “hash” từ sức mạnh phần cứng như PoW thì PoS dùng chính đồng coin để xác nhận các block mới.
  • DPoS (Delegated Proof of Stake): Giống như PoS, nhưng thay vì toàn bộ mạng có thể tham gia qua trình đồng thuận, DPoS bầu ra một “hội đồng”, các thông số mạng được quyết định bởi đại biểu hoặc đại diện được bầu.
  • Một số cơ chế đồng thuận khác: PAXOS , RAFT , Round Robin , Federated Consensus , Proprietary Distributed Ledger, PBFT , N2N… không thật phổ biến, thường sử dụng trong các private blockchain hoặc các mạng thử nghiệm.

Miner – Các thợ mỏ:

Miners cũng chính là các node, nhưng có thực hiện thêm những hoạt động khác và kiếm được phần thưởng.

Nếu hình dung Blockchain giống như một sổ cái kế toán có thể lưu trữ thông tin, trong đó các nodes đóng vai trò kiểm tra và xác nhận, thì các Miners chính là những nhân viên kế toán có trách nhiệm ghi chép lại thông tin lên blockchain và tạo ra các block mới, đồng thời sẽ nhận được “thù lao” cho công việc đó.

 

Mining – việc đào coin:

Khi giao dịch kỹ thuật số được thực hiện, nó được nhóm lại với nhau trong một khối (block) được bảo vệ theo thuật toán mã hóa với các giao dịch khác đã xảy ra trong 1 khoảng thời gian (blocktime – thời gian 1 block được sinh ra, ví dụ blocktime bitcoin trung bình là 10 phút) và được gửi đến toàn bộ mạng. Người khai mỏ (miner) sau đó cạnh tranh để xác nhận khối bằng cách giải các mã hóa đó. Người khai mỏ đầu tiên giải được mã và xác nhận khối lên mạng lưới sẽ nhận được phần thưởng (Ví dụ như trong mạng Blockchain Bitcoin, một thợ mỏ sẽ nhận được bitcoins).

Các khối hợp lệ sau đó được đánh dấu thứ tự và thêm vào chuỗi theo trình tự thời gian. Các khối mới hợp lệ được liên kết với các khối cũ hơn, tạo ra một chuỗi các khối cho thấy mọi giao dịch được thực hiện trong lịch sử của blockchain đó. Toàn bộ chuỗi được liên tục cập nhật để mọi sổ cái trong mạng đều giống nhau, cho phép mỗi thành viên đều có quyền kiểm tra sổ cái đó.

 

Hash (hàm băm mật mã: Cryptographic hash function):

… là một hàm băm với một số tính chất bảo mật nhất định để phù hợp việc sử dụng trong nhiều ứng dụng bảo mật thông tin đa dạng, chẳng hạn như chứng thực (authentication) và kiểm tra tính nguyên vẹn của thông điệp (message integrity).

Để có thể hình dung, ta lấy một ví dụ như sau:

“Alice đưa cho Bob một câu đố khó và tuyên bố rằng cô ấy đã giải được rồi. Bob muốn tự giải, nhưng cũng muốn chắc chắn là Alice đúng là đã giải được. Do đó, Alice viết đáp án, gắn thêm một nonce ngẫu nhiên, tính giá trị băm của nó, và đưa kết quả băm cho Bob (trong khi vẫn giữ bí mật đáp án và nonce). Bằng cách này, khi Bob tự giải xong, Alice có thể chứng minh rằng cô đã có đáp án từ trước bằng cách đưa nonce cho Bob.”

Alice và Bob là các chương trình máy tính. Trong mining, Alice là chương trình mã hóa của blockchain, Bob là chương trình giải mã của các miner.

Để có thể được cả mạng lưới chấp nhận, khối mới cần phải chứa bằng chứng công việc (proof of work). Proof of work yêu cầu thợ đào tìm kiếm một số nonce, mà khi nội dung của khối được hash (mã hóa) cùng nonce. Proof of work rất dễ cho các máy tính xác nhận, nhưng cực kỳ mất nhiều thời gian để có thể tạo ra. Thợ đào phải thử rất nhiều giá trị nonce ngẫu nhiên khác nhau và để có thể khớp được giá trị nonce trong một khoảng thời gian giới hạn yêu cầu một sức mạnh tính toán (hash power) lớn. Sức mạnh tính toán càng lớn, xác xuất để thử đúng số nounce càng cao.

 

Masternodes (Dash):

Là một công nghệ sử dụng trong 1 số blockchain (như Dash), mục đích giúp hệ thống thực hiện một số những công việc quan trọng.

Nói theo cách đơn giản, một masternode là một máy chủ có thể đảm bảo một số yêu cầu nhất định về hiệu năng và tính năng được kết nối với hệ thống để thực hiện một số công việc liên quan. Giống như miner, masternode được trả tiền để thực hiện công việc của mình. Khái niệm này được gọi là Proof-of-Service (bằng chứng dịch vụ).

Masternode còn có quyền bỏ phiếu về các đề xuất. Mỗi masternode có một phiếu bầu (đồng ý/phản đối/trống) và phiếu bầu này có thể được sử dụng cho đề xuất ngân sách hoặc các quyết định quan trọng.

Bất kỳ ai cũng có thể chạy một masternode và điều này được khuyến khích vì càng nhiều masternode thì tính phân tán của hệ thống càng được đảm bảo. Nhưng để tránh làm đầy hệ thống với những masternode không cần thiết, thiếu trách nhiệm và đồng thời ngăn chặn các cuộc tấn công mạo danh, masternode cần phải có một lượng lớn coin làm Proof-of-Ownership (bằng chứng sở hữu). Số coin đó không bắt buộc phải được lưu trữ trong masternode mà có thể ở bất kỳ đâu nhưng được công bố rõ ràng cho cả hệ thống. Chủ nhân của masternode có thể sử dụng số coin này bất cứ lúc nào, nhưng làm như vậy masternode sẽ bị loại ra khỏi hệ thống.

 

Difficult (Diff: độ khó trong mining)

Trong cách blockchain PoW hoạt động, dữ liệu của khối mới bao gồm hash của khối cũ. Độ khó tính bằng hash, là thời gian cần để giải mã một khối mới và xác nhận lên mạng lưới. Các khối mới liên tục được tạo ra, và độ khó của việc giải mã 1 khối cũng tăng dần theo thời gian.

Ví dụ Bitcoin: Từ tháng 3 năm 2014 tới tháng 3 năm 2015, số lượng nonce trung bình mà máy đào phải hash thử trước khi tạo được ra khối mới đã tăng từ 16,4 tỷ tỷ lên 200,5 tỷ tỷ. Thợ đào phải thử rất nhiều giá trị “nonce” khác nhau, đồng thời cũng phải cạnh tranh với các thợ đào khác để chắc chắn là kẻ đầu tiên tìm ra giá trị “nonce”.

Edited: 5 tháng trước

ReplyQuote
  
Working

Please Login or Register