去中心化的特点是没有中央节点可以拥有绝对的权威,所有节点在协调和管理数据时都是通过一种共识机制,即去中心化共识机制,所有的节点都可以拥有平等的权利,因为没有一个节点可以控制其他节点;另外,每个节点的权威状态也都是相同的,而不存在强弱之分,所以它更加安全,没有单点故障。但是,去中心化的方式在系统使用费用上比较高,而且网络中存在分歧和分层,需要别的一些节点来处理这些问题,所以它的系统性能可能更低。
区块链技术通过将中心化和去中心化的技术紧密结合,可以最大程度地发挥出它们各自的优势,使它在安全性和性能等方面都得到最大程度的充分发挥。区块链的架构是由许多数据节点组成的,每个节点都可以自由地拥有网络上的数据,因此,区块链架构能够保护用户数据的安全性和去中心化的特性。所以,区块链技术混合了中心化和去中心化的优点,是一种刚性、可扩展的架构,为大家提供了
区块链技术的点对点、共同参与等特点,保障了参与者最大程度上的自由和隐私,唤醒参与者的自我意识。每一个“链”上的参与者都可以读取、写入数据,确认他人数据,同时自己的数据也可以被其他人读取和确认。“链”上的每一笔交易都要向整个网络广播,所有的参与者都会因此而知情。人们基于对区块链技术的信任而相互信任,这颠覆了传统的信任概念和信用制度。区块链上的所有数据均不可篡改,区块链技术使得数据永远不会真正与人分离,并确保数据始终用于预先定义的目的
function initialize(uint160 sqrtPriceX96) external override { require(slot0.sqrtPriceX96 == 0, 'AI'); int24 tick = TickMath.getTickAtSqrtRatio(sqrtPriceX96); (uint16 cardinality, uint16 cardinalityNext) = observations.initialize(_blockTimestamp()); slot0 = Slot0({ sqrtPriceX96: sqrtPriceX96, tick: tick, observationIndex: 0, observationCardinality: cardinality, observationCardinalityNext: cardinalityNext, feeProtocol: 0, unlocked: true }); emit Initialize(sqrtPriceX96, tick); }
省略部分非关键步骤,我们先来看添加流动性的函数:
struct AddLiquidityParams { address token0; // token0 的地址 address token1; // token1 的地址 uint24 fee; // 交易费率 address recipient; // 流动性的所属人地址 int24 tickLower; // 流动性的价格下限