用戶體驗(UX)描述了人們在與系統或服務交互時的感受,包括多個因素,包括可用性、設計、營銷、可訪問性、性能、舒適度和實用性。唐諾曼曾經說過,
“萬物皆有個性;一切都發出了情感信號。即使這不是設計師的本意,瀏覽網站的人也會推斷出個性并體驗情感。糟糕的網站具有可怕的個性,通常在不知不覺中向用戶灌輸可怕的情緒狀態。我們需要設計東西——產品、網站、服務——來傳達任何想要的個性和情感。”以太坊的個性是一個極其高深莫測且容易被誤解的人。更糟糕的是,大多數用戶在使用您的界面或錢包時甚至不會將其視為與以太坊進行交互。如果你曾經在Artblock拍賣的實時聊天中,你會注意到拍賣一結束,至少有十幾個人抱怨他們沒有搶到份額是Metamask的錯。我認為在過去的一年里,以太坊上許多dapp的用戶體驗在產品交互和交易的可解釋性方面都有了很大的改進。在大多數情況下,dapps不再只是在您簽署交易后給您留下一個加載微調器。
即使dapps的設計總體上在改進,但我不確定UX研究的深度。當我看到對各種協議的數據分析或研究時,用戶大多被視為同質的。根據我所看到的UniswapV3流動性提供商和RabbitholeQuesters的一些分析,這種情況有所改變,但即便如此,這些分析仍主要集中在剛剛確認的鏈上交易上。根據我自己的經驗,大多數情緒誘發和行為怪癖發生在我提交、等待、加速或取消交易時。對于某些應用程序,用戶可能會在提交交易后離開并去做其他事情。但是對于像Artblock的拍賣這樣的產品,他們會一直待到確認發生為止,可能會檢查所有可能的更新并增加焦慮。
我認為通過開始更多地利用內存池,我們可以更好地理解用戶行為和摩擦。內存池是節點臨時存儲未確認交易的地方。這意味著如果您提交、加速或取消您的交易,那么這些操作將首先顯示在內存池中。需要注意的是,來自內存池的數據并未存儲在節點中,因此您無法像查詢已確認交易那樣查詢歷史數據。從這里,您可以看到他們提交了一些交易,將交易加速了很多次,但遠未達到所需的gas價格,最終在20個區塊后看到了確認。我相信這是用戶體驗和他們在整個過程中可能感受到的情緒的一個很好的代表。如果我們了解不同用戶群體在這個循環中的行為,我們就可以弄清楚如何補充他們的決策或緩解他們的焦慮。據我所知,幾乎只有以太坊基金會、所有核心開發人員和一些錢包團隊出于用戶體驗的原因利用內存池數據。
用戶體驗研究論文:通過隨著時間的推移通過拍賣查看用戶的行為以及他們的錢包歷史,我們可以開始為不同的用戶群體提供行為身份。從這里,我們可以確定要嘗試緩解的主要問題。為此,我們將使用Blocknative獲取一個月的ArtblocksAuctions數據,并使用Dune查詢對這些地址的歷史進行分層。
這篇文章將比我之前的一些文章更具技術性,因為我相信這項工作可以而且應該很容易推廣。我想強調的是,我的背景不是用戶體驗研究,我純粹是在嘗試我認為加密原生用戶體驗研究的樣子。
數據來源和預處理所有拍賣數據
如果你對技術位不感興趣,請跳到下一節——關于特征工程
美國銀行:預計各國央行將繼續專注于抗擊通脹,并傾向于鷹派立場:金色財經報道,美國銀行表示,澳洲聯儲和加拿大央行本周的意外加息向我們表明,它們完全意識到了通脹粘性可能比預計的更強的風險。澳洲聯儲和加拿大央行本應按兵不動。其他央行可能會效仿。我們預計各國央行將繼續專注于抗擊通脹,并傾向于鷹派立場。 鑒于通脹仍然如此之高,就業如此強勁,市場對緊縮政策的反應相對較好,3 月份的銀行業沖擊也得到了遏制,我們認為各國央行沒有任何理由不這么做。 到目前為止,經濟還沒有任何破裂的跡象表明央行的政策出現錯誤,而最有可能的是,有些事情必須破裂,通脹才能充分降低。這一觀點的風險在于,如果一些央行,尤其是美聯儲,對數據中出現的疲弱跡象感到猶豫。在我們看來,這將導致政策錯誤,因為它影響了必要的著陸,并導致了加息政策的不連續。[2023/6/12 21:31:01]
Blocknative和Mempool數據流
使用Blocknative的Mempool瀏覽器,您可以過濾提交給特定合約或來自特定錢包的交易。就我而言,我想聽聽Artblock的NFT合約列入白名單的鑄幣合約。您可以在此處找到我使用的流,如果您想使用完全相同的設置,請將其保存下來。
您可以在其子圖?中使用以下查詢找到列入白名單的鑄幣地址:
{contracts(first:2){idmintWhitelisted}}獲得所有購買的訂閱過濾器需要三個步驟:
使用“創建新訂閱”按鈕添加新地址單擊地址旁邊的“ABI”按鈕添加ABI。就我而言,我只需要“購買”功能。{"inputs":,"name":"purchase","outputs":,"stateMutability":"payable","type":"function"}
3.為methodName匹配購買添加過濾器
最后,您的設置應如下所示:
為了存儲這些數據,我創建了一個ngrok/express端點來存儲在本地運行的SQLite數據庫中。我創建了一個GitHub模板?,其中包含復制此設置的步驟。可能這里要記住的最重要的一點是,在Blocknative帳戶頁面中將POST端點添加為webhook時,您需要將POST端點作為ngrokURL的一部分。
關鍵預處理函數
多個交易哈希
當您加速或取消交易時,原始交易哈希將替換為新交易。這意味著如果您想在其整個生命周期中跟蹤用戶的交易,您需要將新交易哈希與原始交易哈希進行協調。假設您將交易加速五次,您將擁有總共六個哈希值。我通過將tx_hash的字典映射到新的replaceHash來調和這一點,然后遞歸替換。
replaceHashKeys=dict(zip(auctions,auctions))#assigntx_hashbasedonreplacements,justtokeepconsistency.replaceHashKeys.pop("none")#removenonekeydefrecursive_tx_search(key):ifkeyinreplaceHashKeys:returnrecursive_tx_search(replaceHashKeys)else:returnkeyauctions=auctions.apply(lambdax:recursive_tx_search(x))
數據:ETH波段交易巨鯨于今日凌晨1:30買入8800枚ETH:6月6日消息,據鏈上數據分析師余燼監測,昨晚市場下跌后,其監測的某個 ETH 波段交易巨鯨地址于今日凌晨 1:30 將 1590 萬 USDT 轉入 Binance 平臺,半小時后從 Binance 提幣 8800 枚 ETH,買入均價可能為 1807 美元。
據悉,該地址此前于 5 月 29 日 ETH 上漲后將 23,085 枚 ETH(價值約合 4416 萬美元)轉入 Binance,當時 ETH 價格為 1913 美元。[2023/6/6 21:18:15]
區塊編號問題
刪除的交易的區塊號為0,所以為了解決這個問題,我按時間戳按升序對數據幀進行排序,然后進行向后填充,這樣0就會被它放入的正確區塊號替換。這是功能的重要修復工程。
auctions=auctions.sort_values(by="timestamp",ascending=True)auctions=auctions.replace(to_replace=0,method='bfill')#dealwithdroppedtxsthatshowasblocknumber0
在主要拍賣期間處理鑄造
對于大多數項目,藝術家會在拍賣向公眾開放之前鑄造一些作品。有些項目不會立即售罄,因此在拍賣開始幾天后,您仍會收到鑄造。我的分析集中在關鍵的拍賣時段,主要是前30分鐘。為了擺脫上面的兩個鑄造案例,我刪除了基于區塊編號的異常值。
to_remove_indicies=forprojectinlist(set(auctions)):auction_spec=auctions==project]all_times=pd.Series(list(set(auction_spec.blocknumber)))to_remove_blocktimes=all_timesiflen(to_remove_blocktimes)==0:breakto_remove_indicies.extend(auction_spec.index.isin(to_remove_blocktimes)].tolist())auctions.drop(index=to_remove_indicies,inplace=True)
添加荷蘭拍賣價格
對于數據集中除項目118之外的所有項目,均使用荷蘭式拍賣價格格式。我使用dune查詢獲取薄荷價格數據,然后將其合并到數據集上。我不得不對有內存池操作但在拍賣期間沒有確認的塊使用向前和向后填充。
auction_prices=pd.read_csv(r'artblock_auctions_analytics/datasets/dune_auction_prices.csv',index_col=0)auctions=pd.merge(auctions,auction_prices,how="left",left_on=,right_on=)auctions.sort_values(by=,ascending=True,inplace=True)auctions.fillna(method="ffill",inplace=True)auctions.fillna(method="bfill",inplace=True)
Gary Gensler在2018年對以太坊的看法與最近截然不同:金色財經報道,根據Gary Gensler的說法,SEC在2018年對第二大加密貨幣以太坊的看法截然不同。美國證券交易委員會主席Gary Gensler最近似乎回避了關于以太坊和其他加密資產是否屬于證券的問題,但他在2018年似乎確實很有信心。推特上出現了一段視頻,顯示最高監管機構在麻省理工學院發表演講。在其中,他說以太坊在美國證券交易委員會眼中不是證券。[2023/4/30 14:35:25]
每次拍賣的特征工程
如果您對技術部分不感興趣,只需閱讀粗體部分并跳過其余部分。
在數據科學中,特征是從更大的數據集計算出來的變量,用作某種模型或算法的輸入。所有特征都在preprocess_auction函數中計算,并且每次拍賣都會計算,而不是將所有拍賣組合成一個特征集。
第一組特性是交易狀態的總數,是一個簡單的pivot_table函數:
number_submitted:提交的交易總數cancel:以取消結束的交易計數failed:以失敗結束的交易計數dropped:以丟棄結束的交易計數confirmed:以確認結束的交易計數我之前提到過,由于各種問題,一些數據沒有用于拍賣,這些交易從數據集中刪除。
下一組特性包括它們的gas行為。這里的關鍵概念是捕捉他們的交易gas與每個區塊的平均確認gas相差多遠。然后,我們可以為整個拍賣的gas價格距離的平均值、中位數和標準差創建特征。有一堆轉置和索引重置以按正確的順序獲取區塊編號列,但重要的函數是fill_pending_values_gas,它在捕獲的操作之間向前填充gas價格。這意味著,如果我在區塊編號1000處使用0.05ETH的gas進行交易,而我的下一個操作是在區塊編號1005之前我加速到0.1ETH的gas,那么此函數將用0.05ETH填充編號1000-1005之間的區塊。
deffill_pending_values_gas(x):first=x.first_valid_index()last=x.last_valid_index()x.loc=x.loc.fillna(method="ffill")returnx
第三組特性是計算拍賣中采取的行動的總數和頻率。在這里,我們從每個塊的總操作的支點開始,并進行一些特殊計算以獲取每個事務的第一個待處理實例:
get_first_pending=df=="pending"]#firstsubmittedget_first_pending=get_first_pending.drop_duplicates(subset=,keep="first")auctions_time_data=pd.concat(=="speedup"]],axis=0)time_action=auctions_time_data.pivot_table(index=,columns="blocknumber",values="status",aggfunc="count")\.reindex(set(df),axis=1,fill_value=np.nan)
英偉達CTO:加密貨幣并沒有為社會提供重大價值:3月27日消息,芯片制造商英偉達(Nvidia)首席技術官Michael Kagan最近在接受《衛報》采訪時,對加密貨幣的好處表示懷疑。Kagan表示,盡管英偉達強大的處理器受到加密領域的高度追捧,但加密貨幣并沒有為社會提供重大價值。
在采訪中,Kagan贊揚了ChatGPT等人工智能應用程序的優點,認為它們比加密貨幣挖礦具有更大的社會影響潛力。(U.Today)[2023/3/27 13:28:51]
從這里我們通過三個步驟到達average_action_delay:
我們對每個區塊采取動作action的數量我們在沒有動作的情況下丟棄區塊,然后計算剩余區塊編號之間的差值。我們為每個區塊采取的每個額外動作添加一個0。對差異和給我們average_action_delay的添加的0取平均值,defget_actions_diff(row):row=row.dropna().reset_index()actions_diff_nominal=list(row.diff(1).fillna(0))#taketheblockswithmulipleactionsandsubtractone,thensumup.zeros_to_add=sum(]])actions_diff_nominal.extend(list(np.zeros(int(zeros_to_add))))actions_diff=np.mean(actions_diff_nominal)if(actions_diff==0)and(zeros_to_add==0):return2000#meaningtheynevertookanotheractionelse:returnactions_diff
total_actions簡單得多,因為它只是整個樞軸的動作總和。
time_action=time_action.iloc.sum(axis=1)
最后一個依賴時間的特性是block_entry,由于引入了荷蘭式拍賣,這是一個重要的特性。本質上,這會跟蹤自開始以來提交事務的區塊。
get_first_pending=get_first_pending-get_first_pending.min()entry_pivot=get_first_pending.pivot_table(index="sender",values="block_entry",aggfunc="min")
price_eth也被添加為一個特性,它與block_entry點相關聯。
最后一組特性基于Dune查詢,特別是自第一次交易以來的天數、交易中使用的總gas以及交易總數。為了以正確的格式獲取地址數組,我在讀入SQL數據后使用了以下代碼行:
all_users=list(set(auctions.apply(lambdax:x.replace('0x','\\x'))))all_users_string="('"+"'),('".join(all_users)+"')"
美聯儲主席鮑威爾:加息還有一段路要走:金色財經報道,美聯儲主席鮑威爾表示,加息50個基點仍然算很大;加息還有一段路要走;之后的貨幣政策決定將取決于將公布的整體數據;將繼續逐次會議上做出決定;歷史教訓強烈警告不要過早放松政策,將堅持到任務完成為止;加息速度不再是最重要的問題,利率的最終水平更重要。2月加息的規模將取決于接下來的數據;需要將利率維持在峰值,直到美聯儲真正確信通脹正在持續下降;美聯儲對2023年的利率預測代表峰值利率。預計明年通脹將大幅下降,但年初的起跳點會較高,在確信通脹率向2%靠攏之前不會降息;到目前為止,10月和11月的通脹數據確實顯示出價格壓力減輕,不過需更多證據才能確信通脹正在下降。[2022/12/15 21:45:34]
對此的Dune查詢相當簡單。我將地址字符串粘貼到VALUES下,并制作了一些CTE以獲得我想要的功能。在最后的SELECT中,我也嘗試添加每個地址的ens。您可以在此處找到查詢:https://dune.xyz/queries/96523
最后,我們只是合并了每個錢包的活躍天數、使用的總gas和交易總數的數據。
auctions_all_df=pd.merge(auctions_all_df,wh,on="sender",how="left")auctions_all_df.set_index(,inplace=True)
完成所有這些后,我們終于準備好運行一些有趣的無監督學習算法,并嘗試驗證我們對用戶群的假設。
聚類和可視化用戶組
在我開始這個項目之前,我預計會看到以下用戶組從數據中彈出:
設置然后忘掉:這里應該有兩個群體,那些設置了非常高的gas和平均/低gas的交易,然后在拍賣的剩余時間里不要碰它。加速:這里也應該有兩個群體,一類是經常加速并直接更新交易作為gas價格的因素,一類是經常加速交易但gas價格基本上沒有變化的人。我對驗證這些群體非常感興趣,看看每個群體有多大,看看是否有用戶在多次拍賣過程中在群體之間移動。最簡單的方法是使用無監督機器學習,根據所有特征的可變性來識別用戶組群。從本質上講,這就像查看一個州的收入分配,然后將其分成不同收入集中度、地理坐標和年齡的子分配。請注意,這不是分箱,其中分布被分成相等的范圍-它是根據整個范圍內的觀察密度計算的。我們將采用的方法稱為“無監督”,因為我們的數據集沒有任何現有標簽,而不是像回歸分析這樣的方法,其中預測的值可以被驗證為正確或錯誤。
我決定使用的算法稱為k-means,其中k代表您希望識別的集群數量。每個集群都有一個“質心”,就像一個圓的中心。有多種方法可以確定最佳集群的數量,我使用的兩種方法是肘點和輪廓分數。這兩種提問方式都很奇葩,
“每個額外的集群是否有助于增加集群的密度并保持集群之間的足夠分離?”我發現3個集群在大多數慣性改進方面是最佳的,同時保持高輪廓分數。
本次分析使用了6次拍賣
選擇集群后,我們希望能夠可視化并驗證它們的存在。這里有超過15個變量,因此我們需要減少維數以繪制它。減少維數通常依賴于PCA或t-SNE算法,在我們的例子中我使用了t-SNE。不要太擔心理解這部分,這些算法本質上捕獲所有特征的方差,為我們提供X和Y分量,使點彼此的傳播最大化。
讓我們從8月4日看看項目118,LeWittGeneratorGenerator:
這些是使用KDE計算的按集群劃分的每個變量的子分布。顏色與上述集群中的顏色相匹配。
在查看了每個變量的子分布和一些數據示例后,我能夠對集群進行分類。Orange集群是速度最快的組,同時平均提交的gas交易也略低。Blue和Green集群彼此表現出相似的行為,但Blue中的地址通常比Green集群中的地址具有更少的歷史記錄。
縱觀全局,原來的“提速”和“高低設置”產生兩組的假設似乎是錯誤的。相反,我們有一個“加速”群體和一個“一勞永逸”群體。我認為“設置并忘掉”群體中的新錢包與舊錢包可能在實際用戶中有很多重疊,用戶只是創建了新錢包來競標更多的鑄幣。基于他們的不耐煩和低于平均水平的gas價格,“加速”群體在我看來要么經驗不足,要么比其他用戶更貪婪。在整個拍賣過程中,這群人似乎也相當焦慮。令我驚訝的是,加速群體占投標者總數的比例較小,因為我曾預計該群體占投標者的60-70%,而不是30%。
現在,這個用戶行為研究真正有趣的地方在于將項目118與項目140。
這是8月21日開始的項目140GoodVibrations的集群聚集:
我們可以看到,現在大部分聚類變異性來自block_entry、price_eth和所有gas_behavior特征。這與項目118的主要變量大相徑庭。在118中,設定價格意味著人們以相當均勻的分布進入拍賣,而“加速”群體使行動相當無休止-可能非常焦慮。
在項目140中,我們在average_action_delay或total_actions中沒有看到相同的動作差異,相反,我們可能看到相同的“加速”群體在非常晚的階段進入并設置遠低于平均水平的gas價格,如平均gas行為。綠色集群可能代表比橙色集群有更多經驗的用戶,但他們的行為仍在橙色和藍色之間轉換。如果我嘗試將其映射到118中的集群,我相信“加速”群體現在已成為進入較晚并發出低gas量的“貪婪”群體。“設置并忘記”群體很好地映射到“早搶”群體,因為他們都表現出很好的耐心和足夠的gas投標安全性凈值。
我稱橙色群體為“貪婪”,不僅因為他們的行為,還因為他們的交易失敗率。
對于項目118,“加速”群體與“設置并忘掉”群體的失敗率在10-15%之間。
percent_losttakes(cancel+dropped+failed)/number_submitted
對于項目140,“貪婪”集群的失敗率約為69%,而“早期搶奪”群體的失敗率約為5-15%。
總的來說,我對此的理解是,該團體的壞習慣和情緒被放大了——我覺得我們在焦慮→貪婪之間做出了權衡。這可能使拍賣的壓力較小,但最終導致更多用戶感到不安。
我確信可以進行更細粒度的分析,以根據工廠/策劃/游樂場或藝術家本人對拍賣進行進一步細分。隨著社區的不斷發展,這只會變得更加有趣和復雜,并且情緒在單次拍賣和未來拍賣中是否回歸都會發揮更大的作用。
這項對多次拍賣的研究幫助我們驗證了我們的假設,了解用戶組的比例,并了解用戶的好壞行為如何隨時間變化。現在我們需要將其插入到產品周期流程的其余部分中。
我們從哪里開始:
我為此只選擇Artblocks拍賣而不是混合平臺的原因是因為我想尋找一個可以控制界面和項目類型可變性的地方。這應該為我們提供了相當一致的用戶和行為類型。
這只是UX研究周期的開始,因此理想情況下,我們可以繼續以下步驟:
使用無監督機器學習算法來識別用戶群體并查看有多少人在進入拍賣時犯了“錯誤”。這是我們今天介紹的步驟?。創建一個新的用戶界面,例如出價屏幕上的直方圖視圖,或顯示大多數人通常何時進入/擁擠拍賣以及以什么價格參加的歷史數據。任何可以為用戶提供當前和歷史背景的東西,尤其是來自速度集群的那些。在每次拍賣中,通過創建的算法運行內存池/錢包數據,以查看用戶群體是否發生了變化,以及特定用戶是否“學會”以不同方式參與拍賣。我認為如果做得好,可以在這一步中找到最大的價值。使用ENS或其他標識符來幫助補充這個分組也會成倍地有用。根據結果??,繼續迭代用戶界面和設計。您還可以運行更明智的A/B測試,因為您甚至可以通過基于用戶的最后一個集群進行有根據的猜測來確定要顯示的屏幕。荷蘭式拍賣風格的變化也是第2步的一個例子,我們能夠看到用戶行為的明顯轉變。雖然通常這種A/B測試側重于提高參與度或轉化率,但我們在這里優化的是用戶的學習和改進能力。如果在多平臺背景中進行迭代,這可能會變得更加健壯,以便我們可以研究某人如何在生態系統級別進行學習。由于我的Artblocks用戶研究全部基于公開來源的數據,因此可以被任何其他拍賣/銷售平臺復制和補充。加密可能是第一個擁有同步且透明的用戶組和用戶體驗研究的行業,可應用于產品和學術界。Nansen錢包標簽已經朝著這個方向邁出了一步,但是當來自不同產品的團隊從不同的方面和方法構建它時,情況就不一樣了。
我最終的設想是使用數據來構建以下用戶角色:
我想購買一個Fidenza,所以我可以通過私人銷售購買一個,自己也可以在拍賣會上出價,在prtyDAO出價拍賣中出價,或者通過fractional.art購買一小部分。我一般喜歡Fidenzas,所以我只會購買NFTXFidenza指數代幣或fractional.art上的ArtblocksNFT籃子。我已經是一個收藏家,所以我想使用我已經持有的一組精選的NFT和ERC20交換或競標Fidenza。我喜歡通過初始鑄造與二級市場進行收購的熱潮,并大量參與Artblocks在線鑄造之類的拍賣。我希望你覺得這個項目有趣和/或有幫助,我玩得很開心。感謝Blocknative的人們為我提供幫助,感謝Artblocks的社區回答我的許多拍賣問題。與往常一樣,如有任何問題或想法,請隨時與我們聯系!
您可以在此處找到包含所有數據和腳本的GitHub存儲庫。該腳本可能有點難以閱讀,因為我仍在重構和清理它。當我分析8月最后幾次拍賣的新模式時,這里的腳本和一些分析可能會更新。
Tags:IONCTIONSAUCTIONMission HeliosData Transaction TokenYF MoonshotEOS Auction
2021年上半年NFT的銷售額超過了25億美元;可口可樂將與Tafi合作推出其首款NFT收藏品.
1900/1/1 0:00:001.背景介紹 自2018年以來,Vitalik一直主張二次方融資作為一種在去中心化的、自組織的生態系統中生成最優公共產品供應的方法。QF面臨的最具挑戰性的問題之一是共謀.
1900/1/1 0:00:00巴比特訊,8月20日,據Opensea數據顯示,NFT卡牌游戲Parallel近24小時銷量1956個ETH,價值約631萬美元,超過CryptoPunks,位居Opensea第一位.
1900/1/1 0:00:00近日,天河國云對外宣布獲近億元A輪融資,本輪融資由財信產業基金領投,多家風投基金跟投。天河國云董事長兼CEO譚林博士稱,融資將主要用于區塊鏈核心技術攻關、人才梯隊建設與應用場景開發,充分挖掘區塊.
1900/1/1 0:00:00巴比特訊,8月11日,SushiSwap首席技術官JosephDelong發推表示,SushiSwap之所以選擇Arbitrum而非Optimism作為二層擴容方案.
1900/1/1 0:00:00據TheBlock9月14日報道,鏈上數據分析初創公司Amberdata宣布完成1500萬美元A輪融資.
1900/1/1 0:00:00