"How do Lightning fees work? Are there fees only for opening and closing channels?"
"Are Lightning nodes capable of censoring transactions?"
Great questions. There are two sets of fees you need to consider here [with the Lightning Network].
There are fees for opening and closing channels. Those are not Lightning fees, just Bitcoin fees.
In order to open a channel, you are creating a multi-sig address that is controlled by [each] end of the channel.
That multisig address requires initial funding and that is a transaction you do on Bitcoin.
At current rates, you would have to pay one or two satoshis per byte for that transaction,
so it will cost you 20 - 25 cents in order to open a Lightning channel.
There's a mistaken assumption that you [must] open and close a channel for every payment.
That is not true, otherwise the whole system wouldn't make sense. You only have to open a channel once.
Then you can make as many Lightning [payments] through that channel [as you wish].
You don't really have to close a channel, there is no deadline by which the channel has to be closed.
You don't have to move your money back to the Bitcoin blockchain, but continue to use it in a Lightning wallet...
[until you want to settle on-chain].
As Lightning gets more mature, you can do more things with it and there will be less reason to close a channel.
There are a number of innovations [which will] make it easier to open a channel, [such as] splicing.
Closing a channel while doing another transaction, or opening multiple channels in a single transaction.
There are all kinds of tricks meant to reduce the fees you pay to open and close channels.
And those are Bitcoin fees you pay for channels.
[In addition], when you make a Lightning payment that is routed through multiple other nodes, as it should be...
You are not supposed to have a payment channel directly to the person you're paying.
You [should] have payment channels into the network; from there, you route payments to a destination.
Lightning fees, which are extremely low, are charged at each hop as your payment is routed between channels.
At the moment, the average Lightning fee is in the thousandths of a satoshi.
People who are running nodes on Lightning, for routing payments by the thousands, make just a few dollars.
This is not a great source of income right now, but it is also not a great source of cost.
Lightning fees are completely insignificant, the fees you will pay are so tiny.
In many cases, you can route payments for free; [they] are not a consideration when using Lightning wallets.
To the third part of your question, "are Lightning nodes capable of censoring transactions?"
In theory, yes. In practice, no. You could configure your node to censor some types of transactions.
However, with the way routing works on Lightning, when you [route a payment across your node],
you can't tell where it is going and you can't tell where it came from.
You know the node which sent it to you, one hop before you, and you know the node one hop afterwards,
which is the node you send it to in the route.
But you don't know the origin, the final destination, or how long the routing path is [for the payment].
All the routing paths appear to be nineteen hops long. You don't know which position you are in the route.
You don't know if you are the first, second, or third hop in that route.
That mechanism of onion routing ensures you have no way of knowing who is paying who.
All you can see is that the node before you, asked you to pay the node after you, but you don't know if they are...
simply routing for someone else.
Most likely they are, just like you are. They don't know where it came from either.
They just see you as the next hop.
In terms of censoring transactions, on what basis would you censor transactions?
You could [decide to not] route [any] transactions at all, but that is not really censorship.
That is just you not [earning] any Lightning fees by not routing. You might as well not run a node.
In terms of looking very carefully at which nodes you route or don't route to, that doesn't make any sense.
If you say, "I will not send any payments to this node,"
someone can [send a payment through] a completely different route that doesn't involve that or your node.
It will get through. When a Lightning wallet [constructs] a route, it doesn't just find one through the network.
It finds several routes through the network and tries them in order of the [lowest] fee [first],
until it can get the payment through.
Therefore, if you [try to] create censorship, Lightning will route around it. The routing infrastructure is similar...
to how the internet works, specifically the Tor network: an encrypted, onion overlay route.
The old adage that 'the internet sees censorship as a routing problem and routes around it,'
applies very much to the Lightning Network.
You can't censor because that is just seen as a failed route.
Lightning will be able to find a route around your censorship.