Explicación de como funcionan Bots Frontrunner
25-ene-2022 21:33
#1
|
Hola shurs, Hoy os voy a hacer una pequeña explicación de cómo funcionan los sniperbot y los bots tipo sándwich (ambos frontrunner) y los pros y contras que tienen. Voy a realizar las explicaciones siempre basándome en la BSC ya que es donde tengo más experiencia (la explicación puede ser extendida a otras redes, aunque a lo mejor existen algunas diferencias respecto a la BSC). Como bien dije en el anterior post, no soy experto en nada por lo que lo he hecho en base a mi experiencia en estos temas, así que si hay algo erróneo o que puedo mejorar, me lo podéis decir. Primero que nada, una breve definción: Un bot frontrunner es un bot que permite leer las transacciones de una blockchain antes de ser minadas (ejecutadas, llevadas a cabo, como quieras llamarlo). En la bsc existe una memoria donde se encuentran todas las transacciones que aún no han sido minadas, gracias a esto uno puede leer estas transacciones para sacarle provecho. ¿Cómo se le puede sacar provecho? Os explico dos maneras: SNIPER BOT Este bot se utiliza para comprar un token justo en el momento de ser lanzado. ¿No habéis visto nunca las típicas noticias de un launchpad de que X token ha sido lanzado y ha hecho un x50, x100? Lees esto y tu piensas, joder podría ser yo uno de los que comprar ese token antes de ser lanzado y hacerme millonario... En el anterior post ya lo advertí, si algo es demasiado bonito para ser verdad, es que no lo es o al menos, no tan fácil como parece. Vamos por partes, al principio dices, voy a investigar estos launchpads a ver. Luego, te das cuenta que para participar en las preventes todos los launchpads tienen su mierdatoken el cual se utiliza para clasificarte por tiers y en función de cuantos tokens tengas de su launchpad en stake tienes acceso a las preventas. Pero ni siquiera entras seguro, muchas veces solo tienes acceso por sorteo en los tiers más bajos… Al final, haces cálculos y ves que por menos de 10.000$ no vas a tener un tier decente en ningún launchpad (encima la cantidad o allocation con la que podrás entrar a una prevente es ridícula). Además, cuando entras en una prevente no te dan todos los tokens en el lanzamiento, si no que se reparten (normalmente) mensualmente, por lo que en el lanzamiento vas a tener una mierda de cantidad de tokens. (Esto es algo completamente normal ya que si se repartieran todos los tokens de la preventa y rondas privadas previas de golpe, el precio caería en seco desde el primer momento). Os muestro los tiers de bscpad, actualmente después de la caída de BTC se encuentran alrededor de 1$ el token. ![]() Después de darte cuenta que entrar en un launchpad es muy caro, piensas, y si fuera capaz de comprar el token conforme se lance… al final si lo compro conforme sale al precio inicial me hago los X50 igualmente y encima podría comprar la cantidad que quisiera. Entonces pruebas a comprar en pancake el dia del lanzamiento un token y ves que los primeros minutos te es imposible y si lo consigues compras en la cresta de la ola porque los bots han pumpeado el precio hasta niveles desorbitados. Y aquí es donde ya dices, coño, necesito un bot. Como funciona el bot: cuando se va lanzar un token en un dex (para un cex imagino que habrá algo parecido, pero en este caso no depende de la blockchain, sino más bien del cex en cuestión y como gestiona las órdenes), primero crean el contrato del token en cuestión, pero tu aún no puedes comprarlo ya que no existe un par con el que poder tradearlo. Es decir, yo creo tokenX pero hasta que yo que soy el desarrollador no añado liquidez, es decir, voy a meter en una pool una cantidad de mi tokenX y otra en el token con el que quiera que se tradee (busd, bnb, el que quieras), no se puede tradear. Esta transacción, añadir liquidez (add liquidity) es la que determina el precio inicial del token y cuando se puede tradear. El bot lo que hace, es leer de la memoria de transacciones pendientes de la blockchain y cuando encuentra esa transacción de añadir liquidez del token que queremos comprar, ejecutará inmediatamente una orden de compra. Con esta operación podemos llegar a comprar el token en el mismo bloque en el que se ha añadido la liquidez. ![]() Ahí se puede ver un ejemplo, de dos órdenes ejecutadas en el mismo bloque en el que se ha añadido la liquidez. ¿Entonces que problemas hay con este tipo de bots? - Muchos tokens tienen sistemas antibots en los cuales por ejemplo pueden hacer que un % altísimo de los tokens que utilices se queme, que te lo gastes todo en fees, etc.Por finalizar con este tipo de bots, piensa, tu eres una persona normal y corriente en tu casa que quiere ganar algo de dinero, porque ves que esto es rentable. ¿Enserio no piensas que hay gente (grupos o empresas) mucho más inteligentes que tu y con muchos más recursos? Pues eso, éstos siempre serán los que se lleven el groso de los beneficios y siempre serán los primeros en comprar o vender si quieren. Además, ahora en lugar de bots, se hacen Smart contracts que snipean tokens y hacen mil operaciones en una única transacción (ni puta idea de cómo funcionan, si alguien tiene más idea que nos aporte algo de luz…). Vamos con el otro tipo de bots, BOT SÁNDWICH La base del bot es la misma, es decir, leer las transacciones pendientes. Pero en este caso, vamos a buscar grandes órdenes de compra de algún token para poder nosotros comprarlo también justo en el momento antes y venderlo en el momento después de la orden que hemos leído. Ostia, ¿este es aún mejor que el sniper, no? Una vez hecho lo dejo en marcha y a ganar dinero. Bueno, vamos a hacer algunos cálculos a ver que tal. Primero tener claro una cosa, como se calcula el precio de un token en un dex (pancakeswap por ejemplo). Tenemos una pool con un par de monedas que se pueden tradear, cake-busd utilizaremos como ejemplo, las pools funcionan del siguiente modo, cantidad tokens cake * cantidad tokens busd = k (constante). Por lo que cuando haces una compra o una venta, funciona asi: Vamos a suponer que queremos comprar cake, para ello utilizaremos busd, la fórmula quedaría: (cake totales pool – cake que compro) * (busd totales pool + busd que utilizo para comprar) = k, despejamos cake que compro y nos saldrá la cantidad de cake que obtendré a cambio de los busd que he metido, luego haces la relación entre busd que has metido y cake que has recibido y eso determina el precio al que has comprado los cake. Con esta base y sabiendo que podemos leer transacciones pendientes, podemos leer todas las transacciones que afecten a un par de monedas concreto, ver la cantidad que van a comprar y hacer el cálculo de cual sería el precio final después de esta compra. Si consideramos que esta transacción va a hacer subir significativamente el precio, ejecutaremos nosotros una orden de compra y subiremos el precio del gas respecto a la que hemos leído para que se ejecute antes nuestra orden de compra y luego ejecutaremos una orden de venta con el mismo precio del gas que la transacción leída para que se ejecute después (a igualdad de precio de gas se mina antes la que antes se envíe, obviamente la nuestra se envía siempre después ya que estamos leyendo algo que ya se ha enviado). Vamos con los cálculos, actualmente en el pool cake-busd hay: ![]() Si alguien fuera a comprar 50.000$ de cake, los cálculos quedarían así (aplicando la fórmula antes comentada y despejando): ![]() Vemos que si alguien comprar esta cantidad, el precio se incrementaría casi un 2%, por lo que por cada 100$ que utilizáramos nosotros para comprar-vender, ganaríamos 2$. Vistos los cálculos, vemos que ricos tampoco nos haremos, pero algo de dinero se puede hacer. Hay que tener en cuenta que aquí hemos supuesto muchas cosas: - En una pool bastante grande, cuanto mayor es K, menos impacto tiene una compra en el precio final. Por lo que esto es útil en pools pequeños.La verdad este último tipo de bots sobre el papel parecen más seguros, pero no conozco aun a nadie que tenga uno y lo utilice para que aporte un poco de luz sobre el tema. Yo estoy en proceso de desarrollo a ver si saco algo y lo pongo a funcionar por ver si puede llegar a ser rentable. Bueno, se ha quedado un post largo, pero bueno, aun se podría explicar con más detalle todo y más cálculos pero esto haría el post más técnico y alomejor más pesado de leer (aún más). Espero que el post os sirva para conocer más sobre el tema! |
25-ene-2022 21:44
#2
|
Hola shurs,
Hoy os voy a hacer una pequeña explicación de cómo funcionan los sniperbot y los bots tipo sándwich (ambos frontrunner) y los pros y contras que tienen. Voy a realizar las explicaciones siempre basándome en la BSC ya que es donde tengo más experiencia (la explicación puede ser extendida a otras redes, aunque a lo mejor existen algunas diferencias respecto a la BSC). Como bien dije en el anterior post, no soy experto en nada por lo que lo he hecho en base a mi experiencia en estos temas, así que si hay algo erróneo o que puedo mejorar, me lo podéis decir. Primero que nada, una breve definción: Un bot frontrunner es un bot que permite leer las transacciones de una blockchain antes de ser minadas (ejecutadas, llevadas a cabo, como quieras llamarlo). En la bsc existe una memoria donde se encuentran todas las transacciones que aún no han sido minadas, gracias a esto uno puede leer estas transacciones para sacarle provecho. ¿Cómo se le puede sacar provecho? Os explico dos maneras: SNIPER BOT Este bot se utiliza para comprar un token justo en el momento de ser lanzado. ¿No habéis visto nunca las típicas noticias de un launchpad de que X token ha sido lanzado y ha hecho un x50, x100? Lees esto y tu piensas, joder podría ser yo uno de los que comprar ese token antes de ser lanzado y hacerme millonario... En el anterior post ya lo advertí, si algo es demasiado bonito para ser verdad, es que no lo es o al menos, no tan fácil como parece. Vamos por partes, al principio dices, voy a investigar estos launchpads a ver. Luego, te das cuenta que para participar en las preventes todos los launchpads tienen su mierdatoken el cual se utiliza para clasificarte por tiers y en función de cuantos tokens tengas de su launchpad en stake tienes acceso a las preventas. Pero ni siquiera entras seguro, muchas veces solo tienes acceso por sorteo en los tiers más bajos… Al final, haces cálculos y ves que por menos de 10.000$ no vas a tener un tier decente en ningún launchpad (encima la cantidad o allocation con la que podrás entrar a una prevente es ridícula). Además, cuando entras en una prevente no te dan todos los tokens en el lanzamiento, si no que se reparten (normalmente) mensualmente, por lo que en el lanzamiento vas a tener una mierda de cantidad de tokens. (Esto es algo completamente normal ya que si se repartieran todos los tokens de la preventa y rondas privadas previas de golpe, el precio caería en seco desde el primer momento). Os muestro los tiers de bscpad, actualmente después de la caída de BTC se encuentran alrededor de 1$ el token. ![]() Después de darte cuenta que entrar en un launchpad es muy caro, piensas, y si fuera capaz de comprar el token conforme se lance… al final si lo compro conforme sale al precio inicial me hago los X50 igualmente y encima podría comprar la cantidad que quisiera. Entonces pruebas a comprar en pancake el dia del lanzamiento un token y ves que los primeros minutos te es imposible y si lo consigues compras en la cresta de la ola porque los bots han pumpeado el precio hasta niveles desorbitados. Y aquí es donde ya dices, coño, necesito un bot. Como funciona el bot: cuando se va lanzar un token en un dex (para un cex imagino que habrá algo parecido, pero en este caso no depende de la blockchain, sino más bien del cex en cuestión y como gestiona las órdenes), primero crean el contrato del token en cuestión, pero tu aún no puedes comprarlo ya que no existe un par con el que poder tradearlo. Es decir, yo creo tokenX pero hasta que yo que soy el desarrollador no añado liquidez, es decir, voy a meter en una pool una cantidad de mi tokenX y otra en el token con el que quiera que se tradee (busd, bnb, el que quieras), no se puede tradear. Esta transacción, añadir liquidez (add liquidity) es la que determina el precio inicial del token y cuando se puede tradear. El bot lo que hace, es leer de la memoria de transacciones pendientes de la blockchain y cuando encuentra esa transacción de añadir liquidez del token que queremos comprar, ejecutará inmediatamente una orden de compra. Con esta operación podemos llegar a comprar el token en el mismo bloque en el que se ha añadido la liquidez. ![]() Ahí se puede ver un ejemplo, de dos órdenes ejecutadas en el mismo bloque en el que se ha añadido la liquidez. ¿Entonces que problemas hay con este tipo de bots? - Muchos tokens tienen sistemas antibots en los cuales por ejemplo pueden hacer que un % altísimo de los tokens que utilices se queme, que te lo gastes todo en fees, etc.Por finalizar con este tipo de bots, piensa, tu eres una persona normal y corriente en tu casa que quiere ganar algo de dinero, porque ves que esto es rentable. ¿Enserio no piensas que hay gente (grupos o empresas) mucho más inteligentes que tu y con muchos más recursos? Pues eso, éstos siempre serán los que se lleven el groso de los beneficios y siempre serán los primeros en comprar o vender si quieren. Además, ahora en lugar de bots, se hacen Smart contracts que snipean tokens y hacen mil operaciones en una única transacción (ni puta idea de cómo funcionan, si alguien tiene más idea que nos aporte algo de luz…). Vamos con el otro tipo de bots, BOT SÁNDWICH La base del bot es la misma, es decir, leer las transacciones pendientes. Pero en este caso, vamos a buscar grandes órdenes de compra de algún token para poder nosotros comprarlo también justo en el momento antes y venderlo en el momento después de la orden que hemos leído. Ostia, ¿este es aún mejor que el sniper, no? Una vez hecho lo dejo en marcha y a ganar dinero. Bueno, vamos a hacer algunos cálculos a ver que tal. Primero tener claro una cosa, como se calcula el precio de un token en un dex (pancakeswap por ejemplo). Tenemos una pool con un par de monedas que se pueden tradear, cake-busd utilizaremos como ejemplo, las pools funcionan del siguiente modo, cantidad tokens cake * cantidad tokens busd = k (constante). Por lo que cuando haces una compra o una venta, funciona asi: Vamos a suponer que queremos comprar cake, para ello utilizaremos busd, la fórmula quedaría: (cake totales pool – cake que compro) * (busd totales pool + busd que utilizo para comprar) = k, despejamos cake que compro y nos saldrá la cantidad de cake que obtendré a cambio de los busd que he metido, luego haces la relación entre busd que has metido y cake que has recibido y eso determina el precio al que has comprado los cake. Con esta base y sabiendo que podemos leer transacciones pendientes, podemos leer todas las transacciones que afecten a un par de monedas concreto, ver la cantidad que van a comprar y hacer el cálculo de cual sería el precio final después de esta compra. Si consideramos que esta transacción va a hacer subir significativamente el precio, ejecutaremos nosotros una orden de compra y subiremos el precio del gas respecto a la que hemos leído para que se ejecute antes nuestra orden de compra y luego ejecutaremos una orden de venta con el mismo precio del gas que la transacción leída para que se ejecute después (a igualdad de precio de gas se mina antes la que antes se envíe, obviamente la nuestra se envía siempre después ya que estamos leyendo algo que ya se ha enviado). Vamos con los cálculos, actualmente en el pool cake-busd hay: ![]() Si alguien fuera a comprar 50.000$ de cake, los cálculos quedarían así (aplicando la fórmula antes comentada y despejando): ![]() Vemos que si alguien comprar esta cantidad, el precio se incrementaría casi un 2%, por lo que por cada 100$ que utilizáramos nosotros para comprar-vender, ganaríamos 2$. Vistos los cálculos, vemos que ricos tampoco nos haremos, pero algo de dinero se puede hacer. Hay que tener en cuenta que aquí hemos supuesto muchas cosas: - En una pool bastante grande, cuanto mayor es K, menos impacto tiene una compra en el precio final. Por lo que esto es útil en pools pequeños.La verdad este último tipo de bots sobre el papel parecen más seguros, pero no conozco aun a nadie que tenga uno y lo utilice para que aporte un poco de luz sobre el tema. Yo estoy en proceso de desarrollo a ver si saco algo y lo pongo a funcionar por ver si puede llegar a ser rentable. Bueno, se ha quedado un post largo, pero bueno, aun se podría explicar con más detalle todo y más cálculos pero esto haría el post más técnico y alomejor más pesado de leer (aún más). Espero que el post os sirva para conocer más sobre el tema! yo tengo los 2 tipos de bot. Lo hice yo en python hace algo más de un año, tanto en eth como para bsc. Resumen: Eth: si no eres minero, olvidate. BSC: si no eres de los nodos validadores, olvidate. |
25-ene-2022 22:04
#4
| Muy buena guia para entender estos tipos de bots pero es un nicho muy complicado, necesitas muchos pequeños detalles a tu favor para generar beneficios. Es mas facil sacar pasta comprando flash loan attacks o rugpulls cuando caen un 90% o mas y vendiendo en el rebote x2 o x3 o snipeando NFTs o Mystery Boxes en Binance con algun scanner sencillo en javascript, python o algo similar. |
25-ene-2022 23:16
#6
|
no tienes visibilidad nunca de toda la red ni del pool de tx a no ser que seas minero o tengas cientos o miles de nodos y el sandwich te lo hacen a ti |
25-ene-2022 23:29
#7
|
Muy buena guia para entender estos tipos de bots pero es un nicho muy complicado, necesitas muchos pequeños detalles a tu favor para generar beneficios. Es mas facil sacar pasta comprando flash loan attacks o rugpulls cuando caen un 90% o mas y vendiendo en el rebote x2 o x3 o snipeando NFTs o Mystery Boxes en Binance con algun scanner sencillo en javascript, python o algo similar.
|
25-ene-2022 23:31
#8
| Esto me sorprendió porque en BTC la mempool está completa para todo el mundo, pero en Ethereum funciona de esta manera. |
25-ene-2022 23:35
#9
|
supongo q tendra q ver con el blocktime, no he ido tan a bajo nivel de saber xq funciona así, pero así es... |
25-ene-2022 23:39
#10
|
Pero hay otros bots que se basan en otros principios más seguros? Lo digo desde la ignorancia por todos los hilos que he leído en el foro acerca de bots de cripto. |
26-ene-2022 09:48
#12
| Muchas gracias Shur, es magnífico. Sabes algo acerca de los flash loans attacks? Sólo he visto info acerca de préstamos y devoluciones en el mismo bloque, pero no su uso para trapichear con shits. Gracias de antebrazo. |
26-ene-2022 11:49
#13
|
Pues no, no tengo nidea. Pero a raíz del comentario del shur de arriba me voy a poner a investigar a ver de que va el tema. |
25-abr-2022 00:29
#14
| Al final que, probaste de hacer el frontrunner? Yo me lo estoy mirando estos días y es verdad que parece un negocio cojonudo pero algún pero tiene que tener. |
25-abr-2022 11:30
#16
|
Juegas con márgenes muy pequeños de ganancias y hay muchas variables que no puedes tener en cuenta. Realizar un bot, programa o como quieras llamarlo para sacar dinero en continuo es complicado y si algo funciona solo podrías sacarle provecho durante un tiempo hasta que se popularizara o grupos de gente más preparados (que uno solo en su casa) se quedaran con las posibles ganancias. Saludos! |
25-abr-2022 12:04
#18
|
Tienes que ser solo. En una piscina no tienes control sobre los bloques en sí, son trabajos independientes a cada worker que te pagarán dependiendo de los pagos que de esa piscina (PPS, PPLNS...). Un minero como tal debería procesar los bloques y además realizar las operaciones de frontrun que se incluirán en tu propio bloque. Seguramente más de una pool está haciendo eso directamente para su propio beneficio. |
25-abr-2022 12:11
#19
|
Tienes que ser solo. En una piscina no tienes control sobre los bloques en sí, son trabajos independientes a cada worker que te pagarán dependiendo de los pagos que de esa piscina (PPS, PPLNS...).
Un minero como tal debería procesar los bloques y además realizar las operaciones de frontrun que se incluirán en tu propio bloque. Seguramente más de una pool está haciendo eso directamente para su propio beneficio. ![]() Ya me imaginaba que por ahí iban los tiros. Y lo que dices creo que es el MEV https://ethereum.org/en/developers/docs/mev/ que se saca de algunos bloques y que se reparte en la pool integro. |
25-abr-2022 12:14
#20
![]() Ya me imaginaba que por ahí iban los tiros. Y lo que dices creo que es el MEV https://ethereum.org/en/developers/docs/mev/ que se saca de algunos bloques y que se reparte en la pool integro. |
25-abr-2022 17:27
#21
| No hace falta ni ser minero ni tener un nodo validador, la gente suele montarse un full node el cual están las instrucciones para montarlo tanto en los dosc de la bsc como en los de eth, y con ese se puede trabajar con los dos tipos de bots que has puesto. |
25-abr-2022 17:39
#22
|
claro que si , claro que si. Buena suerte con tu full node y tu vision de la red
|
25-abr-2022 17:46
#23
| Poder trabajar sí, ahora que seas el primero en leer y lanzar una transacción es otro tema. Yo con mi full node obtenía 4-5 ms de tiempo de respuesta medio, que alomejor para según que cosas te puede llegar a servir, pero que hay que tener en cuenta muchísimas más variables, no basta con ser solo el primero y ya está. |
25-abr-2022 18:06
#24
|
Poder trabajar sí, ahora que seas el primero en leer y lanzar una transacción es otro tema. Yo con mi full node obtenía 4-5 ms de tiempo de respuesta medio, que alomejor para según que cosas te puede llegar a servir, pero que hay que tener en cuenta muchísimas más variables, no basta con ser solo el primero y ya está.
|
26-abr-2022 15:17
#25
|
Poder trabajar sí, ahora que seas el primero en leer y lanzar una transacción es otro tema. Yo con mi full node obtenía 4-5 ms de tiempo de respuesta medio, que alomejor para según que cosas te puede llegar a servir, pero que hay que tener en cuenta muchísimas más variables, no basta con ser solo el primero y ya está.
Es decir, si tu tienes 4ms de respuesta y yo tengo 10ms pero pago mas gas se realizará mi tx antes que la tuya, o no funciona así? |
04-may-2022 15:06
#26
|
Por otro lado, si tu quieres ser el primero en por ejemplo hacer una compra en un lanzamiento de un dex cuando se añade la liquidez, tienes que utilizar el mismo gas que la transacción, sino tu transacción se ejecutará antes de que la de liquidez y por tanto tu transacción fallará i no comprarás. Aquí es donde entra en juego tu latencia, a menor latencia y mismo gas (que tienes que utilizar el mismo gas) entra antes la que primero se envíe (la de menor latencia). |







