Я новичок в Blockchain и хочу самостоятельно реализовать базовый Blockchain на C ++.Я делал аналогию со связанным списком, и мне было интересно, как именно связать цепочки блоков, используя хеш-коды вместо указателей?
Рассмотрим этот фрагмент реализации связанного списка в C ++:
struct node
{
node *prev;
string data;
}
main()
{
node *first=new node;
node *second=new node;
second->prev=first;
}
Теперь рассмотрим структуру блоков barebone-блоков:
class block
{
string hash;
string prev_hash;
string data;
public:
string calc_hash();
}
main()
{
block genesis;
genesis.data="name,gender,age";
genesis.hash=calc_hash(data);
genesis.prev_hash=0000;
block second;
second.data="name,gender,age";
second.hash=calc_hash(data);
second.prev_hash=genesis.hash;
}
Теперь, как именно я могу связать эти блоки, используя хеши вместо указателей?Или это просто должно быть реализовано как связанный список с указателями, но с некоторой функцией для проверки целостности блоков?