Diffusion algebras