is it possible to add a permission to only one user , without creating role for him?
Assuming you're using Ubercart this would be super easy by using hook_order through your own module: http://www.ubercart.org/docs/api/hook_order. I do this exact same thing with one of my other sites. 

I can't go into it all, but essentially it flows like: 

//make sure the order is complete and payment is received: 

function sitetheme_order($op, &amp;$arg1, $arg2) {
{
 // on the final update check this order
 if ($op == 'update' &amp;&amp;
     $arg1-&gt;order_status == "payment_received" &amp;&amp;
     $arg2 == "completed")
 {


In order to keep this short I can't include everything, but I have short loop written that loops through the order until it meets a condition like "Tickets". Then, I'll assign a role and do some other stuff. Like: 

//If they bought tickets, assign them the role "TicketHolder"
if ($node-&gt;type == 'tickets') {
  //I assign some vars, for example the ID of the user role:
   $ticketUser = $node-&gt;uid; 
   $customerRole = 16;
   //Assign this user the "TickHolder" role after the sale is complete
       $data = array(
       'uid' =&gt; $ticketUser,
       'rid' =&gt; $customerRole,
        );
   drupal_write_record('users_roles', $data);


That would be it. In your case you check to see if they purchased rights to create blog content, then assign the role.