Está mal.
En tu situación, primero los bitcoins estuvieron a 11€, y vendieron camisetas. Por eso ahora tienen bitcoins valorados a 1BTC = 11euros.
Esto se deduce de aqui:
Me voy a meter a explicar esto si me permiten
... creo que la explicación podría ser algo como: digamos que 2 merchants ofrecen el mismo tipo de camisetas en una ciudad, y ellos tienen las camisetas valoradas en 10 euros o 1 BTC, ellos también tienen ofertas para vender 1 BTC a 11 euros debido a ventas de camisetas anteriores.
Sin embargo, dices que el precio ha caido a 5€= 1btc aqui:
Digamos que el precio internacional del bitcoin baja a digamos 5 euros por 1 BTC
Lo que implica necesariamente que el parrafo anterior está mal... ya que dices "ELLOS TIENEN LAS CAMISETAS VALORADAS EN 10€ o 1BTC". En realidad tienen las camisetas valoradas en 10€ y cuando metan en la aplicación 10€... la aplicación reclamará 2BTC porque la cotización está a 0.5BTC.
A partir de ahi, la explicación se te desvía.
Pongo un ejemplo claro como pide mrmx.
Para entender la idea, hay que pensar que nada más que un merchant vende una camiseta, lo que hace es colocar una orden de venta de los bitcoins que acaba de conseguir por un 10% más de precio.
Imaginemos LA SITUACIÓN ACTUAL DE BITCOIN. Muchos bitcoinerrs están ahora comprando bitcoins porque creen que kim dotcom va a aceptar bitcoins en su plataforma MEGA. El resultado es que el precio está escalando brutalmente.
En esta situación, la gente se lanzaría a las tiendas a comprar bitcoins, de modo que en la red descentralizada de merchants/exchanges el precio también subiría.
Imaginemos que en dos días, kim dotcom saca MEGA y oh sorpresa, no utiliza bitcoins... pues eso llevaría a muchos bitcoiners a vender... pero también podrían, mientras el precio estuviera 'alto' comprar cosas.
¿Por qué gastar los bitcoins en ese momento?
Pues por ejemplo, como el lunes 1 btc = 20€, me compro una camiseta de las de 10€ por 0.5btc. A lo largo de la semana, el precio se derrumba a 1btc = 10€ (El viernes), así que vuelvo a comprar mis 0.5btc por 5€ ¿Cuanto he pagado por la camiseta? 5€. ¿cuantos btc tengo? Los mismos.
Pero esta operacion se extiende al merchant.
Otro merchant el lunes recibió 100 btc (la gente estaba como loca gastando), y como es un merchant listo, sabe que el precio va a caer... por tanto, ese dia decide comprar a su proveedor 200 camisetas porque se las sirve a 10€, y el lunes btc estaba a 20€. Pongamos que el viernes las vende todas a 10€ (para no complicar las cosas vende todo al precio que compra). Pasaría a tener 200 btc (valorados en 2200€). 100 más que si no hubiera hecho nada.
Imaginemos que un tercer merchant también recibió 100btc el lunes (que los tiene valorados a 2200€ igualmente, porque estaban a 20€). Este merchant decide no utilizarlos. Es cierto que si pone la aplicación en modo "NO USAR FIFO, USAR PRECIO DE MERCADO + 10%" vendería los bitcoins más rápido, pero perdería dinero, porque en caso de que los bitcoins se vendan a 15€ cada uno, estaría perdiendo 500€ o la capacidad de comprarle al proveedor 50 camisetas que vendería por 500€. FIFO le previene de perder ese valor. Pero a su vez le bloquea los bitcoins hasta que vuelvan a subir. Esto es un problema para su liquidez en el corto plazo (en el largo plazo los venderá)... porque como cada bitcoin lo tiene valorado a 20€, el viernes cuando caiga el precio a la mitad no los venderá ni de broma. Pero lo más importante es que para la economía bitcoin es positivo, ya que precisamente que FIFO le haya prevenido de vender, 'sujeta' el precio. Si se piensa, la lógica del sistema amortigua la caida. Eliminando volatilidad.
Está bien la teoría, pero esto reconoce que añade más complejidad a la aplicación, y lo que un tendero creo que valora es ver cuanto tiene en la caja listo para vender en conjunto no a bloques. Bastante es que se vaya imponiendo bitcoin entre los comercios online (los primeros) y luego llegue a los físicos.
Ojo que me gusta tu idea, pero creo que en la fase que estamos, aún es demasiado temprano, igual me equivoco. Si estás decidido, yo lo comentaría en el foro global si te apañas con el inglés, para tomar mas retroalimentación (feedback para los guiris
De programar es UN POQUITO más complicado, tampoco muchisimo más... de manejar es igual, porque cuando llegue el cliente y pida 0.5btc, la aplicación contará de cada bloque la cantidad que se requiera (sumando precios) y mostrará el precio final que debe solicitar el tendero. Vamos, metes un numero y te devuelve otro. Sin más.
Lo que pasa es que en dos tiendas contiguas, 1 btc estará valorado de diferente manera.