当前位置: 首页 > news >正文

地方门户网站建设wordpress 模特模板

地方门户网站建设,wordpress 模特模板,ui kits,商丘家具网站建设第一个对完全隐私保护建模的方案#xff0c;基于账户模型#xff0c;要求交易双方都在线。 角色分类 中央银行 B B B#xff1a;负责发行数字货币和货币政策#xff0c;但不控制用户账户的状态#xff0c;没有能力对交易的发送者或接收者进行去匿名化或披露与特定交易相…第一个对完全隐私保护建模的方案基于账户模型要求交易双方都在线。 角色分类 中央银行 B B B负责发行数字货币和货币政策但不控制用户账户的状态没有能力对交易的发送者或接收者进行去匿名化或披露与特定交易相关的转移价值并且不负责执行支付的监管规则。维护者 M J M_J MJ​如商业银行和金融机构。负责验证交易和进行监管合规的各种审计操作它们之间共享系统状态且负责在用户发布交易时不断更新系统状态。所有的维护者的集合时公开的只要敌手控制的维护者少于一定阈值该系统就满足安全性。每个维护者都持有自己的账本存有注册信息和交易信息。本方案中 所有维护者的数量为 ∣ M ∣ D |\mathbb{M}| D ∣M∣D设定了两个需要一定数量的维护者参与的门限阈值 α \alpha α用于交易验证和 β \beta β用于执行审计协议。拥有两对ElGamal门限加密密钥对 ( p k 1 , j , s k 1 , j ) (pk_{1,j},sk_{1,j}) (pk1,j​,sk1,j​)和 ( p k 1 , j , s k 1 , j ) (pk_{1,j},sk_{1,j}) (pk1,j​,sk1,j​)。 用户 U U U作为交易的发送方或接收方。本方案中 拥有一对公私钥 ( p k U , s k U ) (pk_U,sk_U) (pkU​,skU​)。用于生成每笔交易tag T T T的私钥 a a a 交易过程 下图是用户在一笔交易中的状态变化过程 Idle惰态用户交易之前的初始状态发起交易的时候会发送交易信息 TI包含用户的新盲签名账户给所有维护者。发送交易之后用户的状态将会更新为 Receiving/Sending。Receiving/Sending处于该状态的时候会自动忽略掉环境命令生成新发送交易/接收交易接收发行货币等等也就是必须等上一笔交易完成才能进行下一笔。当从此状态返回为 **Idle **状态时代表一笔交易结束。结束有两种情况 Successful即交易成功交易双方使用了满足规范的新账户并且维护者们也收到了双方有效的交易信息TI。用户收到至少门限个维护人员的盲签名后解盲并在新账户上聚合出新的签名最后更改自己的状态至此就可以开启下一笔交易。Pending也就是交易双方没有收到足够数量的盲签名在收到 AR 中止请求包含的时候一直处于 Receiving/Sending 状态。用户在收到环境命令-中止交易 AR包含用户重新刷新盲签名的账户后用户向维护者发送 AR。此时用户的状态切换为 Aborting if 至少门限个维护者收到交易双方的 TI 对并存到了各自的账本里此时维护者就会忽略掉重新刷新的账户并且给用户发送他们自己的签名为了用户的新账户然后用户用这些盲签名解盲在新的账户聚合出签名。最后账户切换为 Idle。else 维护者们对重随机的账户签名并标记交易为中止忽略掉新账户。用户用盲签名解盲在重随机账户上聚合出签名最后账户切换为 Idle。 协议流程 初始化 主要是需要确保中央银行、维护人员都完成初始化即激活在线。参与者们各自为每个方案的密码机制生成公私钥对。公钥会被保存在公钥目录中该目录在需要的时候可以被获取到。用户会持有公私钥对以及一把私钥 a a a用于标签生成。维护者的数量为 D D D两个门限阈值 α \alpha α用于交易验证和 β \beta β用于执行审计协议 用户注册 即用户通过与维护者交互得到一个含有维护者签名的初始账户便于进行第一次交易。 初始化用户初始化自己的状态为 **Idle**接着初始化注册协议调用门限盲签名算法TBS获取带有盲签名的账户 a c c B acc^{\mathfrak{B}} accB账户的内容大致有 a c c ( B , S , R , s k U , a x , a ) acc (B,S,R,sk_U,a^x,a) acc(B,S,R,skU​,ax,a) B , S , R , x B,S,R,x B,S,R,x分别代表余额发送总值接收总值和交易计数器它们初始的时候都会被置为0计算注册信息 R I j ( a c c B ˉ , a j , r j , c o m M , p k U , π ) \mathsf{RI}_j(\mathsf{acc}^{\bar{\mathfrak{B}}},a_j,r_j,\mathsf{com}_{\mathbb{M}},\mathsf{pk}_{\mathbf{U}},\pi) RIj​(accBˉ,aj​,rj​,comM​,pkU​,π) 对 a a a进行秘密分享得到 { a j } j 1 \{a_j\}_{j1} {aj​}j1​并得到 a a a的承诺 c o m j ~ g a j ⋅ h r j \tilde{\mathsf{com}_j}g^{a_j}\cdot h^{r_j} comj​~​gaj​⋅hrj​ c o m M { c o m j ~ } j 1 D com_{\mathbb{M}} \{\tilde{\mathsf{com}_j}\}^D_{j1} comM​{comj​~​}j1D​。证明接着用户需要调用非交互式零知识证明生成 Proof π \pi π证明自己确实诚实的按照正确的方式生成了账户即 私钥 s k U sk_U skU​与用户公钥 p k U pk_U pkU​相关联。账户中的使用的 a a a就是前面秘密分享出来的 a a a且可以通过打开承诺 c o m M com_{\mathbb{M}} comM​进行还原。初始化账户各项值为0。用户知道生成账户 a c c B acc^{\mathfrak{B}} accB和承诺 c o m M com_{\mathbb{M}} comM​的两个随机数。还需要证明 x x x从1开始且每一次交易递增1。 发送注册信息用户广播自己的 c o m M com_{\mathbb{M}} comM​然后通过P2P安全通道向维护者们分别发送注册信息 每个维护人员 M j M_j Mj​ 注册验证此时每一个维护人员将会分别从广播信道和P2P通道收到的消息里找到同一个用户 U U U对其进行验证如果满足 账户已存在公钥不匹配零知识证明不通过承诺不通过未通过KYCKnow your customer的验证 则忽略掉注册请求否则就为其生成一条用户记录 U R ( a j , r j , c o m M , U ) UR(a_j,r_j,com{\mathbb{M},U}) UR(aj​,rj​,comM,U)存在自己的账本里接着为该账户生成盲签名 σ j B \sigma^{\mathfrak{B}}_j σjB​然后P2P发送给用户。 账户绑定用户收到所有的盲签名后进行解盲然后聚合为新的签名 σ B \sigma^{\mathfrak{B}} σB和自己的账户绑定。 再收到用户已接受的信息后央行也会将交易信息 T l B ψ \mathsf{Tl}_B \psi TlB​ψ发送给维护者 货币发行 即央行给用户发行资金。用户 用户向央行提出申请央行会通过安全匿名信道发送 v v v价值的金额如果此时用户在Idle状态则会通过安全匿名通道向央行发送一个新随机数 ρ \rho ρ该随机数与阈值ElGamal加密生成的 ψ \psi ψ有关。用户收到继续的指令之后将交易信息 T l U { ψ , a c c n e w , B , σ M R n d , T , v , π } \mathsf{Tl}_U\{\psi,acc^{new,\mathfrak{B}},\sigma^{Rnd}_{\mathbb{M}},T,v,\pi\} TlU​{ψ,accnew,B,σMRnd​,T,v,π}发送给维护者交易信息计算过程大致如下 对用户公钥和交易价值进行加密使用随机数 ρ \rho ρ、公钥 p k U pk_U pkU​和 g v g^v gv计算出加密公钥和交易简直密文的 ψ ( ψ 1 , ψ 2 , ψ 3 ) ( g ρ , p k 1 , M ρ ⋅ p k U , p k 2 , M ρ ⋅ g v ) \psi(\psi_1,\psi_2,\psi_3)(g^\rho,\mathsf{pk}_{1,M}^\rho\cdot\mathsf{pk}_{\mathsf{U}},\mathsf{pk}_{2,M}^\rho\cdot g^v) ψ(ψ1​,ψ2​,ψ3​)(gρ,pk1,Mρ​⋅pkU​,pk2,Mρ​⋅gv)。更新账户和签名计算出新账户 a c c n e w , B acc^{new,\mathfrak{B}} accnew,B账户的更新算法为 a c c n e w ( B n e w , S n e w , R n e w , s k U , a x 1 , a ) ( B o l d v , S o l d , R o l d v , s k U , a x ⋅ a , a ) acc^{new}{(B^{new},S^{new},R^{new},sk_U,a^{x1},a)} (B^{old}v,S^{old},R^{old}v,sk_U,a^x \cdot a ,a) accnew(Bnew,Snew,Rnew,skU​,ax1,a)(Boldv,Sold,Roldv,skU​,ax⋅a,a)然后计算新的签名 σ M R n d \sigma^{Rnd}_{\mathbb{M}} σMRnd​这个和注册协议里的获取方式一样通过TBS门限盲签名计算。 更新交易标签计算交易标签 T g a x 1 Tg^{a^{x1}} Tgax1该标签每次交易都会递增可以迫使用户每次都是用最新的账户。零知识证明最后再次进行零知识证明证明自己是诚实的进行协议的即。 新账户中的私钥与用在 ψ \psi ψ中的公钥是对应的。 T T T的生成也是正确的它的指数是使用新账户的第5个参数生成的。 σ M R n d \sigma^{Rnd}_{\mathbb{M}} σMRnd​是 σ M \sigma_{\mathbb{M}} σM​的重随机化且 σ M \sigma_{\mathbb{M}} σM​是聚合了 α \alpha α个不同的有效维护者的在原账户上的签名的签名。新账户是在旧帐户和在 ψ \psi ψ中的 v v v的基础上更新的。用户知道随机数 r r e g r_{reg} rreg​该随机数用于生成新账户、新签名和门限签名。 使用安全发送给交易信息给维护者收到上一个维护者的确认信息再发给下一个。 央行 B B B 在确认用户已收到交易后央行也会发送交易信息 T l B ψ \mathsf{Tl}_B \psi TlB​ψ给维护者收到上一个维护者的确认信息再发给下一个。 每个维护人员 M j M_j Mj​ 交易验证接收用户交易信息解析验证若交易标识符已经存在于交易账本里包含发行、支付交易、交易终止或者零知识证明验证、签名验证不通过则忽略掉此交易信息。账本交易双方记录先记录该交易到账本里等收到同样经过验证的央行交易信息 T l B \mathsf{Tl}_B TlB​时对比消息中的签名 ψ ψ ′ \psi \psi ψψ′将交易双方拼为交易对 ( T l B , T l U ) (\mathsf{Tl}_B,\mathsf{Tl}_U) (TlB​,TlU​)然后存在账本里。账本交易id在账本中存下交易标识 t i d ( ψ , T ) t_{id} (\psi,T) tid​(ψ,T)生成新的盲签名 σ j n e w , B \sigma_j^{new,\mathfrak{B}} σjnew,B​然后发送给用户 用户 在收到盲签名后进行解盲然后聚合出新的盲签名 σ M n e w \sigma_{\mathbb{M}}^{new} σMnew​。 支付 即正常的交易。 支付用户 U s U_s Us​ 如果处于 Idle则将初始化支付协议通过完全匿名信道向接收用户 U r U_r Ur​发送交易价值 v v v和与阈值签名 ψ s \psi_s ψs​生成有关的随机数 ρ s \rho_s ρs​这个签名生成和前面 ψ \psi ψ类似都是对用户公钥 p k s pk_s pks​和交易价值 v v v的加密。 接收用户 U r U_r Ur​ 收到后通过完全匿名信道返回类似的随机数 ρ r \rho_r ρr​与 ψ r \psi_r ψr​有关。该签名则是用户公钥 p k r pk_r pkr​的加密 接收用户和支付用户 U s U_s Us​和 U r U_r Ur​计算交易信息 T l s \mathsf{Tl}_s Tls​和 T l r \mathsf{Tl}_r Tlr​。其中 T l s ( ψ s , ψ r , σ s ‾ ( ψ r ) , a c c s n e w , B , σ s , M R n d , T s ) \mathsf{Tl}_s(\psi_s,\psi_r,\overline{\sigma_s}(\psi_r),\mathsf{acc}_s^{\mathsf{new},\mathfrak{B}},\sigma_{s,\mathbb{M}}^{\mathsf{Rnd}},\mathsf{T}_s) Tls​(ψs​,ψr​,σs​​(ψr​),accsnew,B​,σs,MRnd​,Ts​)计算过程如下 计算门限加密加密公钥和交易价值 ψ s ( ψ s , 1 , ψ s , 2 , ψ s , 3 ) ( g ρ s , p k 1 , M ρ s ⋅ p k s , p k 2 , M ρ s ⋅ g v ) \psi_s(\psi_{s,1},\psi_{s,2},\psi_{s,3})(g^{\rho_s},\mathsf{pk}_{1,\mathbb{M}}^{\rho_s}\cdot\mathsf{pk}_{s},\mathsf{pk}_{2,\mathbb{M}}^{\rho_s}\cdot g^v) ψs​(ψs,1​,ψs,2​,ψs,3​)(gρs​,pk1,Mρs​​⋅pks​,pk2,Mρs​​⋅gv)和 ψ r ( ψ r , 1 , ψ r , 2 ) ( g ρ r , p k 1 , M ρ r ⋅ p k r ) \psi_r(\psi_{r,1},\psi_{r,2})(g^{\rho_r},\mathsf{pk}_{1,\mathbb{M}}^{\rho_r}\cdot\mathsf{pk}_r) ψr​(ψr,1​,ψr,2​)(gρr​,pk1,Mρr​​⋅pkr​) σ s ‾ ( ψ r ) \overline{\sigma_s}(\psi_r) σs​​(ψr​)是对 ψ r \psi_r ψr​的知识签名。更新账户和签名方法和货币发行类似 a c c s n e w ( B s n e w , S s n e w , R s n e w , s k s , a s x s 1 , a s ) ( B s o l d v , S s o l d , R s o l d v , s k s , a s x ⋅ a s , a s ) acc^{new}_s{(B^{new}_s,S^{new}_s,R^{new}_s,sk_s,a_s^{x_s1},a_s)} (B^{old}_sv,S^{old}_s,R^{old}_sv,sk_s,a^x_s \cdot a_s ,a_s) accsnew​(Bsnew​,Ssnew​,Rsnew​,sks​,asxs​1​,as​)(Bsold​v,Ssold​,Rsold​v,sks​,asx​⋅as​,as​)更新交易标签计算交易标签 T s g a x 1 T_sg^{a^{x1}} Ts​gax1该标签每次交易都会递增可以迫使用户每次都是用最新的账户。零知识证明证明自己诚实进行协议即 新账户中的私钥与用在 ψ s \psi_s ψs​中的公钥是对应的。 T s T_s Ts​的生成也是正确的它的指数是使用新账户的第5个参数生成的。 σ s , M R n d \sigma^{Rnd}_{s,\mathbb{M}} σs,MRnd​是 σ s , M \sigma_{s,\mathbb{M}} σs,M​的重随机化且 σ s , M \sigma_{s,\mathbb{M}} σs,M​是聚合了 α \alpha α个不同的有效维护者的在原账户上的签名的签名。新账户是在旧帐户和在 ψ s \psi_s ψs​中的 v v v的基础上更新的。用户知道随机数 r s r_s rs​该随机数用于生成新账户、新签名和门限签名。 T I r ( ψ s , ψ r , σ r ‾ ( ψ s ) , a c c r n e w , B , σ r , M R n d , T r ) \mathsf{TI}_r(\psi_s,\psi_r,\overline{\sigma_r}(\psi_s),\mathsf{acc}_r^{\mathsf{new},\mathfrak{B}},\sigma_{r,\mathbb{M}}^{\mathsf{Rnd}},\mathsf{T}_r) TIr​(ψs​,ψr​,σr​​(ψs​),accrnew,B​,σr,MRnd​,Tr​)的计算过程类似。 双方将交易信息发送给每一个维护人员收到上一个维护者的确认信息再发给下一个。 每个维护人员 M j M_j Mj​ 交易验证接收用户交易信息解析验证若交易标识符已经存在于交易账本里包含发行、支付交易、交易终止或者零知识证明验证、签名验证不通过则忽略掉此交易信息。账本交易双方记录先记录该交易到账本里等收到同样经过验证的另一方交易信息后时对比消息中的签名 ( ψ s , ψ r ) ( ψ s ′ , ψ r ′ ) (\psi_s,\psi_r) (\psi_s,\psi_r) (ψs​,ψr​)(ψs′​,ψr′​)将交易双方拼为交易对 ( T l s , T l r ) (\mathsf{Tl}_s,\mathsf{Tl}_r) (Tls​,Tlr​)然后存在账本里。账本交易id在账本中存下交易标识 t i d ( ψ , T ) t_{id} (\psi,T) tid​(ψ,T)为双方生成新的盲签名 σ s , j n e w , B , σ r , j n e w , B \sigma_{s,j}^{new,\mathfrak{B}},\sigma_{r,j}^{new,\mathfrak{B}} σs,jnew,B​,σr,jnew,B​然后发送给对应用户。 接收用户和支付用户 收到消息后解盲然后聚合签名。 交易中止 特殊情况即维护者收到了一方的交易信息并通过验证但未收到交易另一方的有效交易信息不能满足交易对也就表示用户无法为自己新账户的生成收到足够数量的盲签名。此时支付用户 发送交易中止信息 A R ( a c c r , B , σ M R n d , T , π ) \mathrm{AR~~(acc^{r,\mathfrak{B}},\sigma_{M}^{Rnd},T,\pi)} AR  (accr,B,σMRnd​,T,π)给维护者其中 更新账户为 a c c r ( B r , S r , R r , s k U , a x 1 , a ) ( B o l d , S o l d , R o l d , s k U , a x ⋅ a , a ) acc^r{(B^r,S^r,R^r,sk_U,a^{x1},a)} (B^{old},S^{old},R^{old},sk_U,a^x \cdot a ,a) accr(Br,Sr,Rr,skU​,ax1,a)(Bold,Sold,Rold,skU​,ax⋅a,a) a c c r , B acc^{r,\mathfrak{B}} accr,B代表盲化版本。 T g a x 1 T g^{a^{x1}} Tgax1为最近使用的交易tag π \pi π为相应的零知识证明 交易信息的计算过程如下 计算 a c c r , B , σ M R n d acc^{r,\mathfrak{B}},\sigma_{M}^{Rnd} accr,B,σMRnd​执行零知识证明即 T T T的生成也是正确的它的指数是使用新账户的第5个参数生成的。 σ M R n d \sigma^{Rnd}_{\mathbb{M}} σMRnd​是 σ M \sigma_{\mathbb{M}} σM​的重随机化且 σ s , M \sigma_{s,\mathbb{M}} σs,M​是聚合了 α \alpha α个不同的有效维护者的在原账户上的签名的签名。新账户是在旧帐户的基础上更新的也就是金额回到交易之前的状态。用户知道随机数 r a b r r_{abr} rabr​该随机数用于生成新账户、新签名和门限签名。 发送交易中止信息 A R ( a c c r , B , σ M R n d , T , π ) \mathrm{AR~~(acc^{r,\mathfrak{B}},\sigma_{M}^{Rnd},T,\pi)} AR  (accr,B,σMRnd​,T,π)给每一个维护人员收到上一个维护者的确认信息再发给下一个。 每个维护人员 M j M_j Mj​ 交易验证解析消息若交易标识符已经被中止账本里存在一条中止记录或者零知识证明验证、签名验证不通过则忽略掉此交易信息。拜占庭投票若自己的账本里存在当前交易的标签 T T T发行或者支付交易则向拜占庭协议里输入1否则输入0。若拜占庭结果为1代表至少有一个诚实的维护人员存下了此前的交易则 存下了交易的诚实维护人员将该交易对 ( T l s , T l r ) (\mathsf{Tl}_s,\mathsf{Tl}_r) (Tls​,Tlr​)通过认证信道发送给其他的维护人员。收到的信息的维护人员对该交易对进行验证无效则忽略有效则对该交易对 a c c s n e w , B a c c r n e w , B \mathsf{acc}_s^{\mathsf{new},\mathfrak{B}}\mathsf{acc}_r^{\mathsf{new},\mathfrak{B}} accsnew,B​accrnew,B​进行签名 σ s , j n e w , B , σ r , j n e w , B \sigma_{s,j}^{new,\mathfrak{B}},\sigma_{r,j}^{new,\mathfrak{B}} σs,jnew,B​,σr,jnew,B​。如果没有存下相关交易对和交易标签则存下然后将对应签名发送给对应交易双方。 接收用户和支付用户收到消息后解盲然后聚合签名交易完成同时代表中止交易失败。 若拜占庭结果为0代表大部分维护者的账本是没有该交易标签的。 已经存有交易对的维护者从自己的账本里删除掉该交易对信息。存储下新的交易中止信息的标签 t i d ( A b o r t e d , T ) t_{id} (Aborted,T) tid​(Aborted,T)。对重新刷新的账户进行签名 σ j r , B \sigma_{j}^{r,\mathfrak{B}} σjr,B​然后发送给用户。 接收用户收到消息后解盲然后聚合签名交易完成中止交易成功。 审计 隐私撤销 提交完全匿名的交易对 审计委员会撤销其隐私并返回交易的元数据即双方用户以及交易价值。 收到撤销特定交易tag的指令之后每个维护人员 从账本里查找到与该tag t i d t_{id} tid​相关的加密交易对 ( ψ s , ψ r ) (\psi_s,\psi_r) (ψs​,ψr​)并对其解密得到 ( ψ s , 1 s k 1 , j , ψ s , 1 s k 2 , j , ψ r , 1 s k 1 , j ) (\psi_{s,1}^{sk_1,j},\psi_{s,1}^{sk_2,j},\psi_{r,1}^{sk_1,j}) (ψs,1sk1​,j​,ψs,1sk2​,j​,ψr,1sk1​,j​)接着调用零知识证明协议证明解密正确。通过认证信道接收来自其他维护人员的信息需要达到门限阈值的数量和相应拉格朗日系数调用恢复函数恢复出交易信息里的双方用户公钥 ( p k s , p k r ) (pk_s,pk_r) (pks​,pkr​)以及交易值 g v g^v gv。同样需要调用零知识证明协议证明解密正确。调用密钥检索函数通过公钥寻找到对应用户并通过 g v g^v gv计算出 v v v。 追踪溯源 提交用户的标识符审计委员会追溯出该用户的所有交易。通过用户标识符从注册协议中查到用户的交易计数器 a a a的秘密分享维护者相互计算交易标签直到该标签不存在于账本上由此找到用户最近的交易。收到追溯的指令之后每个维护人员 从账本找到用户注册记录使用零知识证明证明里面的 a j a_j aj​是之前得到的那个可以通过注册协议广播的 c o m j ~ \tilde{\mathsf{com}_j} comj​~​得证即证明 c o m j ~ ∈ c o m M \tilde{\mathsf{com}_j} \in com_{\mathbb{M}} comj​~​∈comM​。通过认证信道接收其他维护人员的信息 x ‾ j ( соm ~ j , g ˙ a j , g ˙ ) \overline{\mathrm{x}}_j(\tilde{\text{соm}}_j,\dot{g}^{a_j},\dot{g}) xj​(соm~j​,g˙​aj​,g˙​)以及对应的零知识证明proof需要达到门限阈值的数量和相应拉格朗日系数其中 g ˙ g a e e ← 0 \dot{g}g^{a^e}e\leftarrow 0 g˙​gaee←0证proof并计算出 g ˙ a \dot{g}^{a} g˙​a接着从自己账本里寻找包含此交易tag g ˙ a \dot{g}^{a} g˙​a的交易若存在则将交易标签往前提一个 e ← e 1 e\leftarrow e1 e←e1并存该交易相关 t i d t_{id} tid​和相应参与双方信息。若不存在则向其他所有参与者发送消息说明自己这里没有包含此交易tag g ˙ a \dot{g}^{a} g˙​a的交易。若收到达到门限阈值数量个不包含交易tag的消息则可以输出目前位置记录的所有交易信息 t i d t_{id} tid​相应参与双方信息。 小结 交易中止这块是特殊情况不是很理想。账户丢失被盗这类问题没有解决。离线情景没有考虑 参考 Kiayias, Aggelos, Markulf Kohlweiss, and Amirreza Sarencheh. “Peredi: Privacy-enhanced, regulated and distributed central bank digital currencies.” Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security. 2022.
http://www.zqtcl.cn/news/340875/

相关文章:

  • 做外汇网站代理公关团队
  • wordpress登录页面创建seo网站平台
  • 兰州seo整站优化服务商企业网站seo优化方案
  • 高校网站建设管理制度Wordpress动图主题
  • 手机ui设计网站自己做传奇网站
  • 长春网站建设吉网传媒实力牜网站pv是什么意思
  • 西安网站建设培训班无锡seo报价
  • 网站设计的技能高端品牌网站建设公司哪家好
  • 专门做二手书网站或app陕西交通建设集团官方网站
  • 微信商城怎么开徐州网站推广优化
  • 服装店网站建设规划书山西网站的公司
  • 龙岩做网站改版一般多久wordpress后台登入
  • 网站建设税收编码怎么联系企业的网站建设
  • 色块布局网站首页模板各种网站解决方案
  • 电商建站工具手机编辑网页的软件有哪些
  • 网站腾讯备案吗wordpress英文主题怎么用
  • 网站内容建设的建议wordpress主题enfold
  • 哪里做网站优化石家庄学校网站建设
  • 诸暨北京有哪些网站制作公司wordpress菜单外链
  • 免费建网站的步骤wordpress分享可见内容
  • 成都网站建设公司服务商自己做网站还有出路吗
  • 汉南城乡建设局网站网站建设新手教程
  • 网站用途及栏目说明软件外包公司开发流程
  • 公司做网站做淘宝好还是自建网站好
  • 成功网站案例有哪些淮安市交通建设局网站
  • 购买虚拟机建网站网站开发合同变更
  • 备案的网站做跳转不影响备案把购彩网站建设
  • 2w网站建设模式百度应用市场
  • vps主机访问网站湖南建站网站
  • 滨州正规网站建设公司用r语言 做网站点击热力图