Ngày bé, tôi thường chơi nhảy dây với các bạn. Dây được tạo thành từ các dây chun tròn. Từng cái dây chun nối với nhau thành một sợi dài thật dài. Và ta nhảy dây thôi. Block chain chẳng khác gì một trò chơi trẻ con cả. Bạn có
thể buộc từng dây thun theo nhiều cách miễn là liên tiếp thành một sợi dài.

Hay là bạn này

Nâng cao hơn nè, làm sao 5 cánh
Hay là buộc dây như sau.
Cấu trúc toán học chỉ là một cách buộc nốt thôi mà, có nhiều cách buộc khác nhau và cho nhiều mục đích.

Và đây, phiên bản Block chain của Người lớn
 

Nó đến từ đâu, nó làm gì, và cách nó được tạo ra?
Nó là gì?
Một cuốn sổ cái phân quyền có tính công khai, lâu bền, chỉ ghi nhận thêm giao dịch mà không xóa đi.
Thực chất nó là gì?
Một cấu trúc toán học để lưu trữ dữ liệu  theo cách gần như không thể làm giả. Nó có thể được sử dụng cho tất cả  các loại dữ liệu có giá trị.

Phần 1: Từng bước của Blockchain

Phần 2: Về mặt chi tiết Công nghệ
Nó từ đâu đến?
“Tôi đã làm việc trên một hệ thống tiền  mặt điện tử mới với cơ chế hoàn toàn ngang hàng mà không có sự can thiệp  của các bên thứ ba”. Đây là những lời của Satoshi Nakamoto, người sáng  tạo bí ẩn của Bitcoin, trong một tin nhắn được gửi vào tháng 10/2008,  kèm theo đó là đường link một white paper chín trang mô tả một công nghệ  có thể phá vỡ hệ thống tài chính hiện thời.
Nakamoto khai thác các bitcoin đầu tiên  vào tháng 1/2009, và với điều đó, thời đại tiền mã hóa chính thức bắt  đầu. Nhưng trong khi nguồn gốc của nó khá mập mờ nhưng công nghệ đã làm  cho nó trở nên khả thi, hình thành nên thứ mà bây giờ chúng ta gọi là  blockchain. Nakamoto kết hợp các công cụ mã hóa truyền thống với các  phương pháp bắt nguồn từ nhiều thập kỷ trong ngành khoa học máy tính để tạo ra một  mạng lưới cộng đồng với sự tham gia của các thành viên, trong đó chiếc  sổ cái kế toán sẽ phản ánh trung thực các lịch sử giao dịch. Điều này  làm cho một người không thể chi tiêu cùng một bitcoin hai lần, giải  quyết vấn đề mà đã cản trở các nỗ lực trước đây để tạo ra tiền kỹ thuật  số. Và, quan trọng, nó giúp loại bỏ sự cần thiết của một cơ quan trung  gian để điều phối các giao dịch chuyển tiền.
Sự phổ biến của Bitcoin bắt đầu phát  triển nhanh chóng vào năm 2011, sau khi một bài báo của Gawker chỉ ra  Silk Road, một thị trường ma túy trực tuyến được Bitcoin hỗ trợ. Những  đồng tiền cải tiến được gọi là “altcoin” bắt đầu nổi lên, thường sử dụng  mã nguồn mở của Bitcoin. Trong vòng hai năm, tổng giá trị bitcoin trong  lưu thông đã vượt qua 1 tỷ USD.

Ngay sau đó, các nhà công nghệ nhận ra  rằng các blockchain có thể được sử dụng để theo dõi những thứ khác ngoài  tiền. Vào năm 2013, cậu bé 19 tuổi Vitalik Buterin đã đề xuất Ethereum, không chỉ ghi lại các giao dịch tiền tệ mà  còn là tình trạng của các chương trình máy tính được gọi là hợp đồng  thông minh. Ra mắt vào năm 2015, Ethereum – và hiện là kẻ đứng đầu trong  thị trường – hứa hẹn sẽ tạo ra một thế hệ ứng dụng mới trông giống như  các ứng dụng web ngày nay nhưng được cung cấp bởi các mạng tiền điện tử  phi tập trung thay vì các máy chủ của công ty.

1. Giao dịch được sinh ra



Trong Bitcoin, một giao dịch là việc  chuyển tiền điện tử từ một người (Alice) sang một người khác (Bob).  Trong Ethereum, bao gồm một ngôn ngữ lập trình có sẵn có thể được sử  dụng để tự động hóa các giao dịch, giao dịch sẽ có nhiều loại. Alice có  thể gửi tiền điện tử cho Bob. Hoặc ai đó có thể tạo một giao dịch đặt  một dòng mã, được gọi là hợp đồng thông minh, trên blockchain. Sau đó,  Alice và Bob có thể gửi tiền vào tài khoản mà chương trình này kiểm  soát, để kích hoạt nó một khi một số điều kiện nhất định được mã hóa  trong hợp đồng được đáp ứng. Một hợp đồng thông minh cũng có thể gửi các  giao dịch đến blockchain mà nó được nhúng vào.

2. Giao dịch được phát đến một mạng ngang hàng



Giả sử Alice muốn gửi tiền cho Bob. Để  làm như vậy, Alice tạo một giao dịch trên máy tính của mình và phải tham  chiếu giao dịch trong quá khứ trên blockchain, trong đó cô nhận đủ  tiền, cũng như khóa riêng của cô đối với số tiền và địa chỉ của Bob.  Giao dịch đó sau đó được gửi tới các máy tính khác hoặc “các nút” trong  mạng. Các nút sẽ xác thực giao dịch miễn là nó đã tuân thủ các quy tắc  của mạng. Sau đó các nút khai thác (sẽ miêu tả cụ thể trong bước 3) sẽ  chấp nhận nó, và nó sẽ trở thành một phần của một khối mới.

3. Cuộc đua tạo các khối mới



Một tập con của các nút, được gọi là thợ  mỏ, tổ chức các giao dịch hợp lệ thành các danh sách được gọi là các  khối. Một khối đang được xây dựng sẽ chứa danh sách các giao dịch hợp lệ  gần đây và tham chiếu mật mã tới khối trước đó. Trong các hệ thống  blockchain như Bitcoin và Ethereum, các thợ mỏ chạy đua để hoàn thành  các khối mới, một quá trình đòi hỏi phải giải quyết một câu đố toán học  cần nhiều nhân lực, đây là câu đố duy nhất cho mỗi khối mới. Người khai  thác đầu tiên để giải quyết các câu đố sẽ kiếm được một số  cryptocurrency như một phần thưởng. Các câu đố toán học liên quan đến  phán đoán ngẫu nhiên tại một số nonce. Các nonce được kết hợp với các dữ  liệu khác trong khối để tạo ra một dấu vân tay kỹ thuật số được mã hóa, được gọi là một hash.

4. Hoàn thành một khối mới



Hash phải đáp ứng các điều kiện nhất  định; nếu không, thợ mỏ sẽ thử một nonce ngẫu nhiên khác và tính lại giá  trị hash. Phải rất mất công để tìm được một hash hợp lệ. Quá trình này  ngăn chặn tin tặc bởi sẽ rất khó để sửa đổi sổ cái. Trong khi một số  blockchain sử dụng các hệ thống khác để bảo vệ, cách này còn có tên là  proof of work.

5. Thêm một khối mới vào chuỗi



Đây là bước cuối cùng trong việc bảo vệ  sổ cái. Khi một nút khai thác trở thành nút đầu tiên giải quyết câu đố  mã hóa của khối mới, nó sẽ gửi khối tới phần còn lại của mạng để phê  duyệt, thu thập các token để nhận phần thưởng. Khó khăn khai thác được  mã hóa trong giao thức của blockchain; Bitcoin và Ethereum được thiết kế  để làm cho nó ngày càng khó khăn để giải quyết một khối theo thời gian.  Vì mỗi khối cũng chứa một tham chiếu đến khối trước đó, các khối được  liên kết với nhau bằng toán học. Giả mạo với một khối trước đó sẽ yêu  cầu lặp lại proof of work cho tất cả các khối tiếp theo trong chuỗi.

Phần 2: Chi tiết về Công nghệ



Khoảng hai tuần trước, tôi đã xây dựng một blockchain từ đầu để hiểu về  nó nhiều hơn. Tôi làm vậy để chuẩn bị cho một phiên hội thảo tại  Malaysia mang tên Cuộc cách mạng Blockchain thuộc khuôn khổ Hội nghị  chuyên đề Magic Academy năm 2017. Trước đây tôi chỉ xây dựng trên  blockchain Bitcoin hiện có. Các thuật ngữ như ‘phân tán’, ‘sổ cái’,  ‘phân quyền’, ‘hàm băm mật mã’, ‘bằng chứng xử lý’ đã khơi gợi các khái  niệm trong đầu tôi. Các thuật ngữ trở nên đơn giản hơn khi tôi xây dựng  phiên bản blockchain của riêng mình. Tôi cũng đã choáng ngợp khi nhận ra  tiền và hợp đồng có thể lập trình được! Chúng ta đang chứng kiến một  cuộc cách mạng với xu hướng hiện hành huy động vốn thông qua Initial Coin Offerings của các công ty. Các hệ sinh thái mới đang phát triển, nơi  các doanh nghiệp (thậm chí cả cá nhân) có thể phát hành đồng tiền số  riêng của họ. Không cần phải là một quốc gia có chủ quyền để thực hiện điều đó. Thật đáng kinh ngạc! Giờ đây bạn có  thể chọn nơi để gửi gắm niềm tin, đó là một chủ đề mà tôi đặc biệt quan  tâm. Nếu bạn không tin một đồng tiền hoặc token nhất định, bạn có thể  hướng đến một loại khác… hoặc tạo ra đồng tiền của riêng bạn.
Đi ngược lại một chút, trước tiên hãy tìm hiểu nguyên lý hoạt động của  blockchain. Phát triển kiến thức từ gốc giúp chúng ta hiểu được bức  tranh lớn mà các nhà phát triển blockchain tuyệt vời cũng như các doanh  nghiệp và nhà đổi mới đang vẽ lên xung quanh chúng ta trong công cuộc  xây dựng tương lai của tiền tệ và các loại hợp đồng.
Lưu ý nhỏ: Mục đích của bài viết là giúp bạn đọc hiểu các thuật ngữ  về blockchain và cách hoạt động của nó. Dù bạn là chuyên viên kỹ thuật  hoặc nhà kinh doanh, hãy đọc tiếp kể cả các đoạn mã nhé.


Blockchain là gì?


Một danh sách các block (hồ sơ) được liên kết với nhau bằng các hash  (hàm băm), được duy trì như một cơ sở dữ liệu phân tán và phi tập  trung.
Trước tiên chúng ta hãy xem những thành phần cấu thành một block:



Mỗi block trong blockchain bao gồm:
previous_block_hash: Hàm băm là bước cơ bản trong việc tạo ra một  blockchain. Nó bao gồm việc lấy một chuỗi ký tự có độ dài bất kỳ, cho  chạy một thuật toán (Bitcoin sử dụng thuật toán SHA-256) và xuất hàm đầu  ra có độ dài cố định. Mở rộng khái niệm này ra một chút.
index: Xác định số block.
data: Đây là phần cho phép lập trình tiền hoặc hợp đồng. Nó có  thể là một đối tượng có chứa thông tin như địa chỉ ‘đến’, địa chỉ ‘từ’  và ‘số lượng’ (đối với tiền tệ) hoặc các chi tiết/logic để thực hiện hợp  đồng.
timestamp: Thời gian khi block được tạo ra
current_block_hash: Như chúng ta sẽ thấy trong phần tiếp theo, tính bất biến của blockchain phát sinh từ đây.
nonce: Một chuỗi (tùy ý) được thêm vào hàm băm của block để thiết lập  thuật toán Bằng chứng xử lý (PoW), yêu cầu đưa các node cạnh tranh đi  đến một thỏa thuận chung để để chấp nhận block nào trong bước tiếp theo  của một blockchain phát triển.


Vai trò của Hàm băm trong Blockchain



Một hàm băm được sử dụng để xác định duy nhất nội dung của một block.  Như hiển thị trong đoạn mã ở trên, hàm băm của block được tạo ra bằng  thuật toán SHA-256 từ tất cả các thành phần của block trước đó: hàm băm,  index (tùy chọn), data (dữ liệu) và timestamp (dấu thời gian).
Kết quả là một hàm băm duy nhất được tạo ra để xác định block. Nếu một  trong các trường dữ liệu trên thay đổi, hàm băm tương ứng sẽ khác đi, do  đó bạn có thể biết rằng nội dung block đã được thay đổi.
Hơn nữa, vì block đó là một bộ phận của blockchain dài hơn,  previous_block_hash (hàm băm block trước đó) của block kế tiếp sẽ khác  biệt và không tương thích. Điều này lần lượt ảnh hưởng đến block sau đó  và sau đó nữa.
Vì vậy, hàm băm tăng cường tính bảo mật của block, và tất cả  các block trước đó cho đến block nguồn (block đầu tiên). Phương pháp bảo  mật như vậy tạo tính chất bất biến cho blockchain. Nếu phân tán một  blockchain (nằm trên các node/máy tính khác nhau), một nhân tố tiêu cực  phải có đủ quyền lực hàm băm để cập nhật nhiều block và kiểm soát mạng  lưới nhằm lan truyền phiên bản blockchain của mình. Điều này càng khó  khăn hơn khi blockchain có tính phân quyền, như tôi chia sẻ trong phần  tiếp theo.
Trong kho lưu trữ mã, khi bạn khởi động ruby blockchain_generator.rb, dữ liệu đầu ra sẽ có dạng như sau:



Đầu ra cho thấy dạng của các block trong blockchain khi được tạo ra bởi  một node, cấu thành một blockchain phân quyền. Nó an toàn đến một mức độ  nhất định nhờ sử dụng cơ chế hàm băm cho từng block và độ an toàn sẽ  tăng lên khi chiều dài của blockchain phát triển. Lưu trữ blockchain  trên nhiều node khiến nó có tính phân tán, nhờ đó tăng cường bảo mật  thông qua các bản sao.
Do tính chất bất biến, phân tán của blockchain, Công nghệ Sổ cái Phân  tán (DLT) cải thiện cách ghi nhận hoặc chia sẻ dữ liệu mà vẫn đảm bảo  tầm nhìn thống nhất, chống giả mạo trên nhiều bên, bên nào cũng có thể  kiểm tra dữ liệu. Một số ngành công nghiệp có thể đạt tới bước cải tiến  rất lớn về năng suất thông qua DLT khi các giao dịch được xác minh, mã  hóa và đánh dấu thời gian cũng như ghi nhận một cách minh bạch.
Dựa vào những gì chúng ta đang đề cập đến, khi các node có thể cập nhật  lẫn nhau mà không cần chính quyền trung tâm, ta gọi đó là tính phân  quyền của blockchain.


Tính phi tập trung


Nếu một node cập nhật tất cả các node khác, blockchain có tính tập trung. Nếu một node bất kỳ có thể cập nhật các node khác thì gọi là blockchain phi tập trung.
Để thực hiện phân quyền an toàn, cần có một phương thức nhằm đạt sự đồng thuận trong một mạng lưới các node.
Một trong những phương thức phổ biến là sử dụng Bằng chứng Xử lý (PoW).  Đó là một thuật toán khiến các node trong mạng lưới đạt sự đồng thuận  phân tán. Bước này yêu cầu sử dụng tham số nonce.
Khi một block mới đang hình thành như mô tả ở trên, tất cả các nội dung  đều được chuyển thành hàm băm. Đầu ra của một hàm băm cần đáp ứng một  mức độ khó đặt sẵn, ví dụ như “yêu cầu hai chuỗi số 0 trong hàm băm”.
Trong trường hợp này, nonce đóng vai trò một chuỗi tùy ý hoặc một bộ đếm  điều chỉnh được để hàm băm tổng thể đáp ứng được mức độ khó.



Nếu current_block_hash (hàm băm block hiện tại) không đáp ứng được mức  độ khó thì nonce được điều chỉnh và tính toán một hàm băm mới. Quá trình  này lặp lại cho đến khi hoàn thành một hàm băm thỏa điều kiện thiết lập  mức độ khó.
Hiện nay chỉ có thuật toán brute force hoạt động nhằm xác định thuật  toán PoW, tức là nonce được điều chỉnh và tính toán lại hàm băm cho đến  khi thỏa mãn mức độ khó. Đó là lý do tại sao các thợ đào Bitcoin sử dụng  máy tính chuyên biệt để tính toán PoW. Sau khi hoàn thành, rất dễ để  xác minh PoW này. Do đó, thợ mỏ đầu tiên xác định PoW chính xác sẽ lan  truyền block trong mạng lưới. Các thợ mỏ khác sẽ kiểm tra tính chính xác  (kiểm tra bằng thuật toán riêng của họ), chấp nhận block hợp lệ và bắt  đầu khai thác block tiếp theo.
Với thuật toán PoW, các bên có thể đạt sự đồng thuận mà không cần một  chính quyền trung tâm tin cậy. Đối với Bitcoin, không cần ngân hàng hay  nhà quản lý hoặc người trung gian để xác minh một block (PoW thực hiện)  hoặc tính xác thực của các giao dịch trong block (hàm băm thực hiện).
Hơn nữa, nhân tố tiêu cực tôi nói đến ở trên nếu muốn kiểm soát  blockchain sẽ gặp thêm thách thức. Họ vừa phải cập nhật hàm băm của  nhiều block, vừa phải vượt qua các node khác trong mạng, để block của họ  được chấp nhận trong một blockchain phân quyền và phân tán. Điều này  chỉ có thể xảy ra nếu nhân tố đó có khả năng sắp đặt tấn công cục bộ –  gần như là không thể khi blockchain phát triển trong một mạng lưới lớn  các node.


Các loại blockchain


Một blockchain có thể có các đặc tính công khai, riêng tư, cấp quyền, không được cấp quyền, tập trung, phân quyền.
Tất cả các cấu hình đó có thể được thiết lập dựa trên yêu cầu của mạng  lưới. Hiện nay các chính phủ và các tập đoàn đang nỗ lực khám phá cách  sử dụng công nghệ DLT theo phương thức tập trung hoặc phân quyền để cải  thiện việc theo dõi hàng hoá trong chuỗi cung ứng, thanh toán giao dịch  tốt hơn, cắt giảm yêu cầu bảo hiểm hai lần, cải thiện thanh toán xuyên  biên giới, v.v… Các biến thể khác của blockchain hiện đang được thử  nghiệm.
Tìm hiểu tiếp theo
Đến đây, thông qua bảng mã chúng ta đã hiểu thế nào là một block, cách  sử dụng hàm băm và ý nghĩa của nó trong một blockchain. Trong một block,  làm thế nào để triển khai đồng tiền/token (thẻ) hoặc một hợp đồng cũng  được hiển thị ngắn gọn thông qua biến data. Bạn cũng có thể thấy nguyên  nhân tại sao không cần trung gian trong một mạng lưới phân quyền ngang  cấp.
Tôi cố ý viết vắn tắt như trên dù biết bài viết không thực sự công bằng  đối với toàn bộ sức mạnh của công nghệ blockchain. Bài viết giúp chuyển  đổi một số thuật ngữ chuyên ngành thành các thuật ngữ có ý nghĩa mà  chúng ta có thể sử dụng để xây dựng kiến thức về cuộc cách mạng đang  diễn ra xung quanh chúng ta. Từ đây bạn có thể lại cân nhắc các tin tức  hoặc suy nghĩ sâu sắc về cách các doanh nghiệp đạt lợi ích khi sử dụng  sổ cái phân tán. Giống như bạn, tôi cũng sẽ tiếp tục phát triển từ đây  và chia sẻ nhiều hơn theo thời gian.
Nếu bạn muốn tìm hiểu sâu hơn, tôi cũng đã tổng hợp một danh sách các  nguồn tham khảo để bạn xem tiếp. Tôi hy vọng hướng dẫn này hữu ích đối  với bạn!
Nguồn tham khảo
Mã nguồn (viết ở dạng Ruby): Github.
Sự kiện khởi đầu năm 2008: Bitcoin White Paper
Tài liệu về Bitcoin: Mastering Bitcoin, Programming the Open Blockchain
Một blockchain lớn khác sau Bitcoin: Ethereum White Paper
Tài liệu về Hàm băm: Blockgeeks
Sự thật về Blockchain: From HBR
Theo định nghĩa của Wikipedia Blockchain 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 việc 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ó. Nghe có vẻ thú vị, nhưng chính xác nó là cái gì ?
Để minh hoạ một blockchain, chúng ta sẽ sử dụng một giao diện command-line open source gọi là Blockchain CLI. Nếu bạn chưa cài đặt, hãy cài đặt Node.js. Và bắt đầu chạy các command-line sau:
1
2
3
4

 
$ npm install blockchain-cli -g
$ blockchain
 

Bạn sẽ thấy ? Welcome to Blockchain CLI! Và blockchain →prompt đã sẵn sàng để thực hiện lệnh. Block trông như thế nào? Để xem blockchain hiện tại của bạn, nhập blockchain hoặc bc vào command prompt. Bạn sẽ thấy một block như hình dưới.


Index (Block #): Block nào là nó? (Khối Genesis có chỉ số 0)

Hash: Là block có giá trị?
Previous Hash: Là block trước đó hợp lệ?
Timestamp: Khi nào khối được thêm?
Data: Những thông tin nào được lưu trữ trên block?
Nonce: Có bao nhiêu lần được lặp lại trước khi chúng tôi tìm thấy một block hợp lệ?
Block Genesis Mỗi blockchain sẽ bắt đầu với Block Genesis. Như bạn biết, mỗi block trên blockchain phụ thuộc vào block trước đó. Vì vậy, block Genesis là cần thiết để thiết lập block đầu tiên của chúng ta.
Điều gì xảy ra khi một Block mới được khai thác?
Hãy bắt đầu block đầu tiên của chúng ta. Nhập mine freeCodeCamp ♥ ︎ vào prompt . Blockchain dựa vào khối mới nhất được thêm vào blockchain. Trong trường hợp này block Genesis là khối mới nhất.
Index: o+1 = 1
Previous Hash: 0000018035a828da0…
Timestamp: khi nào block được thêm vào
Data: freeCodeCamp

Hash: ??
Nonce: ??
Làm thế nào để tính hash? Giá trị hash là một trị số với độ dài cố định, giúp nhận diện dữ liệu. Các hash được tính bằng cách lấy trị số của block hash trước đó, timestamp, block data, and nonce như là giá trị đầu vào
1
2
3

 
CryptoJS.SHA256(index + previousHash + timestamp + data + nonce)
 

Thuật toán SHA256 sẽ tính toán một hàm hash duy nhất, cho các giá trị input. Các input tương tự sẽ trả lại cùng một hash.
Bạn có nhận thấy bốn đầu 0 trong khối hash?
Bốn hàng đầu của 0 là một yêu cầu tối thiểu cho một hash hợp lệ. Số yêu cầu hàng đầu của 0 được gọi là difficulty.
1
2
3
4
5
6
7
8
9
10

 
function isValidHashDifficulty(hash, difficulty) {
  for (var i = 0, b = hash.length; i < b; i ++) {
      if (hash[i] !== '0') {
          break;
      }
  }
  return i >= difficulty;
}
 

Nó còn được gọi là hệ thống Proof of Work.
Một nonce là gì?
Một nonce là một số được sử dụng để tìm một hash hợp lệ
1
2
3
4
5
6
7
8
9
10

 
let nonce = 0;
let hash;
let input;
while(!isValidHashDifficulty(hash)) {    
  nonce = nonce + 1;
  input = index + previousHash + timestamp + data + nonce;
  hash = CryptoJS.SHA256(input)
}
 

Các nonce iterates cho đến khi hash là hợp lệ. Trong trường hợp của chúng ta, một hash hợp lệ có ít nhất bốn hàng đầu của 0. Quá trình tìm một nonce tương ứng với một hash hợp lệ là mining.
Difficulty tăng lên, số lượng các hash hợp lệ giảm. Với hàm hash hợp lệ ít hơn có thể cần phải mất nhiều thời gian xử lý hơn để tìm một hash hợp lệ.
Tại sao điều này lại quan trọng?
Nó quan trọng vì nó giữ cho blockchain không thay đổi. Nếu chúng ta có blockchain A → B → C, và ai đó muốn thay đổi dữ liệu trên Block A. Điều này xảy ra:
  1. Dữ liệu thay đổi trên block A
  2. Thay đổi hask của Block A vì dữ liệu được sử dụng để tính toán hask.
  3. Block A trở nên không hợp lệ vì hash của nó không còn có bốn đầu của 0.
  4. Thay đổi hask của Block B vì hask của Block A được sử dụng để tính toán hask của Block B.
  5. Hask B trở nên không hợp lệ bởi vì hask của nó không còn có bốn hàng đầu của 0.
  6. Thay đổi hask của Block C vì sử dụng hask của Block B để tính toán hask của Block C.
  7. Block C trở nên không hợp lệ vì hash của nó không còn có bốn đầu của 0. Cách duy nhất để biến đổi một khối sẽ là xây dựng lại một blockchain khác. Vì các block mới luôn luôn được thêm vào, nên gần như không thể biến đổi blockchain này. Tôi hy vọng hướng dẫn này hữu ích cho bạn! Nếu bạn muốn kiểm tra phiên bản web của bản giới thiệu, hãy vàohttp://blockchaindemo.io/
Techtalk Via medium

.....

.....