\documentclass[tikz,border=6pt]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,positioning,calc}
\definecolor{ink}{HTML}{111827}
\definecolor{blue}{HTML}{2563EB}
\definecolor{green}{HTML}{059669}
\definecolor{paper}{HTML}{FFFDF7}
\begin{document}
\begin{tikzpicture}[>=Latex, font=\small, text=ink]
  \fill[paper] (-0.8,-0.8) rectangle (8.8,4.6);
  \foreach \x/\r in {0/r1,2/r2,4/r3,6/r4} {
    \node[font=\bfseries] at (\x+0.8,4.25) {\r};
    \draw[ink!18, dashed] (\x+0.8,-0.25) -- (\x+0.8,3.95);
  }
  \foreach \y/\v in {3.4/A,2.45/B,1.5/C,0.55/D} {
    \node[anchor=east, font=\bfseries] at (-0.15,\y) {\v};
    \foreach \x/\r in {0/1,2/2,4/3,6/4} {
      \node[draw=blue!55, fill=blue!8, circle, minimum size=0.45cm] (n\v\r) at (\x+0.8,\y) {\scriptsize \v\r};
    }
  }
  % n=4, f=1: every certified vertex points back to at least n-f=3 parents.
  \foreach \from/\to in {
    A1/A2,B1/A2,C1/A2,
    A1/B2,B1/B2,C1/B2,
    A1/C2,C1/C2,D1/C2,
    B1/D2,C1/D2,D1/D2,
    A2/A3,B2/A3,C2/A3,
    A2/B3,C2/B3,D2/B3,
    A2/C3,B2/C3,D2/C3,
    B2/D3,C2/D3,D2/D3,
    A3/A4,B3/A4,C3/A4,
    A3/B4,C3/B4,D3/B4,
    A3/C4,B3/C4,D3/C4,
    B3/D4,C3/D4,D3/D4} {
    \draw[<-, green!45, line width=0.32pt] (n\from) -- (n\to);
  }
  \node[font=\footnotesize, align=center] at (4,-0.45) {$n=4,\ f=1$: cada v\'ertice actual apunta a $\ge n-f=3$ certificados de la ronda anterior};
\end{tikzpicture}
\end{document}
