*Lưu ý của biên tập viên: Công nghệ này được xuất bản vào năm 2023 IEEE Intl Conf về Xử lý song song và phân tán với các ứng dụng, Dữ liệu lớn và Điện toán đám mây, Điện toán & Truyền thông bền vững, Mạng & Điện toán xã hội (ISPA/BDCloud/SocialCom/SustainCom). DOI: 10.1109/ISPA-BDCloud-SocialCom-SustainCom59178.2023.00092*
# Giới thiệu
Li17 là chữ ký ngưỡng 2-2 ECDSA nhanh nhất và an toàn nhất trong ngành; CGGMP20 là chữ ký ngưỡng tn ECDSA an toàn nhất và tương đối nhanh nhất trong ngành. Trong lĩnh vực lưu ký tài sản kỹ thuật số, chữ ký ngưỡng 2-3 ECDSA được sử dụng rộng rãi. Trong trường hợp này, chữ ký Li17 2-2 không thể được sử dụng trực tiếp và cần được sửa đổi cho phù hợp. Cụ thể, những sửa đổi sau được thực hiện: Alice và Bob chạy giao thức tạo khóa phi tập trung để tạo ra các đoạn khóa riêng $a$ và $b$ tương ứng; sau đó chạy giao thức làm mới khóa phi tập trung hai lần để tạo $(a ', b')$; và $(a'', b'')$; Alice gửi $a'$ một cách bí mật cho Carol và Bob gửi $b''$ một cách bí mật cho Carol. Do đó, Alice và Bob sử dụng phân chia khóa riêng $(a,b)$, Alice và Carol sử dụng phân chia khóa riêng $(a'', b'')$, còn Bob và Carol sử dụng phân chia khóa riêng $(a' ,b ')$, đều có thể đạt được chữ ký. Tuy nhiên, quy trình trên gửi trực tiếp các đoạn khóa riêng tư. Nếu các đoạn khóa riêng tư bị rò rỉ, trách nhiệm sẽ không thể truy tìm được và áp lực lưu trữ sẽ tăng lên! Mặt khác, chữ ký ngưỡng CGGMP20 tn yêu cầu sử dụng $t=2,n=3$. Tuy nhiên, độ phức tạp giao thức của CGGMP20 tương đối cao nên không có cách nào để giết một con gà bằng một con dao lớn!
Đứng trên vai những người khổng lồ Li17, bài viết này đề xuất chữ ký ngưỡng ECDSA 2-n nhanh chóng và an toàn. Giao thức kế thừa tính bảo mật và tốc độ của chữ ký Li17 2-2.
Cụ thể, trong giao thức tạo khóa phi tập trung và giao thức làm mới khóa, ngưỡng được xây dựng dựa trên đa thức nội suy Lagrange để đạt được chữ ký ngưỡng 2-n. Ngoài ra, ở giai đoạn ký trước, một tin nhắn ngẫu nhiên được tính toán trước; ở giai đoạn ký trực tuyến, chỉ cần ký sự khác biệt giữa tin nhắn và tin nhắn ngẫu nhiên, từ đó cải thiện tốc độ của giai đoạn ký trực tuyến. Do đó, chữ ký ngưỡng 2-n ECDSA trong bài viết này an toàn như giao thức chữ ký Li17 2-2 và tốc độ ký nhanh hơn.
# 2-n chữ ký ngưỡng ECDSA
Khởi tạo: Bộ tạo nhóm đường cong elip $\mathbb{G}$ là $G$ và thứ tự là $\tilde{q}$.
## Giao thức 1: Tạo khóa phi tập trung
**Bước 1:** Mỗi người dùng $i$ tạo cặp khóa Paillier $({{N} _{i}},{{p} _{i}},{{q} _{i}} )$ .
Chọn một số ngẫu nhiên ${{u></i}}\in [0, \tilde{q}-1]$ và tính các điểm trên đường cong elip như sau:
$${{U} _{i}}:={{u__{i}}\cdot G.$$
Sau đó tính toán lời hứa và mở lời hứa:
$$(KG{{C></i}},KG{{D} _{i}}):=\mathsf{Com}({{U></i}}).$$
Cam kết phát sóng $KG{{C} _{i}}$ và khóa công khai Paillier ${{N__{i}}$, lưu trữ số ngẫu nhiên ${{u></i}}$, khóa riêng Paillier ${ {p} _{i}},{{q_{i}}$ và cam kết mở $KGD_i$.
Cam kết phát sóng $KG{{C} _{i}}$ và khóa công khai Paillier ${{N__{i}}$, lưu trữ số ngẫu nhiên ${{u></i}}$, khóa riêng Paillier ${ {p} _{i}},{{q_{i}}$ và cam kết mở $KGD_i$.
**Bước 2:** Khi nhận được cam kết $KG{{C} _{j}},j\ne i$ và khóa công khai Paillier ${{N__{j}},j\ne i từ những người dùng khác Sau $, người dùng $i$ truyền bá cam kết mở $KG{{D} _{i}}$ của mình tới những người dùng khác.
**Bước 3:** Mỗi người dùng $i$ xác minh tính chính xác của tất cả các cam kết mở nhận được từ những người dùng khác.
Nếu hợp lệ, khóa chung được tính như sau:
$$PK:=\sum\limits_{i=1}^{n}{U_i}.$$
Xây dựng **Dự phòng Lagrange**: chọn số ngẫu nhiên $a_i\in [0,\tilde{q}-1]$ và xây dựng đa thức bậc nhất:
$${{p></cdot a_i.$$
Lưu trữ ${{p} _{i}}(i)$ và bí mật gửi ${{p__{i}}(j)$ cho người dùng khác $j$.
Tính toán **Bộ dữ liệu Feldman**:
$${{A} _{i}}:={{a__{i}}\cdot G$$
Phát sóng $A_i$.
**Bước 4:** Mỗi người dùng $i$ nhận được ${{p__{j}}(i)$ và $\{{{A__{j}}\},j do người dùng khác gửi =1 ,...,n $, xác minh tính nhất quán của **Bộ dữ liệu Feldman**:
$${{p} _{j}}(i)\cdot G={{U} _{j}}+i\cdot {{A} _{j}}.$$
Tính toán các phân đoạn khóa riêng và phân đoạn khóa chung như sau:
$$\bắt đầu{căn chỉnh}
& {{x} _{i}}:=\sum\limits_{j=1}^{n}{{{p__{j}}(i)}\,\bmod \,\tilde{q} =sk+\sum\limits_{j=1}^{n}{(j\cdot {{a></j}})}\,\bmod \,\tilde{q}, \\
& {{X} _{i}}:={{x} _{i}}\cdot G. \\
\end{căn chỉnh}$$
Sau đó, sử dụng zk-Schnorr để chứng minh rằng nó biết đoạn khóa riêng ${{x} _{i}}$ và zk-Paillier-Blum để chứng minh rằng ${{N__{i}}$ là Paillier -Mô đun Blum.
Mã hóa ${{x} _{i}}$ bằng khóa công khai Paillier ${{N} _{i}}$
$${{c} _{key,i}}:=\mathsf{Enc} _{{{N} _{i}}}({{x} _{i}})$$
bằng chứng phạm vi zk
$$zk\left\{ {{x_i},{r_i}\left|
{{c} _{key,i}} ={{(1+{{N__{i}})}^{{x__{i}}}}r_{i}^{{{N __{i}}}\bmod N_{i}^{2}, \\
{{X} _{i}} ={{x} _{i}}\cdot G, \\
{{x} _{i}} \in {{\mathbb{Z}__{\tilde{q}}}
{{X} _{i}} ={{x} _{i}}\cdot G, \\
{{x} _{i}} \in {{\mathbb{Z}__{\tilde{q}}}
\end{mảng} \right.} \right\}$$
Phát đoạn khóa công khai $X_i$, bản mã $c_{key,i}$ và ba bằng chứng zk.
**Bước 5:** Khi mỗi người dùng $i$ nhận được các đoạn khóa công khai của người dùng khác ${{X} _{j}},j\ne i$ và bằng chứng zk, sau đó xác minh ba bằng chứng zk . Ngoài ra, mỗi người dùng sẽ xác minh tính nhất quán của phép nội suy Lagrange như sau:
$$PK=\lambda _{i,j}\cdot X_i +\lambda _{j,i}\cdot X_j,$$
Trong số đó, $\lambda_{i,j}$ và $\lambda_{j,i}$ là các hệ số nội suy Lagrange tương ứng.
Sau khi quá trình thực thi giao thức tạo khóa phi tập trung hoàn tất, mỗi người dùng $i$ sẽ nhận được một đoạn khóa riêng $x_i$, một đoạn khóa chung $X_i$, một khóa chung $PK$ và bản mã $n-1$ $ c_{key_j}, j \neq i$.
## Giao thức 2: Làm mới khóa phi tập trung
**Bước 1:** Mỗi người dùng $i,i=1,...,n$ chọn một số ngẫu nhiên $a_i'\in [0,\tilde{q}-1]$ và xây dựng **Đa thức Lagrange * *:
$$p_i'(x)=x\cdot a_i'.$$
Lưu ý rằng số hạng không đổi là 0. Lưu trữ ${{p} _{i}}'(i)$ và bí mật gửi ${{p__{i}}'(j)$ cho mỗi người dùng $j$. Sau đó, tính **bộ dữ liệu Feldman**
$$A_i':=a_i'\cdot G$$
Phát sóng $A_i'$.
**Bước 2:** Mỗi người dùng $i$ nhận được $p_j'(i)$ và $\{A_j'\},j=1,...,n$ từ những người dùng khác và xác minh phần tử **Feldman Tính nhất quán của nhóm **:
$$p_j'(i)\cdot G=i\cdot A_j'.$$
Tính toán phân đoạn khóa riêng mới và phân đoạn khóa chung mới như sau:
$$\bắt đầu{căn chỉnh}
& x_i':=x_i+a_j', \\
& X_i':=x_i'\cdot G. \\
\end{căn chỉnh}$$
Sau đó, zk-Schnorr chứng minh rằng nó biết $x_i'$.
Mã hóa $x_i'$ bằng khóa công khai Paillier ${{N} _{i}}$
$$c_{key,i}':=\mathsf{Enc}}}(x_i')$$
bằng chứng phạm vi zk:
$$zk\left\{ {x_i',r_i'\left|
c_{key,i}' = {(1 + {N_i})^{x_i'}}{(r_i')^{{N_i}}}\bmod N_i^2\\
X_i' = x_i' \cdot G\\
c_{key,i}' = {(1 + {N_i})^{x_i'}}{(r_i')^{{N_i}}}\bmod N_i^2\\
X_i' = x_i' \cdot G\\
x_i' \in {\mathbb{Z__{\tilde q}}
\end{mảng} \right.} \right\}$$
Phát đoạn khóa công khai mới $X_i'$, bản mã $c_{key,i}'$ và hai bằng chứng zk.
**Bước 3:** Mỗi người dùng $i$ nhận các đoạn khóa công khai $X_j',j\ne i$ và hai bằng chứng zk, đồng thời xác minh tính hợp lệ của hai bằng chứng zk. Ngoài ra, mỗi người dùng có thể xác minh tính nhất quán của phép nội suy Lagrange:
$$PK=\lambda _{i,j}\cdot X_i' +\lambda _{j,i}\cdot X_j',$$
Trong số đó, ${{\lambda} _{i,j}}$ và ${{\lambda _{j,i}}$ là các hệ số nội suy Lagrange tương ứng.
Sau khi giao thức làm mới khóa phi tập trung hoàn tất, mỗi người dùng $i$ nhận được một đoạn khóa riêng mới $x_i'$, một đoạn khóa chung mới $X_i'$ và $n -1$ Bản mã mới $c_{key_j}',j \neq i$.
## Thỏa thuận 3: Thỏa thuận ký trước
**Bước 1:** Người dùng $i$ chọn một số ngẫu nhiên ${{k} _{i}}\in [0,\tilde{q}-1]$, được tính như sau:
$${{R} _{i}}:={{k__{i}}\cdot G.$$
zk-Schnorr chứng minh rằng nó biết số ngẫu nhiên ${{k} _{i}}$:
$$proo{{f} _{i}}:=zk\left\{ {{k} _{i}}\left| {{R} _{i}}={{k} _{i}} \cdot G \right\}.$$
Đối với ${{R__{i}}$ và $proo{{f></i}}$, hãy tính toán cam kết và mở cam kết
$$\left[ KG{{C></i}},KG{{D} _{i}} \right]:=\mathsf{Com}({{R__{i}},proo{{ f__{i}}).$$
Gửi cam kết $KG{{C></i}}$ tới người dùng $j$.
**Bước 2:** Sau khi nhận được cam kết $KG{{C></i}}$, người dùng $j$ chọn một số ngẫu nhiên ${{k} _{j}}\in [0,\tilde { q}-1]$, tính toán
$${{R} _{j}}:={{k} _{j}}\cdot G$$
zk-Schnorr chứng minh rằng nó biết số ngẫu nhiên
$$proo{{f} _{j}}:=zk\left\{ {{k} _{j}}\left| {{R} _{j}}={{k} _{j}} \cdot G \right\}.$$
Sau đó gửi $({{R__{j}},proo{{f></j}})$ cho người dùng $i$.
**Bước 3:** Sau khi nhận được $({{R} _{j}},proo{{f></j}})$, người dùng $i$ xác minh tính nhất quán của cam kết. Nếu không nhất quán, hãy từ chối; nếu không, cam kết $KG{{D} _{i}}$ sẽ được mở và gửi cho người dùng $j$.
**Bước 4:** Sau khi nhận được $({{R__{i}},proo{{f></i}})$, người dùng $j$ sẽ kiểm tra tính nhất quán của lời hứa. Nếu không nhất quán thì bác bỏ; ngược lại thì tính như sau:
$$\bắt đầu{căn chỉnh}
R&:={{k} _{j}}\cdot {{R} _{i}}, \\
$$\bắt đầu{căn chỉnh}
R&:={{k} _{j}}\cdot {{R__{i}}, \\
r&:={{R__{[x]}}\bmod \tilde{q},
\end{căn chỉnh}$$
trong đó ${{R__{[x]}}$ biểu thị tọa độ $x$ của $R$.
Chọn một tin nhắn ngẫu nhiên ${{m__{0}}\in [0,\tilde{q}-1]$ và một số ngẫu nhiên $\rho \in [0, {{\tilde{q}}^{ 2}}-1]$, tính toán
$${{c}^{0}}:=\mathsf{Enc}}}(k_{j}^{-1}\cdot {{m__{0} }\bmod \tilde{q}+\rho \cdot \tilde{q}).$$
Sau đó tính như sau
$$\bắt đầu{căn chỉnh}
& {{c} _{1}}:=\left( ({{\lambda _{i,j}}\odot {{c} _{key,i}})\oplus \mathsf{Enc} miền ), \\
& {{c} _{2}}:={{c} _{0}}\oplus {{c} _{1}}.
\end{căn chỉnh}$$
Cuối cùng, ${{c} _{2}}$ được gửi tới người dùng $i$ và $({{m} _{0}},r)$ được lưu trữ.
**Bước 5:** Sau khi nhận được ${{c} _{2}}$, người dùng $i$ sử dụng khóa riêng Paillier của mình để giải mã như sau
$${{s} _{0}}:=\mathsf{Dec} _{{{p} _{i}},{{q} _{i}}}({{c} _{2}} ).$$
Sau đó tính toán như sau
$$\bắt đầu{căn chỉnh}
& {{s} _{1}}:=k_{i}^{-1}\cdot {{s__{0}}\bmod \tilde{q}, \\
& R':={{k} _{i}}\cdot {{R__{j}},\\
& r':=R_{[x]}'\bmod \tilde{q}.
\end{căn chỉnh}$$
Lưu trữ ${{s__{1}}$ và $r'$.
*Phân tích 1:*
bởi vì
$${{k} _{j}}\cdot {{R} _{i}}={{k} _{i}}{{k} _{j}}\cdot G={{k} {i}}\cdot {{R} _{j}}$$
Do đó, $R=R'$, do đó $r=r'$.
Mặt khác, biểu thức của ${{c} _{1}}$ là:
$$\bắt đầu{căn chỉnh}
{{c></{1}} & =\left( ({{\lambda} _{i,j}}\odot {{c} _{key,i}})\oplus \mathsf{Enc} _ {{N} _{i}}}({{\lambda _{j,i}}{{x} _{j}}) \right)\odot (k_{j}^{-1}r) \\
{{c></{1}} & =\left( ({{\lambda} _{i,j}}\odot {{c} _{key,i}})\oplus \mathsf{Enc} _ {{N} _{i}}}({{\lambda _{j,i}}{{x} _{j}}) \right)\odot (k_{j}^{-1}r) \\
& =\left( \mathsf{Enc}}}({{\lambda} _{i,j}}{{x} _{i}})\oplus \mathsf{ Enc} _{{{N} _{i}}}({{\lambda _{j,i}}{{x} _{j}}) \right)\odot (k_{j}^{- 1}r) \\
& =\mathsf{Enc}}}({{\lambda} _{i,j}}{{x></i}}+{{\lambda _{j ,i}}{{x} _{j}})\odot (k_{j}^{-1}r) \\
& =\mathsf{Enc}}}(x)\odot (k_{j}^{-1}r) \\
& =\mathsf{Enc} _{{{N__{i}}}(k_{j}^{-1}rx \\.
\end{căn chỉnh}$$
Biểu thức của ${{c} _{2}}$ là:
$$\bắt đầu{căn chỉnh}
{{c} _{2}} & ={{c} _{0}}\oplus {{c} _{1}} \\
& =\mathsf{Enc}}}(k_{j}^{-1}{{m__{0}}\bmod \tilde{q}+\rho \tilde {q})\oplus \mathsf{Enc} _{{{N} _{i}}}(k_{j}^{-1}rx) \\
& =\mathsf{Enc}}}(k_{j}^{-1}{{m__{0}}\bmod \tilde{q}+\rho \tilde {q}+k_{j}^{-1}rx \\).
\end{căn chỉnh}$$
Do đó, biểu thức của ${{s__{0}}$ là:
$${{s} _{0}}=k_{j}^{-1}{{m__{0}}\bmod \tilde{q}+\rho \tilde{q}+k_{j} ^{-1}rx.$$
Biểu thức của ${{s__{1}}$ là:
$$\bắt đầu{căn chỉnh}
{{s} _{1}} & =k_{i}^{-1}{{s__{0}}\bmod \tilde{q} \\
& =k_{i}^{-1}k_{j}^{-1}{{m__{0}}\bmod \tilde{q}+k_{i}^{-1}k_{j} ^{-1}rx\bmod \tilde{q} \\
& ={{k}^{-1}}{{m__{0}}+{{k}^{-1}}rx\bmod \tilde{q}.
\end{căn chỉnh}$$
*Phân tích 2:* Nếu muốn đạt được ngưỡng ký chủ động và an toàn, người tham gia phải làm mới các phân đoạn khóa riêng của họ sau mỗi chữ ký. Giao thức làm mới khóa yêu cầu 2 vòng tương tác, trong khi giao thức ký trước yêu cầu 4 vòng. Để nâng cao hiệu quả, hai giao thức có thể được tích hợp. Cụ thể, dữ liệu tương tác của giao thức ký trước và giao thức làm mới khóa phi tập trung có thể được truyền đồng thời. Cách tiếp cận này loại bỏ hai vòng tương tác riêng biệt cho giao thức làm mới khóa phi tập trung và đơn giản hóa các quy trình như xác thực người dùng, nâng cao hiệu quả.
## Giao thức 4: Chữ ký trực tuyến
**Bước 1:** Đối với tin nhắn $msg$, người dùng $j$ tính toán
## Giao thức 4: Chữ ký trực tuyến
**Bước 1:** Đối với tin nhắn $msg$, người dùng $j$ tính toán
$$\tilde{m}:=(\mathsf{Hash}(msg)-{{m__{0}})\bmod \tilde{q}.$$
sau đó tính toán
$${{c}^{3}}:=\mathsf{Enc}}}(k_{j}^{-1}\tilde{m}\bmod \tilde{ q}).$$
Gửi ${{c} _{3}}$ cho người dùng $i$.
**Bước 2:** Sau khi nhận được ${{c} _{3}}$, người dùng $i$ sử dụng khóa riêng của mình để giải mã
$${{s} _{2}}:=\mathsf{Dec} _{{{p} _{i}},{{q} _{i}}}({{c} _{3}} ).$$
Sau đó tính toán như sau:
$$\bắt đầu{căn chỉnh}
& {{s} _{3}}:=(k_{i}^{-1}{{s__{2}})\bmod \tilde{q}, \\
& {{s} _{4}}:=({{s} _{1}}+{{s} _{3}})\bmod \tilde{q}.
\end{căn chỉnh}$$
Đặt $s=\min \{{{s} _{4}},\tilde{q}-{{s__{4}}\}$. Đối với tin nhắn $msg$, nếu $(r, s)$ là chữ ký hợp lệ, hãy chấp nhận nó; nếu không, hãy từ chối nó.
*Phân tích 1:* Các biểu thức của ${{s} _{2}}$ và ${{s} _{3}}$ lần lượt là
$$\bắt đầu{căn chỉnh}
& {{s__{2}}=k_{j}^{-1}\tilde{m}\bmod \tilde{q}, \\
& {{s__{3}}=k_{i}^{-1}k_{j}^{-1}\tilde{m}\bmod \tilde{q}={{k}^{-1 }}\tilde{m}\bmod \tilde{q}.
\end{căn chỉnh}$$
Biểu thức của ${{s__{4}}$ là
$$\bắt đầu{căn chỉnh}
{{s} _{4}} & =({{s__{1}}+{{s__{3}})\bmod \tilde{q} \\
& ={{k}^{-1}}{{m__{0}}+{{k}^{-1}}rx+{{k}^{-1}}\tilde{m}\bmod \tilde{q} \\
& ={{k}^{-1}}(\tilde{m}+{{m__{0}})+{{k}^{-1}}rx \\
& ={{k}^{-1}}(\mathsf{Hash}(msg)+rx) .\\
\end{căn chỉnh}$$
Do đó, $(r, s)$ là chữ ký hợp lệ cho tin nhắn $msg$.
*Phân tích 2:*
\end{căn chỉnh}$$
Do đó, $(r, s)$ là chữ ký hợp lệ cho tin nhắn $msg$.
*Phân tích 2:*
(1) Tính đối xứng của đường cong elip mang lại tính linh hoạt cho chữ ký ECDSA. Nếu $(r, s)$ là chữ ký hợp lệ thì $(r, \tilde{q}-s)$ cũng hợp lệ. Do đó, giao thức chữ ký ngưỡng 2-n có tính linh hoạt, tức là cả $(r, s)$ và $(r, \tilde{q}-s)$ đều là chữ ký hợp lệ. Để ngăn chặn sự cố này, hãy sử dụng $s = \min\{s, \tilde{q}-s\}$ để chuẩn hóa giá trị của $s$ và loại bỏ tính linh hoạt (2) Để ngăn chặn các cuộc tấn công BitForge, nếu chữ ký; không thành công thì thực hiện giao thức giao thức làm mới khóa phi tập trung.
**người giới thiệu**
1. Lindell Y. Ký kết ECDSA hai bên bảo mật nhanh chóng[C]//Những tiến bộ trong Mật mã học–CRYPTO 2017: Hội nghị mật mã quốc tế thường niên lần thứ 37, Santa Barbara, CA, Hoa Kỳ, ngày 20–24 tháng 8 năm 2017, Kỷ yếu, Phần II 37. Nhà xuất bản Quốc tế Springer, 2017: 613-644.
2. Canetti R, Gennaro R, Goldfeder S, và những người khác. UC không tương tác, chủ động, ngưỡng ECDSA với các điểm hủy bỏ có thể xác định được[C]//Kỷ yếu của Hội nghị ACM SIGSAC 2020 về Bảo mật Máy tính và Truyền thông 2020: 1769-1787.
3. Makriyannis N, Yomtov O.: Các cuộc tấn công trích xuất khóa thực tế trong các ví MPC hàng đầu[J].
Về SINOHOPE
SINOHOPE Technology Holdings Co., Ltd. (gọi tắt là "SINOHOPE", mã chứng khoán: 1611.HK) tập trung vào việc lưu ký tài sản kỹ thuật số và cung cấp nhiều giải pháp lưu ký khác nhau để giúp mọi doanh nghiệp sử dụng tài sản kỹ thuật số một cách an toàn và thuận tiện. Sản phẩm cốt lõi của công ty, nền tảng tự lưu trữ MPC SINOHOPE, sử dụng công nghệ MPC-CMP để hỗ trợ quản lý phân tán của người dùng về bảo vệ khóa riêng và chữ ký cộng tác, giải quyết rủi ro một điểm của khóa riêng và tăng tính minh bạch và dễ sử dụng một cách hiệu quả.
SINOHOPE tuân thủ các nguyên tắc dịch vụ về an toàn, tuân thủ, tính chuyên nghiệp và đa dạng hóa, đồng thời cung cấp các dịch vụ công nghiệp hỗn hợp tập trung và phi tập trung đơn giản và dễ sử dụng trên cơ sở nền tảng tự quản lý MPC và các dịch vụ lưu ký tài sản kỹ thuật số được cấp phép, nó cũng cung cấp. Nó cung cấp các dịch vụ giao dịch khối OTC tùy chỉnh, quản lý tài sản ảo và các dịch vụ giải pháp xây dựng sản phẩm Web3 một cửa được thiết kế đặc biệt dành cho các nhà phát triển cho các tổ chức và khách hàng có giá trị ròng cao.
Trang web của công ty: www.sinohope.com
Tư vấn nhà đầu tư: [email protected]
Yêu cầu truyền thông: [email protected]
Tất cả bình luận