It is possible to verify payments without running a full network node. A user only needs to keep a copy of the block headers of the longest proof-of-work chain, which he can get by querying network nodes until he's convinced he has the longest chain, and obtain the Merkle branch linking the transaction to the block it's timestamped in. He can't check the transaction for himself, but by linking it to a place in the chain, he can see that a network node has accepted it, and blocks added after it further confirm the network has accepted it.
As such, the verification is reliable as long as honest nodes control the network, but is more vulnerable if the network is overpowered by an attacker. While network nodes can verify transactions for themselves, the simplified method can be fooled by an attacker's fabricated transactions for as long as the attacker can continue to overpower the network. One strategy to protect against this would be to accept alerts from network nodes when they detect an invalid block, prompting the user's software to download the full block and alerted transactions to confirm the inconsistency. Businesses that receive frequent payments will probably still want to run their own nodes for more independent security and quicker verification.
不运行全节点网络也可以验证交易,只要用户(节点)保留了一份拥有最长工作量证明链的区块头的副本。他需要不停地询问网络节点,直到他确认拥有了最长链他才可以获得副本,并获得了将交易链接到区块上的默克分支。用户(节点)不能自己验证交易,但是可以把交易链到区块上。网络节点会接受这个交易,这个交易块之后的其他区块会确认网络已经接受了这笔交易。
对于这种验证方式,只要诚实节点控制网络,验证就是可靠的;但是,网络被攻击者控制,验证就会更脆弱。当网络节点可以自己验证交易,只要攻击者持续控制网络算力,简单交易验证方式就会被攻击者伪造的交易所欺骗。防范这种攻击的策略是接受网络节点检测到无效区块时发出的警报,提醒用户去下载全部区块和被预警的交易,来验证信息的一致性。为了更独立的安全性和更快速的验证,交易频繁的商业机构可能会自己运行节点。
高亮部分说明:单个节点无法自己验证交易,整个网络可以自己验证所有交易。
网友评论