Seperti kata poke :
Git dan Blockchains tampak serupa karena keduanya menggunakan Merkle Trees untuk menyimpan transaksi dengan timestamp yang dipesan. Pohon merkle adalah struktur data pohon di mana setiap node diberi label dengan nilai hash kriptografis dari isinya, yang mencakup label anak-anaknya.
Perbedaan pertama adalah fungsi Hash : Blockchain memiliki fungsi hash yang sangat mahal sehingga setiap blok harus ditambang, sedangkan "blok" Git dapat dibuat dengan pesan komit sederhana.
Tujuan Bitcoin adalah untuk menambah kepercayaan pada urutan transaksi. Fokusnya adalah pada rantai terpanjang, karena itu yang paling mahal untuk dihitung dan dengan demikian kemungkinan besar menjadi kebenaran.
Bitcoin menyelesaikan ini dengan mensyaratkan bahwa hash memenuhi parameter tertentu (dimulai dengan jumlah 0s tertentu), dengan menambahkan nilai ("nonce") dalam pesan sampai hash yang memuaskan ditemukan. Ini membutuhkan upaya untuk menemukan, tetapi hanya 1 perhitungan untuk memverifikasi untuk suatu nonce; dan jika beberapa nonces menghasilkan hash yang memuaskan, maka satu akan lebih rendah dan dianggap sebagai kebenaran. Skema autentikasi lain membuat hash dapat dipercaya dengan memusatkan penerbitan hash ke otoritas, mungkin memilih dengan perjanjian jaringan, atau metode lain.
Data Blockchain terbatas pada transaksi, yang harus sesuai dengan validasi. Transaksi harus valid untuk dimasukkan dalam blok berikutnya. Transaksi Bitcoin terkait dengan sesuatu yang penting di dunia nyata yang dibenarkan menggunakan blok mahal untuk mencatat transfer ini, seperti pertukaran nilai uang. Kami sebenarnya tidak peduli dengan buku besar terakhir, ini adalah metafora untuk sesuatu di dunia nyata.
Sebaliknya, blok Git bersifat arbitrer, karena komit dapat berisi sejumlah data. Nilainya terletak pada perubahan data yang diorganisasikan ke dalam pohon git karena kami peduli dengan produk akhir, itu divalidasi oleh keberadaan repositori git.
Tujuan Git adalah untuk memungkinkan "buku besar" murah untuk melacak beberapa alternatif produk."Buku besar" di Git adalah yang kami pedulikan, ini adalah produk akhir kami; data transaksi hanya mencatat bagaimana produk itu dibangun. Kami ingin membuatnya menjadi sangat murah untuk membuat beberapa versi produk akhir, cukup biaya overhead untuk meminta pencipta mencatat bagaimana mereka membuat produk ini. Tidak ada validasi eksplisit dilakukan pada data, Anda mempertahankan produk akhir jika terlihat bagus, dan keberadaan itu membuatnya berguna untuk memiliki rantai kreasi produk ini. Jika produk akhir buruk atau urutan komit tidak valid, "buku besar" ini akan dihapus selama pengumpulan sampah.
Perbedaan kedua adalah bahwa transaksi Blockchain harus berasal dari sumber yang valid sebelumnya. Di Git, kami tidak peduli data apa yang Anda gunakan untuk memperpanjang pohon. Di Blockchain, transaksi harus berasal dari sumber yang valid sebelumnya. Dalam hal itu, Git melacak ekstensi dari lingkungan kita, sedangkan Blockchain melacak pertukaran nilai dalam lingkungan tertutup.