Như chọc nói :
Git và Blockchains xuất hiện tương tự nhau vì cả hai đều sử dụng Merkle Tree để lưu trữ các giao dịch được đánh dấu thời gian. Cây merkle là một cấu trúc dữ liệu cây trong đó mỗi nút được gắn nhãn với giá trị băm mật mã của nội dung của chúng, bao gồm các nhãn của các phần tử con của nó.
Sự khác biệt đầu tiên là chức năng Hash : Blockchain có chức năng băm rất tốn kém để mỗi khối phải được khai thác, có thể tạo ra một "khối" Git bằng một thông điệp cam kết đơn giản.
Mục đích của Bitcoin là thêm niềm tin vào thứ tự giao dịch. Trọng tâm là chuỗi dài nhất, vì đó là đắt nhất để tính toán và do đó rất có thể là sự thật.
Bitcoin thực hiện điều này bằng cách yêu cầu hàm băm đáp ứng một số tham số nhất định (bắt đầu bằng số 0 cụ thể), bằng cách tăng giá trị ("nonce") trong thông báo cho đến khi tìm thấy hàm băm thỏa đáng. Điều này cần nỗ lực để tìm, nhưng chỉ có 1 phép tính để xác minh cho một lần mở; và nếu nhiều nonces tạo ra một hàm băm thỏa đáng, thì một cái sẽ thấp hơn và được coi là sự thật. Các lược đồ xác thực khác làm cho hàm băm đáng tin cậy bằng cách tập trung phát hành hàm băm cho một cơ quan, có thể được bỏ phiếu theo thỏa thuận mạng hoặc một số phương pháp khác.
Dữ liệu blockchain được giới hạn trong các giao dịch, phải phù hợp với xác nhận. Giao dịch phải hợp lệ để được bao gồm trong khối tiếp theo. Một giao dịch Bitcoin tương ứng với một cái gì đó quan trọng trong thế giới thực, biện minh cho việc sử dụng một khối đắt tiền để ghi lại chuyển khoản này, như trao đổi giá trị tiền. Chúng tôi không thực sự quan tâm đến sổ cái cuối cùng, đó là một phép ẩn dụ cho một cái gì đó trong thế giới thực.
Ngược lại, các khối Git là tùy ý, vì một cam kết có thể chứa bất kỳ lượng dữ liệu nào. Giá trị nằm ở những thay đổi của dữ liệu được sắp xếp vào cây git vì chúng tôi quan tâm đến sản phẩm cuối cùng, nó được xác nhận bởi sự tồn tại của kho git.
Mục đích của Git là cho phép các "sổ cái" giá rẻ theo dõi nhiều lựa chọn thay thế sản phẩm. "Sổ cái" trong Git là thứ chúng tôi quan tâm, đó là sản phẩm cuối cùng của chúng tôi; dữ liệu giao dịch chỉ ghi lại cách sản phẩm được xây dựng. Chúng tôi muốn làm cho nó rất rẻ để tạo ra nhiều phiên bản của sản phẩm cuối cùng, chỉ đủ chi phí để yêu cầu người tạo ghi lại cách họ xây dựng sản phẩm này. Không có xác nhận rõ ràng được thực hiện trên dữ liệu, bạn duy trì sản phẩm cuối nếu nó trông tốt và sự tồn tại đó giúp cho việc tạo ra chuỗi sản phẩm này hữu ích. Nếu sản phẩm cuối là xấu hoặc thứ tự cam kết không hợp lệ, "sổ cái" này sẽ bị xóa trong quá trình thu gom rác.
Sự khác biệt thứ hai là các giao dịch Blockchain phải đến từ một nguồn hợp lệ trước đó. Trong Git, chúng tôi không quan tâm bạn sử dụng dữ liệu nào để mở rộng cây. Trong Blockchain, các giao dịch phải đến từ một nguồn hợp lệ trước đó. Theo nghĩa đó, Git theo dõi sự mở rộng của môi trường của chúng tôi, trong khi Blockchain theo dõi việc trao đổi giá trị trong một môi trường khép kín.