Hola buenas tardes, soy nuevo aquí en bitcointalk

He leído unos cuantos libros acerca de Bitcoin, ya sea sobre su filosofía, el funcionamiento o temas de economía. Pero me siguen surgiendo algunas dudas:
Hace algunas semanas que le he estado dando vueltas acerca de cómo es que se le asigna la fecha y hora la cual un bloque a sido minado. Es decir, cuando un minero llega a minar un bloque, mi instinto arácnido me dice que el tiempo en epoch lo envía a sus peers junto al bloque, pero claro, si lo envía
fuera del bloque, quiere decir que los peers son capaces de modificar ese epoch time, por lo que no sería viable. Entonces he de suponer que el epoch time está
dentro de lo que el minero está minando, pero ahora me surge otro problema, si está dentro, entonces el minero tendría que estar modificando el epoch time cada segundo, y por ende, se modifica el hash. Es por eso que el minero tendría que empezar desde 0 en el nonce cada segundo (y también otras cosas que se puedan modificar para tener más combinaciones, como por ejemplo el OP_RETURN).
También he visto que los bloques tienen la hora exacta en cuanto a la hora, minutos y
segundos, es por eso que no veo viable que los mineros puedan modificar el epoch time cada 20 segundos o algo así. Además, de ser así tendría que existir un margen de qué epoch time se aceptaría por encima o por debajo del actual, lo cual conllevaría saber cuánto tiempo tarda un bloque en propagarse completamente por la red, y más complejidades.
Por ejemplo, si veo en mempool[.]space a qué hora se minó el bloque 893254, me sale que fue a las 13:43:43, y si ejecuto esto en mi nodo bitcoin:
getblockheader "0000000000000000000216c973567f221c6cd61036fb71dfcc830b3e1041207f"
(hash del bloque 893254)
Me sale exactamente el mismo tiempo, en epoch.
Agradecería si algún Bitcoin gurú me pudiese aclarar esta duda, gracias

Bienvenido! Se me había escapado este hilo tan interesante. Esa misma pregunta me hice cuando empecé a leer. Hay una ventana de margen que tiene el minero para que sea válido:
Regla 1: Median Time Past (MTP): El timestamp de un bloque (nTime) debe ser estrictamente mayor que la mediana de los timestamps de los 11 bloques anteriores. Esto evita que un minero pueda poner una fecha muy antigua en un bloque.
Regla 2: Future Time Limit (FTL): El timestamp de un bloque no puede estar "demasiado" en el futuro. Un nodo no aceptará un bloque si su timestamp es más de 2 horas (este valor puede tener matices, pero es la referencia común) en el futuro según el "tiempo ajustado" de la red (que se calcula basado en la hora de los peers conectados, para no depender del reloj local de un solo nodo que podría estar mal).
Estas dos reglas crean una ventana de tiempo válida. El minero puede usar un timestamp que esté dentro de esta ventana. Cuando finalmente encuentra un hash válido, el timestamp que estaba usando en esa cabecera específica es el que queda registrado.